前言¶
在使用 DeepSeek API 进行开发或部署智能体时,实时掌握账户余额以及当前处于计费周期的哪个阶段(高峰/空闲),有助于进行成本控制。DeepSeek Harness(DSH)支持通过插件扩展功能,dsh-deepseek-balance 正是为此设计的 Web 侧边栏插件。
插件概览¶
该插件由开发者 Jianwen-Xu 维护,采用 MIT 许可证。它通过组合包(bundle)的形式挂载到 DSH Web 的侧边栏,提供余额展示、计费时段判断及倒计时功能。
核心功能¶
- 余额与币种显示:展示总余额及货币单位,悬停可查看赠送余额与充值余额明细。
- 计费时段判断:本地计算北京时间。周一至周五 09:00–12:00、14:00–18:00 为高峰时段,其余时间为空闲时段(价格为高峰价的一半)。
- 倒计时:徽标显示距下一次时段切换的剩余时间。
- 状态指示:显示账户状态点(绿=正常、黄=不可用、红=读取失败、蓝=加载中)。
- 自适应布局:侧边栏收起时,显示为单个钱包图标加右下角状态点,悬停显示完整信息。
安装与启用¶
使用官方安装命令将插件加入指定的 profile:
dsh plugin --profile web add github:Jianwen-Xu/dsh-deepseek-balance
注意 pnpm 版本:如果使用 pnpm >= 10 从 GitHub 安装,首次执行 add 可能会因默认拒绝执行 git 依赖的构建脚本而失败。此时需要在该 profile 的 pnpm-workspace.yaml 中添加 allowBuilds 配置:
allowBuilds:
dsh-deepseek-balance: true
配置与使用¶
插件按优先级解析 API Key:
1. 凭据服务 ctx.credentials.resolve('DEEPSEEK_API_KEY')(推荐,可在 Web 的 Models 设置页保存,或写入 ~/.dsh/.credentials.yaml)。
2. 进程环境变量 DEEPSEEK_API_KEY。
若 API Key 缺失,接口会返回 {"ok":false,"code":"no-api-key"},UI 显示红色状态点。
接口说明¶
插件提供 GET 接口查询余额与状态:
GET /deepseek-balance?refresh=1
响应示例:
{
"ok": true,
"isAvailable": true,
"display": { "currency": "CNY", "totalBalance": "17.49", "grantedBalance": "0.00", "toppedUpBalance": "17.49" },
"peakHour": false,
"peakLabel": "空闲",
"nextLabel": "高峰",
"nextSwitchAt": 1789347657403,
"fetchedAt": 1789125085432
}
注意事项¶
- 本地开发:本地 checkout 源码后,需要手动运行
pnpm build生成lib/目录,否则安装无法生效。 - 时区处理:插件内部将时间平移 8 小时再读取 UTC 字段,结果与宿主时区无关,确保北京时间的准确性。
- 缓存与刷新:接口响应带有
Cache-Control: no-store头,手动刷新需在 URL 后加?refresh=1。
源码与目录¶
插件源码位于 GitHub:https://github.com/Jianwen-Xu/dsh-deepseek-balance。