前言¶
在 DeepSeek Harness(DSH)里开多个会话时,模型调用会逐条产生 usage,但界面侧栏通常只显示会话标题,很难快速判断「这一条会话累计花了多少 Token、大致多少钱」。若要到后端或账单里对照,又和当前正在悬停的那条会话对不上号。
下面介绍维护者 limingwei-88 的客户端插件 dsh-session-usage-meter(npm 包名同插件名,当前版本 0.1.0,MIT 许可证):在侧边栏会话行的悬浮卡片里汇总该会话的累计 Token,并按可配置价格表给出人民币估算,数据只读当前会话已落盘事件,不额外发请求。
这是什么¶
dsh-session-usage-meter 是 DSH 的 Web 客户端插件,分类为客户端。Host 端(index.js)仅用于让 bundle 可被解析,不注册资源;实际 UI 在 client.js 中通过 ctx.slots.inject('sidebar.session.row.hover', ...) 注入区块。
它解决的是「按会话一眼看清用量与粗略成本」的问题,和在整个应用里做全局计费仪表盘不同:数字只在鼠标悬停该会话行时出现,且明确标注为估算而非账单。
核心功能¶
-
按会话汇总 usage
对当前会话每个assistant/message事件上的usage求和,包含输入、输出、缓存命中(cacheRead)、缓存写入(cacheWrite)。 -
悬浮卡片展示
一行摘要形如:12.4k Tokens · 估算 ¥0.0081;继续悬停可见分项明细。 -
内置价格表与本地覆盖
默认价格在client.js的DEFAULT_PRICES中,按模型名匹配;匹配不到则用default。可在浏览器localStorage写入dsh-session-usage-meter.prices覆盖,无需改代码或重新构建。 -
界面与主题
跟随 DSH 主题,不单独引入配色;中英文文案随界面语言切换。 -
数据边界
数据全部来自该会话自身的事件窗口,不把用量写回会话,也不发起额外 HTTP 请求。
安装与启用¶
安装前请自行查看 GitHub 仓库 源码与 MIT 许可证;插件随当前 dsh 进程与 Web 前端运行,权限与所用 profile 一致。
README 给出的安装方式如下(--profile web 为默认 Web profile;若本机用 Desktop 等其它 profile,请换成实际启动名,否则会装到别的 profile 里当前界面看不到):
# 从 npm 安装(发布后)
dsh plugin --profile web add dsh-session-usage-meter
# 从 GitHub 安装
dsh plugin --profile web add github:limingwei-88/dsh-session-usage-meter
# 从本地目录安装(开发调试)
dsh plugin --profile web add "C:\\path\\to\\dsh-session-usage-meter"
安装后重启 dsh 并刷新页面。dsh plugin ... add 只是把包加入 profile 依赖;bundle 挂载还需 dsh.bundle.patch 被 profile 选中。本包自带 cordis.patch.yml,在支持 dsh.bundle 的 DSH 版本上会自动登记。
运行环境要求(来自 package.json):Node >= 20。
典型用法¶
日常查看¶
- 完成安装并重启、刷新后,在侧边栏将鼠标移到目标会话行上。
- 在会话行悬浮卡片中查看累计 Token 与「估算 ¥…」;需要明细时保持悬停即可。
覆盖默认价格(人民币 / 每百万 Token)¶
默认字段含义与默认值:
| 字段 | 含义 | 默认值 |
|---|---|---|
input |
输入(缓存未命中) | 2 |
cacheRead |
缓存命中 | 0.2 |
cacheWrite |
缓存写入 | 2 |
output |
输出 | 3 |
在浏览器控制台执行后刷新页面:
localStorage.setItem(
'dsh-session-usage-meter.prices',
JSON.stringify({ default: { input: 2, cacheRead: 0.2, cacheWrite: 2, output: 3 } })
)
可按模型名在 JSON 中增加与 DEFAULT_PRICES 相同的键,实现按模型区分单价;自定义 provider 下模型名对不上表项时会落到 default。
金额仅为估算:不含套餐折扣、阶梯计价、缓存策略差异,也不包含未被 usage 覆盖的消耗。
适用场景与注意¶
适合谁
- 在 DSH Web 侧栏频繁切换会话、希望悬停即可对比各会话 Token 与粗略成本的开发者或智能体调试者。
- 需要本地自定义单价、又不想动插件源码重新打包的场景。
已知限制(来自 README)
- 只统计带
usage的assistant/message;早期历史或中断的调用可能没有 usage。 - 悬浮卡片仅在悬停该会话行时挂载,没有常驻数字。
- 价格按模型名精确匹配;陌生模型名走
default。
DSH 生态理念是「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-session-usage-meter 把单会话 Token 汇总与人民币粗算放进侧栏会话行悬浮卡片,只读本地会话事件、可 localStorage 调价,适合边跑 Harness 边对照用量。安装与价格细节以仓库 README 为准。