前言¶
DeepSeek Harness(DSH)在对话里会流式输出 token 用量,但通常不会直接告诉你「这一轮花了多少钱」。余额要在平台页面另开标签查看,会话记录里也只有 token 数、没有人民币。若你长期在 DSH 里做智能体开发或日常对话,很难在不离开会话的前提下掌握账户余额、最近一轮实际扣费以及当天累计支出。
dsh-spend-meter(仓库 lx950/dsh-spend-meter,维护者 lx950)是 DSH 社区目录中的客户端类插件:在对话界面注入一块可拖拽面板,从 DeepSeek 计费计数器(精度 1e-8 CNY)读取数据,在计数器尚未落账时用价目表估算并标明来源。下面介绍它的定位、能力与安装方式。
这是什么¶
插件对外仓库名为 dsh-spend-meter,在 node_modules 与 dsh.profile.bundles 中的包 id 为 dsh-spend-panel(因 npm 上 dsh-spend-meter 名称已被占用)。当前 package 版本为 0.4.5,许可证 MIT,README 标明 no telemetry。
它解决的核心问题是:在 DSH 桌面会话里闭环展示「钱包余额、上轮扣费、今日累计、进行中的本轮预估」,并显示峰谷计费时段,失败时在 tooltip 说明哪条数据路径不可用,而不是静默显示横线。
核心功能¶
面板示意(界面随 DSH 设计 token 渲染,可拖拽、可折叠为一行):
会话花费 谷时 ▾
余额 ¥9.6540
上轮 ¥0.0759
今日 ¥3.0671
本轮 ¥0.0412
计费 谷时 → 09:00 转峰
余额¶
从已登录 DeepSeek 账户读取钱包余额,保留 8 位小数,优先走 platform.deepseek.com/api/v0/users/get_user_summary;若无平台 grant,依次回退 api.deepseek.com/user/balance(API key)与宿主账户服务。
上轮(Last turn)¶
取本对话中最近一条已落账回复对应的 lifetime spend 计数器差值;含多步 tool calling 的整轮会合并计算。计数器约一分钟内才更新时,面板暂用价目表估算,并在 tooltip 中说明。
今日(Today)¶
当前计数器 − 当日首次读数;插件 midday 才安装时,当日更早的用量会通过宿主会话 transcript 回填,并用实测/估算比例自校准。计数器来自 total_costs,充值与赠金只动余额、不动计数器,因此差值不会因 top-up 被误导。
本轮(Live)¶
对话仍在进行时,「本轮」显示当前 turn 已产生的费用(估算或已部分落账的数据)。
峰谷¶
DeepSeek 在北京时间工作日 09:00–12:00、14:00–18:00 按峰时 2× 计价;周末与法定节假日全天谷时。面板展示当前档位及下次切换提示。
估算兜底¶
当计数器无法说话时(turn 未 settle、或插件安装前的历史),按宿主 usage 事件中的 inputTokens / cacheReadTokens / outputTokens 与 lib/pricing.js 价目表计算(reasoning token 已含在 outputTokens,不重复加)。未知 model id 回退 Flash 卡。
环境与要求¶
- DeepSeek Harness
0.2.0-rc.2或更新,且使用 desktop profile(面板占用 client slot,纯 Web 版dsh会话不会出现面板)。 - 宿主内 Node 22+ 时支持 transcript 回填(多帧 zstd 依赖
node:zlib);更旧运行时面板仍可从 balance book 工作,diag.transcript.error会说明回填关闭原因。package.json 中engines.node为>=20,与 README 对回填的 Node 22+ 说明并存时,以 README 对回填能力的描述为准。
插件以当前 DSH 进程权限运行;安装前请自行查看仓库源码与 MIT 许可证。社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。
安装与启用¶
官方从 GitHub 安装(无需 npm 包):
dsh plugin --profile <name> add github:lx950/dsh-spend-meter
本地开发可链接目录(改代码后无需重装):
dsh plugin --profile <name> add link:/absolute/path/to/dsh-spend-meter
安装后重启 DSH。面板出现在会话中:拖标题栏移动位置,角按钮折叠;位置与折叠状态按机器写入 localStorage。
桌面应用说明: desktop profile 由 Electron 壳管理,终端执行 dsh plugin --profile desktop add … 会被拒绝。可在应用内插件管理器从 GitHub 源安装(若支持),或编辑 %USERPROFILE%\.dsh\profiles\desktop\package.json,在 dependencies 中加入 "dsh-spend-panel": "github:lx950/dsh-spend-meter",并在 dsh.profile.bundles 中保留原有条目并追加 "dsh-spend-panel",再在该目录执行 pnpm install(或使用应用捆绑的 pnpm 路径)并重启应用。细节见仓库 DEVELOPMENT.md。
典型用法¶
经过上面的步骤启用后,无需额外配置项即可在对话旁查看花费。使用方式即:
- 在 desktop 配置文件中安装插件并重启。
- 正常发起对话;观察「上轮」在 turn 结束后约一分钟内从估算切换为计数器实测(插件会在 turn 结束后先 2 s 轮询约 20 s,再退避至 6 s,最长约两分钟等待计数器变动)。
- 需要细节时查看面板 tooltip(余额路径、今日是否混用 transcript、峰谷切换时间等)。
计费计数器请求示例(DSH 已持有的 platform grant):
GET https://platform.deepseek.com/api/v0/users/get_user_summary
x-dsh-auth-token: <the grant DSH already holds for platform.deepseek.com>
响应中的 normal_wallets.balance 与 total_costs.amount 为面板数值来源。
适用场景与注意¶
适合: 长期在 DSH 桌面客户端对话、希望实时掌握 DeepSeek 账户余额与按 turn / 按日真实扣费(而非仅 token 数)的开发者与用户。
注意:
- 必须使用 desktop profile;Web 会话看不到 client 面板。
- 无平台或 API 余额权限时,面板会降级并在 tooltip 说明,今日数字可能更多依赖价目表与 transcript。
- 价目表变更需关注仓库
lib/pricing.js(含节假日表);与官方 rate card 不一致时,估算段会有偏差,已落账部分仍以计数器为准。 - 插件不收集 telemetry(README badge);仍会以 DSH 已有凭证访问 DeepSeek 平台/API,请确认你信任该开源实现。
结尾¶
dsh-spend-meter 把平台账单计数器与 DSH 会话用量接在一起:可拖拽面板里看余额(8 位小数)、上轮实测扣费、今日累计与进行中的本轮,并标注峰谷与数据来源。进一步了解可访问社区目录页与 GitHub 仓库。
- 目录页:https://www.skillhub.cn/plugins/lx950/dsh-spend-meter
- GitHub:https://github.com/lx950/dsh-spend-meter