dsh-deepseek-balance:DSH 侧边栏余额与计费时段监控

前言

在使用 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。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜