前言¶
在 DeepSeek Harness 里跑久了,常见的问题是不知道自己这个账号还剩多少钱、最近几次会话到底花在哪个模型上。账单要么去 Platform 使用页面逐条翻,要么干脆不看。dsh-account-balance 把这个信息搬到输入框旁边:登录账号的余额悬停可见明细,点开则是按今日、近 7 天、近 30 天分模型的花费估算。
它由 octisfall 维护,MIT 许可,面向 DeepSeek Harness 0.2.x 客户端,插件本体是一个纯 npm 包(dsh-account-balance@0.1.1),没有构建步骤。
一、定位与维护者¶
一句话:在 composer dock 上加一个只读小部件,显示当前 DeepSeek 账户余额,以及本地会话按模型折算的花费。
值不值得用,取决于你的使用方式。如果只是偶尔问几个问题、账单在台式机上看,原生 Platform 页面足够。如果你长期在终端里的 DSH 上作业,会话开得多、模型切换频繁,不想每次切出去看账,这个部件省的是来回切换的成本。
社区目录页显示星标为 0,属于早期阶段的插件,README 写得相当完整,但落地前仍建议自己跑一遍。
二、核心功能¶
下面介绍的能力均来自插件 README。
余额¶
- 显示登录 DeepSeek 账户的余额,在挂载、窗口重新获得焦点以及每两分钟各刷新一次。
- 悬停显示充值金额与赠送额度的拆分。
- 登录状态异常、钱包读取失败或使用情况路由不可用时,显示
Balance —并给出原因,而不是静默空白。
按模型花费¶
点击小部件弹出面板,显示今日、近 7 天、近 30 天的分模型花费,并有一个按钮打开 Platform 使用页面。面板里的合计是总账的核对入口。
数据来源¶
余额走 Harness 已有的 account Remote 命名空间(getBalance),使用情况链接通过 getState 获取;分模型花费来自插件自己注册的本地路由。Client 展示的所有内容都经 Harness 本身,没有独立服务,也不轮询 Platform。
文案走 Client 的 locale 服务(中英),颜色走 --dsw-alias-* 主题 token,所以部件跟随应用主题和语言。
三、安装与启用¶
官方提供两种安装方式。图形界面走 Settings → Plugins → Add;命令行走 plugin 子命令,该命令在 profile 目录内转发到 pnpm:
dsh plugin --profile <profile> add github:octisfall/dsh-account-balance
<profile> 换成实际使用的 profile 名。包声明了 Cordis bundle patch 和 web Client 入口,所以会出现在该 profile 的插件列表里,并在页面加载后开始渲染。
安装前先确认 prices.json 里的费率是否需要更新。包内预置的是 DeepSeek API 对 deepseek-flash 和 deepseek-v4-pro 公布的价目,单位是每百万 token 的美元价。直接改这个文件即可生效,下次读面板时自动拾取新的费率,无需改代码。
四、内部结构¶
插件分 Host 和 Client 两部分,这是 DSH bundle 的常规拆法。
| 半边 | 文件 | 作用 |
|---|---|---|
| Host | index.js |
注册只读路由 GET /plugin/account-balance/usage。把本地近期会话日志经过 ctx.sessionQuery 折叠,把每条 assistant/message 归到当时生效的模型,按该步计价,结果缓存 60 秒。 |
| Client | client.js |
注册 conversation.composer.dock 条目,通过 account 命名空间的 getBalance 读余额,面板打开时拉取上面的 Host 路由。 |
想验证 Host 部分是否正常,不必开 UI,直接 curl:
curl http://127.0.0.1:<port>/plugin/account-balance/usage
<port> 是当前 DSH 进程监听的端口。
五、那个金额到底是什么¶
这一点值得单独说,因为它决定了这个部件能用来做什么。
会话日志存的是 token 计数,不是发票。面板里的金额是估算:本地会话的 token 计数乘以 prices.json 里的费率。具体规则:
- 峰谷判断按每步的事件时间走:周一至周五 UTC 01:00–04:00、06:00–10:00 两个窗口按峰值计价,其余按半价。中国公众假期不跟踪,假期里的工作日按普通工作日计价。
- 缓存读、缓存写、新输入分别计数,各自按对应费率计费;缓存写按缓存未命中价计。
- 遇到未知模型时只显示 token 数,金额列显示
—,该周期合计不做定价,而不是按某种默认价悄悄少算。
权威数据始终在面板链接的 Platform 使用页面。这个部件用来在会话之间做量级判断(“最近三天是不是主要烧在 v4-pro 上”)是够的,拿来做精确对账不够。
六、隐私与运行边界¶
- 路由只读本机已有的会话日志里的 token 计数,不上传任何东西。
- 路由跑在本地 Harness HTTP server 上,和其它插件路由一样位于
/apibridge 之外,因此不带浏览器会话认证。务必让 server 绑定 loopback,这也是 DSH 默认配置。它只暴露聚合后的 token 数和金额,不含提示词、消息、文件路径或凭据。 - 插件从不读取或保存账户 token,余额来自 Harness 已持有的账户命名空间。
这里需要明确的是:插件运行在当前 DSH 进程的权限下,能读到本机 session log。安装前应检查源码与许可证。
七、兼容性¶
插件声称在 DeepSeek Harness 0.2.1-rc.5 上构建并通过验证。它依赖 conversation.composer.dock、account Remote 命名空间、sessionQuery 和 webServer 这几个接口。一旦 Harness 版本重命名或移除其中任何一个,这里就需要同步修改。当前 badge 标 dsh-0.2.x。
八、适合谁¶
适合在 DSH 客户端里长时间作业、希望在输入框旁随时看到余额和分模型花费的人,以及想确认峰谷计费对账单影响有多大的人。
不太适合需要精确对账的场景,也不适合在非 loopback 暴露的 DSH 上使用。
结尾¶
这个插件的价值在于把一个本来要切到浏览器才能看的数字,放进了工作流视线里,代价是金额只是基于本地日志的估算。早期阶段、依赖面集中在 DSH 内部接口,改动随 Harness 版本走。
安装之前建议通读一遍 index.js、client.js 和 prices.json。目录页在 https://www.skillhub.cn/plugins/octisfall/dsh-account-balance ,源码在 https://github.com/octisfall/dsh-account-balance (MIT 许可)。