dsh-balance-pill:DSH Web 界面右下角常驻余额胶囊

前言

用 DeepSeek Harness(DSH)做对话或智能体开发时,账户充值钱包里还剩多少钱,往往要进「设置 → 账户」才能看到。若你主要走平台账号登录、而不是只靠 API Key,会希望主界面里有一个始终可见的余额提示,又不想让浏览器插件自己去碰凭据或再配一套 Key。下面介绍社区插件 dsh-balance-pill:在 DSH Web UI 右下角挂一颗小胶囊,读的是宿主已有的账户 Remote,约 12 KB 纯 JavaScript,无自建 HTTP 端点。

这是什么

dsh-balance-pill 由维护者 fdghdfghdfghd 发布,分类为客户端插件,许可证 MIT,当前 package 版本 1.0.0,要求宿主 DSH >= 0.2.0-rc.2。它在 SkillHub 插件目录 与 GitHub 均可找到;目录与仓库属社区生态,与 DeepSeek / 幻方无官方从属关系。

定位一句话:DeepSeek Harness 常驻余额胶囊——右下角一眼看到 DeepSeek 账户余额,不碰凭据、不需要 API Key(A tiny resident balance pill for the DSH Web UI)。

核心功能

界面与交互

界面右下角为圆角小胶囊,示例形态:

● 余额 ¥12.34
  • 鼠标悬停:显示赠送额度、更新时间、刷新说明
  • 点击:立刻刷新
  • 每 60 秒自动刷新,仅在页面可见时计时;切回页面或窗口重新获得焦点时立刻补一次
  • 亮/暗主题跟随宿主主题令牌;中英文跟随界面语言(Client locale 命名空间 dsh-balance-pill,zh / en)
状态 外观 含义
正常 绿点 + 余额 ¥12.34 读到充值钱包余额
加载中 灰点 + 余额 -- 正在读取
未登录 灰点 + 余额 -- 当前用 API Key,没有平台账户凭据
读取失败 橙点 + 余额 -- 平台请求失败;悬停显示原因
异常 红点 + 余额 -- 调用本身出错;悬停显示错误信息

金额格式与官方账户卡片对齐:两位小数、千位分组,正的次分金额显示为 <¥0.01。

数据从哪里来

余额不是插件自己去请求平台接口,而是复用宿主已挂载的 account Remote:

ctx.remote.account.getBalance({ version, locale, timezoneOffsetSeconds })

这与「设置 → 账户 → 余额」卡片调用的是同一宿主方法。因此:

  • 浏览器侧拿不到 token;凭据、平台地址、请求头、超时与失效处理留在宿主侧
  • 插件不碰账号逻辑,也无需配置 API Key
  • 未登录(仅 API Key)时该方法返回 null,胶囊显示「未登录」

插件注册在 shell.overlay 浮层,控件自行打开 pointer-events,其余区域保持点击穿透;固定占据右下角约 16px 偏移处。

明确不做什么

  • 只显示余额,不做记账、不算每轮消耗;若需要「今天花了多少 / 每轮花了多少 / 多厂商额度」,README 建议选用完整桌宠记账类插件(如 dsh-whale-widget)。
  • 不会消耗模型 API 额度:读的是账户余额快照,不发起模型请求。

安装与启用

安装前请自行查看仓库源码与 MIT 许可证;插件随 DSH 进程在浏览器半边运行,权限边界与当前 profile 一致。

官方桌面端(Electron)

桌面端使用 desktop profile,不能用 dsh plugin --profile desktop …(CLI 会按设计拒绝),只能在应用内安装。

  1. 侧栏打开 Plugins(插件) → 安装
  2. 填写:
github:fdghdfghdfghd/dsh-balance-pill
  1. 装完后若右下角没有出现,完全退出客户端(含托盘)再打开。

dsh web 与其他 web profile

在终端执行:

dsh plugin --profile web add github:fdghdfghdfghd/dsh-balance-pill

装完后重启 dsh web,浏览器 Ctrl+F5 强刷。

卸载

Web profile:

dsh plugin --profile web remove dsh-balance-pill

桌面端在 Plugins 页面内卸载。

典型用法与排错

正常使用前提

  • 插件只在浏览器半边生效(dsh.client.platform = web),需要宿主挂载 account Remote(桌面端,或已登录 DeepSeek 账号的 Web 端)。无该命名空间时插件会安静不激活,不报错。
  • README 记载在 DSH 0.2.0-rc.2(Windows 桌面端) 上实测可用。

若一直显示「未登录」,到「设置 → 账号」登录 DeepSeek 平台账号;仅配置 API Key 不会走账户余额接口。

装完右下角什么都没有

依次检查:① 是否装到正确 profile(桌面端必须是应用内 desktop,用 --profile web 装的内容桌面端读不到);② dsh.profile.bundles 是否包含 dsh-balance-pill;③ 是否已完全退出客户端再开(首次安装热加载不一定够)。

可调参数(改源码)

无独立设置页,常见改动在 client.js:

  • 刷新间隔:REFRESH_INTERVAL_MS(默认 60000 毫秒)
  • 文案:COPY
  • 与别的右下角挂件冲突:改按钮的 right / bottom

验证是否被宿主编入启动图(而非只躺在 node_modules),可对 DSH 的 /plugins 路由按 id + rev 请求(rev 由 bundle 的 mtimeMs/ctimeMs/size 派生),返回 200 且体含 __ModuleLoader__ 即表示 Loader 条目与 dsh.client 声明生效。细节见仓库 README「开发与验证」一节。

适用场景与注意

适合:已用平台账号登录 DSH、希望在主界面右下角常驻看到充值钱包余额、且接受「只看余额、不记账」的极简方案。

注意:

  • 位置固定在右下角,无图形化配置。
  • 仓库自述无单元测试;兼容性以 README 所列宿主版本与自测为准。
  • 社区插件安装即信任其客户端脚本;安装前建议浏览 client.js 与 package.json 中的 dsh.client 声明。

结尾

dsh-balance-pill 用宿主 account.getBalance 把「设置里的余额卡片」缩成右下角一颗胶囊:不碰凭据、不需 API Key,适合「一眼看到还剩多少钱」的场景。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。

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

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

Xiaoye