使用 dsh-balance-monitor 在 DeepSeek Harness 侧边栏查看余额与今日花费

前言

DeepSeek Harness(dsh)是 DeepSeek 开源的智能体运行时,官方仓库把它概括成一句话:Everything is a Plugin(一切皆插件)。模型、工具、会话、UI 都由 Cordis 插件拼出来,开发者不用改核心源码,就能在配置层挂上自己的能力。当前仍是 developer preview,官方明确写了会有破坏性变更。

日常用 Web UI 跑智能体时,另一个很具体的问题是:DeepSeek API 还剩多少钱、今天已经烧掉多少。官方提供了 GET /user/balance 接口,但默认界面不会把这笔账钉在侧边栏。社区插件 dsh-balance-monitor 做的就是这件事:把余额、剩余比例条和今日花费,放在侧边栏底部、设置按钮上方。

需要先说明来源。本文介绍的是维护者 jelly-000 的仓库,目录页在社区站点 DeepSeek Harness 插件库。该站点是独立运营的社区目录,与 DeepSeek / 幻方没有从属或背书关系;同名或相近的余额插件还有好几份,安装时请认准 github:jelly-000/dsh-balance-monitor,不要只按包名搜索。

这是什么

dsh-balance-monitor 是一款 界面增强 插件,许可证 MIT,主要语言 JavaScript。package.json 中的版本为 0.1.2,并声明 dsh.client.platformweb,也就是说卡片只会出现在 Web UI,不会出现在纯终端会话里。

目录页的定位很短:DeepSeek 余额、剩余比例条与今日花费,显示在侧边栏底部。仓库 README 写得更具体:样式只用官方设计令牌,挂在官方槽位 sidebar.footer.action,不改核心、也不做 DOM hack。社区目录收录时标注 7 星;本文写作时 GitHub 仓库为 8 星,仓库创建于 2026-08-13,最近一次推送为 2026-08-14。

它解决的问题很单一:不用打开平台控制台,也能在对话界面里看见账户余额是否还够用。

核心功能

对照目录页、README 和仓库源码(lib/index.jslib/client.js),当前能力可以分成下面几块。

1、实时余额。服务端读取 DEEPSEEK_API_KEY(环境变量优先,否则读 $DSH_HOME/.credentials.yaml,默认目录是 ~/.dsh),调用官方接口 GET https://api.deepseek.com/user/balance。返回的 balance_infos 里优先取人民币(CNY),没有再退回第一条;界面上人民币显示为 ¥,美元显示为 $。卡片文案带中英两套字典,会跟 dsh 的 locale 走。

2、今日花费。按本机日历日计算。当天第一次成功查询的余额记为基线,并写到 $DSH_HOME/storages/balance-monitor.json,刷新页面或重启进程后还能接着用。源码里的花费是「只累加余额下降」:充值不会把今日花费变成负数,也不会把已经记下来的花费冲掉;如果余额因充值高于当日基线,基线会跟着抬高,比例条重新铺满。跨天或货币切换时,基线和花费都会重置。README 里写的 花费 = max(0, 基线 − 当前) 是同一思路的简化表述。

3、剩余比例条。比例是「当前余额 ÷ 当日基线」,限制在 0 到 1。颜色按剩余比例分三档:大约还剩 20% 及以上为蓝,10%–20% 为琥珀,低于 10% 为红。颜色变量用的是 --dsw-static-deepseek-500--dsw-static-amber-500--dsw-static-red-500 这类官方 token。

4、位置与折叠态。展开侧边栏时,卡片在底部、设置按钮上方;收起后变成 36px 圆标,显示压缩后的金额,完整数字放在 tooltip 里。压缩显示会向下取整,避免把余额说高。

5、轮询与失败兜底。浏览器每 60 秒请求一次;切回标签页时立刻再刷。上游失败时,若本地还有上次快照,界面继续显示旧数字并变淡(stale),而不是闪一条错误。

实现上是「一行插件、两半代码」:cordis.patch.yml 插入 id: balance-monitor 这一行;服务端 lib/index.jsctx.connection 上注册 /balance RPC(authority: 'loopback');浏览器 lib/client.js 是手写的 classic script,无构建步骤、无单独 CSS。API key 只留在服务端,浏览器只能看到余额数字。README 还写了:无遥测,出站请求只有官方余额接口。

安装与启用

目录页给出的安装命令如下,在 DeepSeek Harness 终端里运行即可:

dsh plugin add github:jelly-000/dsh-balance-monitor

这是界面增强插件,卡片只在 Web UI 出现。仓库 README 建议显式装到 web profile,并在安装后重启 Web UI:

dsh plugin --profile web add github:jelly-000/dsh-balance-monitor#main
dsh --profile web

目录页同时提醒:如需可复现安装,把 #main 换成具体 commit 哈希,例如:

dsh plugin add github:jelly-000/dsh-balance-monitor#<commit>

README 里还有一条 dsh plugin --profile web add dsh-balance-monitor,并注明是「发布后」才从 npm 安装。本文写作时仍以 GitHub 源为准,不要改用裸包名,以免装到同名的其他项目。

启用前需要已经配置 DeepSeek API Key。插件按下面顺序找密钥:

  1. 环境变量 DEEPSEEK_API_KEY
  2. $DSH_HOME/.credentials.yaml 里形如 DEEPSEEK_API_KEY: sk-... 的一行

找不到密钥时,服务端会返回 unauthorized,界面上余额不可用。密钥解析是对 YAML 做正则匹配,不是完整 YAML 解析器;如果凭据文件格式很特殊,需要先确认这一行能被匹配到。

用起来是什么样

安装并重启 Web UI 之后,打开侧边栏底部即可。展开态大致是三行:

  • 左侧「余额」,右侧当前金额,例如 ¥99.50
  • 中间一条细比例条
  • 底部「今日花费」加金额

收起侧边栏后,只剩圆形金额;鼠标悬停可以看到完整数字。源码里没有单独的「刷新」按钮,刷新靠 60 秒轮询和切回标签页。

状态文件是一个本地 JSON,路径为 $DSH_HOME/storages/balance-monitor.json。仓库 README 给出的示例是:

{
  "date": "2026-08-14",
  "dayStart": 100.0,
  "lastTotal": 99.5,
  "lastCurrency": "CNY",
  "updatedAt": 1755200000000
}

当前 lib/index.js 写入时还会带上 spent 字段,用来跨重启记住当天已经累加的花费。这个文件只服务本机展示,不是账单导出。

适用场景与注意事项

适合已经在用 dsh web、并且 DeepSeek 官方 API Key 配在 dsh 凭据里的人。如果你只是偶尔查一次余额,打开平台控制台就够了;这个插件的价值是把数字一直放在侧边栏,跑任务时不用切走。

使用前有几条边界需要看清楚。

1、权限与许可证。目录页写得很明确:插件以当前 dsh 进程的权限运行,安装时可能执行代码。安装前请检查源代码仓库和许可证。本插件是 MIT,源码集中在 lib/index.jslib/client.js,可以先读再装。

2、今日花费不是官方账单。数字来自余额接口的差额,不是 token 明细,也不是平台账单页。它看不到赠额、充值额的拆分(服务端虽然读了 granted_balance / topped_up_balance,回给界面的快照只有总额和花费),也统计不到别的供应商。换机器或删掉状态文件,当天基线会按下一次成功查询重新起算。

3、只覆盖 Web UIpackage.json 声明了 platform: "web"。终端 TUI 或其它 profile 里不会出现这张卡片。

4、dsh 仍在快速迭代。官方 README 写了会有兼容性破坏。槽位名、凭据文件格式或 RPC 通道如果变了,插件可能需要跟着改。

5、安全模型。API key 不进浏览器;RPC 使用 loopback 信任策略。即便如此,插件仍运行在 dsh 进程里,能读本地凭据、能访问网络。不要从不明 fork 安装。

小结

dsh-balance-monitor 把 DeepSeek 官方余额接口接到 dsh 侧边栏底部:看剩余额度、看当日消耗、用一条细比例条提示余额还剩多少。它不改核心、不用构建、密钥留在服务端,目标就是少切一次页面。

目录页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-balance-monitor/

GitHub:https://github.com/jelly-000/dsh-balance-monitor

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

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

小夜