02Muller25/dsh-api-balance ↗★ 0
api-balance
Real-time DeepSeek API account balance readout for the DeepSeek Harness web GUI (dsh web).
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:02Muller25/dsh-api-balance说明文档
阅读完整 README ↗api-balance
实时显示 DeepSeek API 账户余额的 DeepSeek Harness(dsh web)插件。 Real-time DeepSeek API account balance readout for the DeepSeek Harness web GUI.
在会话输入框下方的读数带(conversation.composer.dock)显示:
API 余额 CNY 18.22 · 可用 · 14:32:05 更新
- 每 30 秒自动刷新(挂载时立即查询一次)
- 刷新模式可选:手动刷新 / 每 10 秒 / 每 30 秒 / 每 1 分钟 / 每 5 分钟 / 自定义间隔;选择「自定义…」会弹出输入窗口(范围 5–3600 秒,含校验与错误提示),偏好保存在浏览器 localStorage,刷新页面后仍保留
- 手动模式下点击「刷新」按钮即时刷新;自定义间隔确认后即时生效
- 刷新失败时保留上次数据并显示黄色「刷新失败」,悬停可见具体原因,下一次自动轮询自动恢复
- 余额不可用时显示红色「不可用」
- API 密钥通过 dsh 的 credentials 服务按需解析(
DEEPSEEK_API_KEY),不出宿主进程
架构
| 文件 | 平台 | 作用 |
|---|---|---|
lib/index.js | Host | 注册精确路由 GET /api/abal-balance;每次请求实时解析凭证并 curl https://api.deepseek.com/user/balance |
lib/client.js | Client (web) | 手工编写的 window.__ModuleLoader__.load 格式 bundle(dsh web 的标准客户端包格式,无需构建管线);在输入框读数带渲染余额,每 30s fetch 刷新 |
lib/client.d.ts | — | 客户端类型占位 |
依赖的宿主服务:webServer、credentials、shell、sandboxPolicy(均为 dsh 标准服务)。
客户端侧仅依赖 react(种子模块)与 slots 服务。
说明:curl 调用以
danger-full-access策略运行 —— 它是只读网络请求、无文件副作用,绕过平台沙箱 runner 是刻意的(在 Windows ACL 受限令牌下该请求已验证会失败)。
安装(在目标 dsh web 部署上)
本仓库声明了 dsh.bundle manifest,可直接用 GitHub 依赖安装(推荐):
dsh plugin --profile web add github:02Muller25/dsh-api-balance
或手动放置:
- 将本包放入 profile 的 node_modules:
$DSH_HOME/profiles/node_modules/api-balance/(完整目录,含package.json、cordis.patch.yml与lib/)。 - 在 profile 的
cordis.patch.yml追加(必须是insert块 —— 补丁语义只允许新增行,普通条目只能覆盖已有行;仓库根目录已附一份可直接参考):
- insert:
- id: api-balance
name: 'api-balance'