DeepSeek Harness (DSH) 的 Web 界面目前没有原生功能来查看 API 余额或本次对话的具体消耗。开发者通常需要手动切换到官方平台或查看日志。dsh-web-api-balance 插件通过在输入框旁提供一个常驻胶囊来解决这个问题,悬停展开后可查看账户余额与本次对话的消耗明细。
这是一个由 Charaaah 维护的客户端插件。它通过在输入框工具栏常驻显示余额胶囊,并支持悬停展开详情,解决了在开发过程中实时监控 API 使用情况和费用的问题。
核心功能¶
- 常驻余额胶囊:在输入框工具栏显示 DeepSeek API 总余额。
- 悬停展开详情:
- 左栏显示账户余额(总余额、赠送余额、更新时间)。
- 右栏显示本次对话消耗(包含缓存命中、缓存未命中、输出分档)。 - 峰谷自动判断:根据工作日特定时间段(北京时间 9:00-12:00 和 14:00-18:00)自动切换价格档位。
- 充值入口:胶囊右侧滑出可充值区域,优先使用账号服务的充值地址,否则使用官方平台地址。
- 多凭证来源:支持从账号授权、已保存的 API Key 或环境变量获取余额。
- 余额缓存:支持配置缓存窗口(
refreshSeconds),避免频繁请求接口。 - 技术实现:无构建步骤、无外部依赖。
安装与配置¶
安装插件需要使用官方安装命令,建议钉死版本号。
dsh plugin --profile web add dsh-web-api-balance@1.0.5
安装后,需要在 Web Profile 的配置文件中启用并配置参数。配置文件位于 ~/.dsh/profiles/web/cordis.patch.yml:
- id: dsh-web-api-balance
disabled: false
inject: [webServer]
config:
apiKey: '' # 单独指定 key 时填 sk-...(优先级最高)
apiKeyEnv: DEEPSEEK_API_KEY # 否则用这个凭证引用 / 环境变量名
baseURL: https://api.deepseek.com
refreshSeconds: 300 # 缓存窗口,30-86400 秒
插件会按照“账号授权” → “config.apiKey” → “凭证服务的 apiKeyEnv” → “同名环境变量”的顺序获取凭证。
卸载与清理¶
卸载插件使用以下命令:
dsh plugin --profile web remove dsh-web-api-balance
此命令仅会卸载包并删除 package.json 中的依赖项。若要彻底卸载,需要手动编辑 ~/.dsh/profiles/web/package.json 删除依赖行。此外,卸载不会删除 ~/.dsh/.credentials.yaml 中的 DEEPSEEK_API_KEY,也不会删除 localStorage 中的 dsh-web-api-balance:last 缓存数据。
注意事项¶
- 隐私安全:插件不包含任何凭证,不向任何地方回传数据。API Key 仅在运行时从配置或凭证服务读取,且不会进入浏览器环境(通过 host.js 转发请求)。
- 价格表:价格表是写死的,不包含未知模型的价格。
- 累计用量:显示的是当前会话的累计用量,不含子代理,也不是账号的历史账单。
- 节假日:峰谷判断基于北京时间,不含法定节假日,法定假日的工作日仍会显示高峰价档位。
总结¶
dsh-web-api-balance 为 DSH Web 界面提供了轻量级的余额监控能力。通过胶囊展示与悬停详情,开发者可以直观地掌握当前 API 余额及本次对话的 Token 消耗。源码与文档位于 GitHub。