DSH Dual Balance:侧栏双余额监控

DSH 用户通常同时挂载两套账号:一套是 DeepSeek 官方账号(走官方计费),另一套是通过 dsh-workbuddy-connect 接入的 WorkBuddy 账号(走 App 积分)。两边的余额分别位于不同的设置页面,日常使用中容易在任务运行到一半时才发现某一边余额不足。

dsh-dual-balance 插件将这两个数字固定显示在 DSH 侧栏底部,每 60 秒自动刷新,避免在两个界面之间来回切换。

插件介绍

名称:dsh-dual-balance

维护者:du460138504

功能:在 DSH 侧栏底部同时显示 DeepSeek 官方余额与 WorkBuddy 积分。它解决了多账号并行使用时,余额分散导致监控不及时的问题。

核心功能

  1. 双余额并排显示:左侧显示 DeepSeek 官方余额(含赠金时会拆分显示),右侧显示 WorkBuddy 剩余积分。
  2. 语言跟随设置:界面文本自动跟随 DSH 的语言设置切换中英文。
  3. 悬停查看详情:鼠标悬停在余额区块上,会显示完整的充值/赠金拆分、WorkBuddy 积分来源等说明。
  4. 优雅降级:当 WorkBuddy 未安装、未登录或接口报错时,对应行显示“未登录”或“—”,不影响另一侧余额的正常显示,也不会导致 DSH 启动失败。
  5. 格式对齐官方:金额显示严格遵循官方规则,采用两位小数截断而非四舍五入。

安装与启用

安装前需确保已安装 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。
  • 隐私安全:插件不发送任何遥测数据,不写入文件,不访问除上述两个同源接口以外的网络地址。两个数字仅在本地机器与 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

链接

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

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

小夜