dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH ??????|????????,?? Token ???????????????????? / All-session token usage statistics for DeepSeek Harness
在 DSH 设置里增加一个 使用统计 页面:扫描本机全部会话日志,汇总累计、峰值、连续天数、聊天时长、每日趋势和模型用量。


预览图使用虚构的演示数据,不含真实会话、账号或用量。
输入 + 缓存读取 + 缓存写入 + 输出,与 DSH 自己的 tokenUsage 投影一致。inheritedEventCount 去掉父会话前缀,避免重复计费。assistant/message 的 message.source.model;没有该字段的旧日志回退到最近的 request/header.config.model。数据来自 sessionQuery 对持久化日志的重放;不会改写日志。首次打开会在后台扫描全部会话(几百个会话通常十几秒到半分钟,视日志量而定),随后缓存 5 分钟,页面上的“刷新”会强制重算。
从 GitHub 安装:
dsh plugin --profile desktop add github:XEsx630/dsh-usage-stats
本地开发时,也可以在 插件 / Plugins 页面选择 Add plugin,填入本目录的绝对路径并启用 dsh-usage-stats。两种方式都依赖 profile 里声明的 bundle;HMR 会热加载,如果设置侧栏没有出现 使用统计,刷新页面(Ctrl+R)或重启 DSH。
在插件页面卸载,或从 profile 的 package.json 中删除 dsh-usage-stats 依赖与 bundle 条目,再删掉 node_modules/dsh-usage-stats。
| 文件 | 作用 |
|---|---|
index.js | Host 半:重放会话、按日期/模型折叠、/dsh-usage/api/stats |
client.js | 浏览器半:注册 settings.section,绘制卡片、热力图、趋势图和环图 |
cordis.patch.yml | 把 Host 插件插入 profile |
test/fold.test.js | 折叠、模型归属、fork 前缀的自检(node --test) |
GET /dsh-usage/api/stats(同源、仅本机 Host)返回:
{
"generatedAt": 1792416000000,
"sessions": 76,
"failed": 0,
"longestChatMs": 63000000,
"totals": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0, "total": 0 },
"days": [{ "date": "2026-10-19", "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0, "turns": 0, "total": 0 }],
"models": [{ "model": "deepseek-v4.1-flash", "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0, "total": 0 }],
"modelDays": [{ "date": "2026-10-19", "models": [{ "model": "deepseek-v4.1-flash", "total": 0 }] }]
}
?refresh=1 跳过 5 分钟缓存。