dsh-account-balance:把 DeepSeek 账户余额和模型花费显示在 composer 下方

前言

在 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 上,和其它插件路由一样位于 /api bridge 之外,因此不带浏览器会话认证。务必让 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 许可)。

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

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

小夜