dsh-balance-badge
在 DeepSeek Harness 主界面右下角常驻一枚余额角标:随时看见还剩多少钱,不用切到后台。

位置就在输入框右下角,不占布局、不挡操作:

功能
- 不打扰:注册在窗口浮层
shell.overlay里,固定在右下角;浮层本身是点击穿透的,只有胶囊自己接收鼠标事件。 - 自动刷新:启动读一次,之后每 60 秒一次;窗口重新可见、连接重建时也会补一次。
- 点一下就能查:点击胶囊立即刷新,悬停能看到充值余额、赠金余额和当前状态。
- 状态清楚:金额用高对比度数字;未登录显示「登录后查看」;查询失败显示红色「暂不可用」,同时保留上一次的金额,下次刷新自动恢复。
- 跟随宿主:颜色全部取自
--dsw-alias-*主题变量,深色/浅色自动适配;文案中英双语,跟随 DSH 语言设置。 - 零依赖:一个客户端模块,没有构建步骤,Host 半为空,不注册工具、不写会话状态。
安装
1. 从 npm 安装(推荐)
在 DSH 的插件安装界面填包名:
dsh-balance-badge
钉版本用 dsh-balance-badge@1.0.0。
2. 从 GitHub 安装
github:eatone9254/dsh-balance-badge#v1.0.0
仓库根目录就是完整包,tag 里已包含可直接运行的源码,不需要自己构建。
3. 从本地压缩包安装
npm pack
把生成的 dsh-balance-badge-1.0.0.tgz 放到运行 DSH 的机器上,在安装界面填它的绝对路径。
安装完成后,侧边栏 插件 →「已安装插件」里会出现 余额角标,开关即时生效。
使用
| 操作 | 效果 |
|---|---|
| 悬停 | 显示充值余额、赠金余额和刷新提示 |
| 点击 | 立即查询一次余额 |
| 不想看 | 在插件页关掉,或从 profile 移除 |
三种状态:
| 状态 | 显示 |
|---|---|
| 已登录 | 余额 ¥7.19 |
| 未登录 | 余额 登录后查看 |
| 查询失败 | 余额 暂不可用(红色,保留上次金额) |
余额从哪来
插件通过 DSH 自己的账号通道取数:客户端调用 remote.account.getBalance(),由宿主进程用已登录的账号凭据去问平台,再把结果交回渲染。
因此:
- 不读取、不保存、不外发你的 API Key,也不写任何配置文件;
- 插件里没有任何 HTTP 请求代码,除了这一个账号查询接口,不联网;
- 只读余额,不发起模型请求。
兼容性
| 项 | 要求 |
|---|---|
| DSH | >=0.2.1-rc.2(在 0.2.1-rc.2 的桌面端实测) |
| 账号 | 需要已登录 DeepSeek 账号才能显示金额 |
| 依赖 | 只用公开接口:remote.account、slots、locale 与主题变量 |
| 影响范围 | 只注册一个 shell.overlay 条目,不覆盖任何内置界面 |
常见问题
为什么显示「登录后查看」? 当前 DSH 没有登录账号。到 设置 → 账号与余额 登录后,角标会在下次刷新时自动显示金额。
显示「暂不可用」怎么办? 点一下角标重试。仍然失败通常是平台接口暂时不可达或登录态失效;角标会保留上一次的金额,不会变成空白。
金额和网页控制台不一致? 角标最多有 60 秒缓存,点击即可立即刷新。
深色模式下颜色不对? 颜色全部来自宿主主题变量,切换主题即时生效,不需要重启。
会拖慢启动吗? 不会。只有一个很小的客户端模块,首次读取在后台完成,读取期间显示「读取中…」。
开发
client.js 客户端模块:注册 shell.overlay、读取余额、渲染角标
index.js Host 半(空实现,只负责让插件行被加载)
cordis.patch.yml 插入一行插件;不覆盖任何内置行
locale/*.json 插件页里的标题与说明(中/英)
icon.svg 插件图标
docs/ 截图与发布说明
改完工作区里的 client.js 保存即可,宿主会热更新这个客户端模块;正式安装则按上面的方式重新安装或重启。
想调整外观或节奏,直接改这三个地方:
| 想改 | 位置 |
|---|---|
| 位置、大小、配色 | client.js 中 .dsh-balance-badge 的样式 |
| 刷新间隔 | client.js 中的 60_000 |
| 金额格式 | client.js 中的 formatWallet() |
发布流程(版本号、tag、npm、上架市场)见 docs/RELEASING.md。
No comments yet. Be the first to write one.