DeepSeek Harness (DSH) 的设计理念是“一切皆插件”。在多会话或批量使用的场景下,追踪全机器的 Token 消耗往往需要手动汇总多个目录的日志。zoyluoblue/deepseek-harness-token 插件通过折叠所有 dsh 家目录的会话日志,提供了一个集中的 Token 视图。
这是一个 DeepSeek Harness (DSH) 插件,用于报告全机器的 Token 使用统计。它会折叠每个 dsh 家目录(~/.dsh 和 ~/.dsh_desktop/<version>)的会话日志。在设置页面中显示总数、GitHub 风格的贡献热力图、连胜记录、最高峰时段以及按模型的细分(输入/缓存读取/缓存写入/输出)。它注册零个面向模型的工具,不追加会话事件,因此挂载它不会增加对话成本。
安装与启用¶
安装前请确保系统已安装 Node.js ^22.19 || >=24 以及 pnpm(dsh plugin 是一个薄 pnpm 前端)。
dsh plugin --profile web add @zoytown/dsh-token
安装完成后,在 DSH 中打开 设置,进入 Token 页面即可查看统计。
如果当前环境没有全局 dsh 命令,也可以通过以下方式安装:
npx -y @deepseek-ai/dsh plugin --profile web add @zoytown/dsh-token
# 或者
pnpm dsh plugin --profile web add @zoytown/dsh-token
配置¶
插件的配置项位于 profile 的 cordis.patch.yml 文件中,键名为 dsh-token:
| Key | Default | Meaning |
|---|---|---|
extraSessionRoots |
[] |
额外的 dsh 家目录,用于扫描。默认已覆盖 ~/.dsh 和 ~/.dsh_desktop/<version>,若通过 $DSH_HOME 访问的家目录未生效,需在此列出。 |
includeCompaction |
true |
是否统计生成压缩摘要所消耗的 Token(dsh 自身的 tokenUsage 投影无法看到这部分)。设为 false 可使其与投影数据 1:1 对齐。 |
refreshIntervalMs |
30000 |
重新扫描新增会话日志的频率(毫秒)。 |
indexChunkYieldMs |
16 |
扫描过程中协作让步的间隔(毫秒)。 |
功能与限制¶
数据来源与访问方式¶
该插件读取本地文件,为只读模式,不会写入会话,也不接触网络服务。它仅响应循环调用(loopback callers)。
支持的 Shell 与数据路径¶
插件仅支持 dsh web。Electron 桌面 Shell 因其对原生模块解析的限制,无法加载该插件,因此不支持在桌面 Shell 的 DSH_HOME 中安装。但桌面 Shell 记录在 ~/.dsh_desktop/<version>/ 下的会话日志,依然会被 Web Shell 读取。
不包含的功能¶
- 成本估算:插件不存储价格表,也不提供货币估算。账户余额属于
@zoytown/dsh-billing的范畴。 - 模型工具:插件不注册任何面向模型的工具。
统计定义¶
页面底部的页脚会披露计费覆盖率、重试步骤、仍在写入的会话以及被跳过的日志。
- Total tokens:包含缓存读取,这是四个互斥的提供者桶的总和。
- Sessions:排除子代理会话,但统计其 Token 数。
- Messages:指非空的助手消息,而非日志记录(流式响应会产生大量 delta 事件,记录数会偏差 2-3 个数量级)。
- 每日/每小时:使用本地日历(
IntlAPI),连胜基于中午锚点计算,避免夏令时切换影响。 - 重试步骤:Provider 请求在步骤内重试时,日志仅保留最终使用报告,因此重试步骤会低估消耗。