前言¶
在 DSH 的插件式扩展方式里,一些界面信息可以通过独立插件接入 dsh web。下面介绍 02Muller25/dsh-api-balance,它解决的问题是把 DeepSeek API 账户余额放进 dsh web 的会话界面中查看,不需要每次都离开当前工作区去查余额。
这是什么¶
dsh-api-balance 是一个实时显示 DeepSeek API 账户余额的 DeepSeek Harness(dsh web)插件,由 02Muller25 维护,MIT 许可证。
它会在会话输入框下方的读数带 conversation.composer.dock 显示余额、状态与更新时间。
核心功能¶
插件提供的已核实能力包括:
- 实时显示 DeepSeek API 账户余额
- 在
conversation.composer.dock显示余额、状态与更新时间 - 每 30 秒自动刷新,挂载时立即查询一次
- 刷新模式可选:手动 / 每 10 秒 / 每 30 秒 / 每 1 分钟 / 每 5 分钟 / 自定义间隔(5–3600 秒)
- 手动模式下点击「刷新」按钮即时刷新
- 刷新失败时保留上次数据并显示原因,下一次自动轮询恢复
- 余额不可用时显示红色「不可用」
- API 密钥通过
dsh credentials服务按需解析DEEPSEEK_API_KEY,不出宿主进程
安装¶
插件要求 Node.js:
>=20
在目标 dsh web 部署上,可以使用仓库给出的安装命令:
dsh plugin --profile web add github:02Muller25/dsh-api-balance
这条命令明确指定了 --profile web。已核实资料没有给出其他 profile 的通用安装命令。
手动放置¶
如果不通过 GitHub 依赖安装,可以手动放置包:
- 将完整包放入 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'
- 重启 dsh web 服务。
注意:若对 profile 执行 pnpm install,手动放入 node_modules 的包可能被清理。
启用、禁用与卸载¶
- 启用:通过补丁 + 重启完成
- 禁用:在补丁条目加
disabled: true并重启 - 卸载:删除补丁条目和
profiles/node_modules/api-balance/后重启 - 设置 → 插件市场列表只读,启停通过补丁 + 重启完成
典型用法¶
插件挂载后会先查询一次余额,然后按当前刷新模式工作。
可选择的刷新模式包括:
手动
每 10 秒
每 30 秒
每 1 分钟
每 5 分钟
自定义间隔:5–3600 秒
选择「自定义…」后,输入范围外的值会被校验。刷新偏好保存在浏览器 localStorage 键:
dsh.api-balance.refresh
手动模式下,点击「刷新」按钮即可即时刷新。
刷新失败时,插件会保留上次数据并显示原因,下一次自动轮询恢复。余额不可用时显示红色「不可用」。
依赖与运行位置¶
插件依赖 dsh 宿主服务:
webServer
credentials
shell
sandboxPolicy
客户端侧依赖:
react
slots
余额请求以 danger-full-access 策略运行。它是只读网络请求,并绕过平台沙箱 runner。
凭证读取位置:
credentials.resolve('DEEPSEEK_API_KEY')
余额接口由 lib/index.js 中的 BALANCE_URL 定义。
适用场景与注意¶
适合需要在 dsh web 会话界面中查看 DeepSeek API 余额、状态与更新时间的用户。
安装前应检查源码与 MIT 许可证。该插件的余额请求通过 dsh 宿主侧服务执行,并以 danger-full-access 策略运行,会绕过平台沙箱 runner;使用前应确认当前环境对这类请求是允许的。
目录页与 GitHub¶
- 目录页:https://www.skillhub.cn/plugins/02Muller25/dsh-api-balance
- GitHub:https://github.com/02Muller25/dsh-api-balance