DSH 用户通常同时挂载两套账号:一套是 DeepSeek 官方账号(走官方计费),另一套是通过 dsh-workbuddy-connect 接入的 WorkBuddy 账号(走 App 积分)。两边的余额分别位于不同的设置页面,日常使用中容易在任务运行到一半时才发现某一边余额不足。
dsh-dual-balance 插件将这两个数字固定显示在 DSH 侧栏底部,每 60 秒自动刷新,避免在两个界面之间来回切换。
插件介绍¶
名称:dsh-dual-balance
维护者:du460138504
功能:在 DSH 侧栏底部同时显示 DeepSeek 官方余额与 WorkBuddy 积分。它解决了多账号并行使用时,余额分散导致监控不及时的问题。
核心功能¶
- 双余额并排显示:左侧显示 DeepSeek 官方余额(含赠金时会拆分显示),右侧显示 WorkBuddy 剩余积分。
- 语言跟随设置:界面文本自动跟随 DSH 的语言设置切换中英文。
- 悬停查看详情:鼠标悬停在余额区块上,会显示完整的充值/赠金拆分、WorkBuddy 积分来源等说明。
- 优雅降级:当 WorkBuddy 未安装、未登录或接口报错时,对应行显示“未登录”或“—”,不影响另一侧余额的正常显示,也不会导致 DSH 启动失败。
- 格式对齐官方:金额显示严格遵循官方规则,采用两位小数截断而非四舍五入。
安装与启用¶
安装前需确保已安装 DeepSeek Harness。不安装 dsh-workbuddy-connect 也能使用,此时只会显示 DeepSeek 余额,WorkBuddy 行显示“—”。
Desktop profile:
dsh plugin --profile desktop add dsh-dual-balance
Web profile:
dsh plugin --profile web add dsh-dual-balance
也可以直接从 GitHub 源码安装:
dsh plugin --profile desktop add git+https://github.com/du460138504/dsh-dual-balance.git
安装完成后重启 DSH,侧栏底部即会出现两行余额。
首次安装报错
allowBuilds:若报错提示allowBuilds,需编辑 profile 目录下的pnpm-workspace.yaml文件,添加相应配置后重跑安装命令。
格式细节¶
插件的金额格式不是简单的 toFixed(2),而是刻意模仿官方规则:
- DeepSeek 余额:按官方的两位小数截断(
roundDown)显示。例如余额0.148在官方页面显示为0.14,本插件也显示¥0.14。不足一分的余额收敛显示为<¥0.01,避免将¥0.00误读为已用尽。 - WorkBuddy 积分:同样按两位小数截断。上游数据本就以两位小数上报,多出的位数为二进制浮点噪声,因此只截断不舍入,绝不显示尚未发放的积分。
两处均基于十进制字符串运算,避免二进制浮点舍入偏差。
工作原理与隐私¶
- 数据来源:
- DeepSeek 余额:通过 DSH 的
remote.account.getBalance读取,复用用户已登录账号,插件本身不接触凭据。 - WorkBuddy 积分:向同源
/plugins/dsh-workbuddy-connect/status路由发起fetch请求,读取其中的credits.total。
- DeepSeek 余额:通过 DSH 的
- 隐私安全:插件不发送任何遥测数据,不写入文件,不访问除上述两个同源接口以外的网络地址。两个数字仅在本地机器与 DSH 自身之间流动。
开发与兼容性¶
- 构建方式:无构建步骤的纯 ESM 项目。
lib/index.js(宿主)与lib/client.js(浏览器)直接作为产物使用。 - 开发调试:将工作副本链入 profile:
dsh plugin --profile desktop add link:/绝对路径/dsh-dual-balance
重载 DSH 即可生效。
- 依赖要求:要求 DSH 核心 0.2.0-rc.2。
- 开发注意:
lib/client.js必须保持window.__ModuleLoader__.load({ id, factory })的外层协议,这是 DSH 客户端模块的加载契约。
卸载¶
dsh plugin --profile desktop remove dsh-dual-balance