前言¶
在 DeepSeek Harness(DSH)里跑多工作区、多会话时,Token 花在哪、哪天用得最多、缓存有没有命中,往往只能翻日志或凭感觉估算。官方控制台能查余额,但和本地会话用量、工作区维度对不上。
下面介绍社区插件 dsh-usage-stats(维护者 Make0209,分类 admin-security)。它把持久化会话日志聚合成 GitHub 风格热力图和统计卡片,并在设置面板提供工作区别名管理,安装后自动回填历史。
这是什么¶
dsh-usage-stats 是标准的 DSH 社区插件包:声明 dsh.bundle manifest,包含 host 半与 web client 半。数据全部来自 DSH 持久化会话日志,不依赖外部统计服务。
- 目录页:https://www.skillhub.cn/plugins/Make0209/dsh-usage-stats
- 源码:https://github.com/Make0209/dsh-usage-stats
- 许可证:MIT
核心功能¶
用量热力图¶
53 周 GitHub 绿格布局:每完成一个回合点亮对应日期。悬停可查看当日按工作区拆分的次数明细与 Token。
统计卡片¶
看板汇总以下指标:
- 总花费 Token(分项展示)
- 缓存命中率
- 账户余额(调用 DeepSeek 官方
/user/balance,复用llm-deepseek的 API Key 配置) - 总使用次数、连续使用天数
- 各工作区 Token 进度条
支持近 30 天、近 90 天、全部时间范围切换,带过渡动画,亮暗主题自适应。
工作区别名¶
设置页头部提供「工作区别名」入口,别名持久化保存在 $DSH_HOME/storages 的 KV 单元 usage-stats-aliases,便于在热力图和卡片里用可读名称替代原始路径。
数据与接口¶
Host 半(lib/index.js)扫描会话日志,聚合 turn/end 与 assistant/message.usage,并监听 session/event 实时更新。对外注册:
GET /api/usage-stats— 统计快照GET /api/usage-stats/balance?force=1— 账户余额POST /api/usage-stats/alias— 设置工作区别名
Client 半(lib/client.js)通过 window.__ModuleLoader__ 注册设置面板「用量统计」页(settings.section 槽位)。
仅统计能归属到已注册工作区(按会话 cwd 匹配)的会话。插件卸载或重启后,历史数据不丢。
安装与启用¶
推荐用官方插件命令安装到 web profile:
dsh plugin --profile web add dsh-usage-stats
安装后刷新页面即可,无需改配置、无需重启 DSH。
若使用本地包,需把目录链到 $DSH_HOME/profiles/node_modules/,并在 $DSH_HOME/profiles/web/cordis.patch.yml 插入插件注册项;保存后页面热重载生效。具体符号链接与 patch 写法见 GitHub README。
典型用法¶
- 执行上述安装命令,刷新 DSH Web 界面。
- 打开设置,进入「用量统计」页,查看热力图与卡片。
- 若需显示账户余额,先在 DSH 中配置
llm-deepseek的 API Key;未配置时余额卡片会显示引导文案。 - 点击头部工作区别名管理,为常用
cwd设置别名,便于在多工作区间对比用量。 - 切换 30 天 / 90 天 / 全部,观察 Token 与缓存命中率变化。
开发时修改 lib/client.js 刷新页面即生效;修改 lib/index.js 需重启 DSH。插件包无第三方依赖。
适用场景与注意¶
适合需要长期跟踪 DSH 本地用量、按工作区对比 Token、顺带查看 DeepSeek 账户余额的开发者。
安装前请注意:
- 插件以当前 DSH 进程权限运行,会读取本地会话日志与 API Key 配置,安装前应阅读源码并确认 MIT 许可证。
- 余额查询走官方接口,与会话统计相互独立;统计范围受工作区注册与
cwd匹配规则限制。 - SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-usage-stats 把分散在会话日志里的回合与 Token 信息收成一张热力图和一组卡片,并支持工作区别名,适合作为 DSH 日常用量自检工具。更多信息见 SkillHub 目录页 与 GitHub 仓库。