前言¶
在 DeepSeek Harness(DSH)里跑智能体、切换模型、开多会话之后,Token 会分散在各次对话的会话日志里。想回答「今天花了多少」「哪个模型占大头」「缓存有没有省下来」时,往往要翻日志或靠外部记账,和桌面里的工作流是脱节的。
下面介绍社区插件 dsh-usage-dashboard(维护者 JeffKeeping,GitHub:JeffKeeping/dsh-usage-dashboard)。它在 DSH 桌面侧边栏增加一个入口,用本机会话日志实时汇总 Token、费用估算、余额与趋势,分类上属于「模型推理」类工具向能力。插件目录页:skillhub 上的 dsh-usage-dashboard。
这是什么¶
dsh-usage-dashboard 是 DeepSeek Harness 的桌面端用量可视化看板插件:侧边栏一个柱状图图标,点开后主工作区整页展示读数、构成、模型占比、折线趋势和热力图。数字全部从当前 Harness 进程能读到的会话日志推导,插件本身不另建事实库;对外只暴露一个只读快照接口 GET /dsh-usage-dashboard/snapshot。
核心功能¶
README 将界面划分为几块,彼此独立、对应不同问题:
| 区域 | 作用 |
|---|---|
| 读数条 | Token 总量(含调用次数与缓存命中率)、今日/本月/历史累计费用估算、API 余额(充值钱包 + 赠送额度;未登录时显示状态而非报错) |
| Token 构成 | 堆叠比例条与明细表:未命中缓存的输入、输出、缓存命中、缓存写入的数量与占比,底部给出缓存命中率 |
| 模型占比 | 按总 Token 排序的份额条,含各模型费用;同一模型跨多个 provider 会合并,悬停可看来源 |
| 使用趋势 | 平滑折线(单调三次插值,零用量日不会画到基线以下),支持 7 / 30 / 90 / 182 天切换,← → 逐日移动,带十字线与当日明细卡片 |
| 活跃热力图 | 近半年逐日方格,颜色越深用量越大;悬停显示当天明细,图例在原位更新,避免遮挡网格 |
折线与热力图使用 DeepSeek 蓝配色阶 #dff2fe → #a0dcfd → #60b3fe → #0c70f3;其余控件沿用宿主主题 token(--dsw-alias-*),亮暗色跟随系统。
计费口径与会话日志中的 TokenUsage 一致(Anthropic Messages 语义):inputTokens 表示未命中缓存的输入;cacheReadTokens / cacheWriteTokens 独立计数;prompt = input + cacheRead + cacheWrite,tokens = prompt + output。费用由 cordis.patch.yml 中的 pricing 配置估算,页脚显示当前币种与单位;内置单价是起点,需按你实际付费价格修改。
安装与启用¶
环境要求¶
- DeepSeek Harness Desktop 0.2.x
- Node.js >= 20
安装方式¶
从 npm 安装(适合直接使用发布包):
dsh plugin install dsh-usage-dashboard
本地目录安装(README 标注为改代码可即时生效的方式): 将插件包目录放在本机后,把路径换成你的绝对路径:
dsh plugin install <绝对路径>/dsh-usage-dashboard
或在 Harness 内执行:
plugin_manager action=install_bundle target=<绝对路径>/dsh-usage-dashboard
安装后侧边栏底部、设置上方会出现柱状图图标;点击后主栏变为看板。若图标未出现,按 Ctrl+R 刷新窗口(客户端模块化加载,刷新后才会读到磁盘上的最新 bundle)。
验证 Host 是否就绪¶
将端口换成你本机 Harness 监听的端口:
curl http://127.0.0.1:<你的端口>/dsh-usage-dashboard/snapshot
返回形如 {"ok":true,...} 即表示 Host 半已就绪。首次打开会扫描全部会话日志,通常一两秒;之后按 SessionPersistenceSnapshot.revision 做增量缓存(README 写明冷读约 800ms、热读约 25ms)。客户端每 60 秒拉一次快照;手动刷新会同时重读账户余额。
配置与典型用法¶
价格与扫描窗口在 cordis.patch.yml 中,安装后也可在插件管理页修改。默认片段如下(模型键先完全匹配,再最长前缀匹配,否则落到 default):
- insert:
- id: dsh-usage-dashboard
name: dsh-usage-dashboard
config:
historyDays: 182 # 日序列与热力图窗口(折线图从中切片)
maxSessions: 600 # 最多扫描最近 N 个会话
pricing:
currency: CNY
unit: 1000000 # 单价按「每 N 个 token」计
default: { miss: 2, hit: 0.2, write: 2, output: 3 }
models:
deepseek-v4.1-flash: { miss: 2, hit: 0.2, write: 2, output: 3 }
deepseek-v4-pro: { miss: 4, hit: 1, write: 4, output: 12 }
费用公式:(miss × 输入 + hit × 缓存命中 + write × 缓存写入 + output × 输出) / unit。
典型工作流是:安装并刷新界面 → 点开侧边栏看板浏览读数与趋势 → 按实际合同价改 pricing → 需要排查数据时访问 snapshot 或加 ?refresh=1 强制重算(路由带 no-store)。
卸载可在插件管理执行:
plugin_manager action=remove_bundle target=dsh-usage-dashboard
工作原理(简)¶
Host 通过 sessionPersistence 读日志,从 assistant/message 的 data.usage 取四类 Token,从 data.message.source 取 provider 与 model。增量缓存挂在 Symbol.for 全局上,HMR 重挂载不会触发全量重扫。客户端只负责渲染,不持有统计源。
适用场景与注意¶
适合谁: 长期在 DSH Desktop 里开发、调试智能体,希望在本机一眼看到 Token 构成、模型占比和近期活跃模式,并需要与 DeepSeek 账户余额(若宿主挂载了 deepseekAccount)对照估算成本的人。
限制(来自 README):
- 只统计本进程
sessionPersistence.list()可见、且未被maxSessions截断的会话。 - 余额依赖宿主
deepseekAccount;未启用时界面显示「未启用」,不会因此失败。 - 会话日志被其他工具归档移走后,不会计入看板。
安全与信任: DSH 生态主张「一切皆插件」;skillhub.cn 为社区目录,与 DeepSeek / 幻方无官方从属关系。插件以当前 DSH 进程权限读取会话与可选账户接口,安装前请自行查看 源码与 MIT 许可证。
结尾¶
经过上面的步骤,你可以在桌面 Harness 内完成从安装、改价到看图的全流程,而不必把用量统计拆到外部表格。当前 npm 包版本为 1.0.0(见仓库 package.json)。进一步说明与截图见 GitHub README;从目录页也可跳转到同一仓库。
- 目录页:https://www.skillhub.cn/plugins/JeffKeeping/dsh-usage-dashboard
- GitHub:https://github.com/JeffKeeping/dsh-usage-dashboard