dsh-usage-stats
by lixingxing126
最小可跑的 DeepSeek Harness(DSH)用量统计插件:通过 llm/stream waterfall 包一层,把每次模型调用的 token 用量(输入 / 输出 / 缓存读 / 缓存写)落进本地 SQLite,并注册一个 read usage 工具供 agent 查询,同时提供 费用折算 和 网页仪表盘 。
安装
dsh plugin --profile web add github:lixingxing126/dsh-usage-statsGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
最小可跑的 DeepSeek Harness(DSH)用量统计插件:通过 llm/stream waterfall 包一层,把每次模型调用的 token 用量(输入 / 输出 / 缓存读 / 缓存写)落进本地 SQLite,并注册一个 read_usage 工具供 agent 查询,同时提供费用折算和网页仪表盘。
- 只观察、不改流:记账失败不会影响模型调用本身
- 仅依赖 Node 内置模块(
node:sqlite、node:fs等),零运行时依赖 - 数据存
~/.dsh/usage-stats.db(可用config.dbPath覆盖) - 费用按默认 DeepSeek 官方单价折算(人民币 ¥,可用
config.prices覆盖) - 网页面板:
http://127.0.0.1:3080/usage-stats/panel
截图

在 Web UI 左侧栏点「用量统计」,即可在会话区内嵌打开仪表盘(保留左侧栏)。面板包含:
- 概览卡片:请求数、输入 / 输出 token、缓存读 / 写 token、估算费用(¥)
- 分布图:按费用(或请求数)占比的堆叠条形图与图例
- 明细表:按模型(或按天)的 token 用量与费用明细
- 时间窗口:全部 / 近 1 天 / 近 7 天 / 近 30 天
统计口径与 read_usage 工具一致,均来自本地 SQLite。
安装
# 方式 1:从 GitHub 安装
npx -y @deepseek-ai/dsh plugin --profile web add github:<your-user>/dsh-usage-stats
# 方式 2:本地目录安装
npx -y @deepseek-ai/dsh plugin --profile web add link:D:\path\to\dsh-usage-stats
装完重启 DSH(dsh web)。需要 Node ≥ 22.13(node:sqlite 依赖)。
使用
插件自动记录所有经 DSH 发起的模型调用。要查看统计,在会话里让 agent 调用 read_usage 工具,或直接:
node -e "import('node:sqlite').then(({DatabaseSync})=>{const db=new DatabaseSync(process.env.DSH_HOME||require('os').homedir()+'/.dsh' + '/usage-stats.db');console.log(db.prepare('SELECT COUNT(*) n, SUM(input_tokens) i, SUM(output_tokens) o FROM requests').get())})"
read_usage 参数:
| 参数 | 取值 | 说明 |
|---|---|---|
since |
1d / 7d / 30d / all |
时间窗口,默认 all |
group |
model / day |
分组维度,默认 model |
返回结构:
{
"since": "all",
"group": "model",
"totals": { "requests": 1, "input_tokens": 120, "output_tokens": 60, "cache_read_tokens": 30, "cache_write_tokens": 10 },
"breakdown": [ { "bucket": "deepseek-v4-pro", "requests": 1, "input_tokens": 120, "output_tokens": 60, ... } ]
}
开发 / 冒烟测试
node smoke.mjs
结构
dsh-usage-stats/
├── package.json # dsh.bundle.patch -> cordis.patch.yml
├── cordis.patch.yml # 挂载插件
├── dsh/
│ ├── index.js # 插件本体(llm/stream 包装 + SQLite + read_usage + HTTP 路由)
│ ├── client.js # Web UI 侧边栏「用量统计」入口,会话区内嵌打开面板
│ └── panel.html # 仪表盘页面(/usage-stats/panel)
├── docs/panel.png # 界面截图
├── smoke.mjs # 冒烟测试
└── README.md
License
MIT
原始 README: https://github.com/lixingxing126/dsh-usage-stats/blob/main/README.md ↗
同类插件
查看全部 →
dsh-usage-plugin
DeepSeek Harness 用量与消耗插件(dsh-usage)—— 每次调用的 token 用量/缓存命中统计、峰谷计费、余额查询、CSV/JSON/PNG 导出,可经桌面端一键安装或命令行 dsh plugin add 安装。

dsh-whale-report
🐋 鲸鱼记事本 — 你的 Agent 年度报告:从会话事件日志生成日报/周报/月报/年报,任意区间、只读不改写

dsh-balance-meter
输入框 dock 显示 DeepSeek 账户余额与会话花费,自动拉取官方定价,支持高峰/低谷计价。

dsh-usage-stats
DeepSeek Harness 使用统计插件|Token 总量与构成、7/30 天趋势、年度活跃热力图、模型占比、工作区/任务筛选、CSV/JSON 导出

dsh-balance
DeepSeek 余额实时显示插件: 在 dsh Web UI 输入框 下方、命中率/输入输出 token 统计条所在的同一行 , 实时显示:

dsh-balance-monitor
DeepSeek 账户余额、剩余比例条与今日花费,显示在 dsh 侧边栏底部 · DeepSeek balance, remaining-ratio bar and today's spend in the dsh si