DeepSeek Harness Hub
← 返回列表

跨会话用量统计lovedheart/dsh-plugin-token-usage

DeepSeek 客户端兼容 / 相关生态spec-screened在 GitHub 查看 ↗
未验证

DSH plugin for cross-session token usage statistics /usage…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/17 · 已提供中文文档

DSH plugin for cross-session token usage statistics (/usage command + Web GUI Token 用量 panel)

综合分
30.6
GitHub 分
30.6
用户评分
★ Stars
1
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/lovedheart/dsh-plugin-token-usage.git
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-plugin-token-usage

面向 DSH 的 QwenPaw 风格跨会话 token 用量统计。

该插件将所有已持久化会话(包括子代理会话)中每次模型调用由提供商报告的 token 用量,聚合到 (date, provider, model) 分桶中,并通过单个 /usage 命令对外提供。

- 零运行时依赖 —— 仅使用 Cordis 的 ctx API 和 Node 22 内置的 node:zlib(zstd)。
- 持久可信的数据源 —— 它读取 ~/.dsh/sessions 下的会话日志,因此对早于该插件的历史记录同样有效,且写入时无需单独记账。
- 不重复计数 —— 已提交的 assistant/message.usage 优先;未产生消息的步骤(失败)回退到其最后一个流式 usage 块,并在 turn/end 时刷出。持久化的按文件水位线({hiSeq, framesIngested})使增量扫描在重启和崩溃恢复重编码后仍保持幂等。

命令

/usage                 # 最近 30 天(可通过 defaultDays 配置)
/usage 7d              # 最近 7 天
/usage 7d qwen3.8      # 最近 7 天,模型过滤(对 provider/model 做子串匹配)
/usage qwen3.6         # 默认范围,模型过滤

输出示例:

📊 Token Usage  2026-07-17 → 2026-08-16

Total: 906.9M tokens · 4954 calls
input 473.3M · output 3.4M · cache read 430.1M

By model:
sglang/Qwen3.8-27B  —  719.4M tokens · 3320 calls
in 337.7M · out 2.8M · cacheR 378.9M
sglang/Qwen3.6-27B  —  187.4M tokens · 1634 calls
in 135.6M · out 669900 · cacheR 51.2M

By day:
2026-08-13  42.6M tokens · 481 calls
2026-08-14  195.7M tokens · 1587 calls
2026-08-15  380.5M tokens · 1513 calls
2026-08-16  288.1M tokens · 1373 calls

Token 单位:>= 1,000,000(百万)显示为 1.2M,>= 1,000,000,000(十亿)显示为 1.5B,低于该值则为普通整数(保留一位小数,末尾 .0 省略)。

配置

| key | default | description |
|-----|---------|-------------|
| defaultDays | 30 | 裸 /usage 的回溯窗口。 |
| backfillIntervalSec | 30 | 增量回填各轮之间的秒数(保持状态文件热更新)。 |
| sessionsRoot | ~/.dsh/sessions | DSH 会话日志根目录(为空 = 从 DSH_HOME 自动推断)。 |
| stateFile | ~/.dsh/token-usage.json | 聚合状态 + 水位线。 |
| flushDelayMs | 5000 | 状态写入的防抖时间。 |
| enableCommand | true | 注册 /usage。 |
| verbose | false | 记录回填进度。 |

挂载

该插件是一个树外模块,通过 profile 补丁挂载(与 telegram / thinking-mode 插件相同的模式)。向 ~/.dsh/profiles/web/cordis.patch.yml 添加一行 insert:

- insert:
- id: token-usage
name: '/home/lovedheart/Documents/dsh-plugin-token-usage/lib/index.js'
config:
defaultDays: 30
backfillIntervalSec: 30
enableCommand: true
verbose: true

commands 是一个可选依赖(通过一个可选的子项使用
fiber),因此该插件也会在无命令的程序集中加载——它只是存储
而不注册交互式命令。

布局

- src/frames.js — zstd 帧扫描器(镜像 DSH 的 scanZstdFrames)。
- src/store.js  — 桶聚合、去重、持久化、summarize。
- src/backfill.js — 增量会话日志遍历 + listSessionFiles。
- src/render.js — fmtTokens、renderUsageReport、parseUsageArgs。
- src/index.js  — 插件入口(name/inject/Config/apply)。
- lib/          — 构建输出(npm run prepare 复制 src/.js)。
- test/         — node --test 单元测试 + 测试框架测试。

开发

npm install        # 为测试框架测试安装 cordis peer
npm test           # node --test test/.test.mjs
npm run prepare    # 从 src/ 同步 lib/

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群