前言¶
在 DeepSeek Harness Desktop 里跑多模型、多会话时,Token 消耗分散在 Session 日志里,很难一眼看出「哪天用得多、哪个模型占大头、最近有没有连续在用」。社区插件 dsh-token-usage(维护者 SeyanaA)在客户端侧栏增加 Token 用量 入口,把 DSH 已有的 Session 日志折叠成本地面板,不联网、不上报、不改会话内容。
这是什么¶
dsh-token-usage 是面向 DeepSeek Harness Desktop 的客户端插件:左侧栏「新会话」下方新增 Token 用量,主面板提供热力消耗图、每日趋势折线图、模型消耗百分比环形图(按 provider 区分同名模型)。数据全部来自本机 ~/.dsh/sessions/... 的 Session 日志;统计与缓存均在本地完成,缓存为 $DSH_HOME/dsh-token-usage/cache.json,只含每日/每会话的 token 计数,不含消息正文。仓库:https://github.com/SeyanaA/dsh-token-usage;目录页:https://www.skillhub.cn/plugins/SeyanaA/dsh-token-usage。许可证 MIT,当前 package 版本 0.1.1。
环境要求¶
- DeepSeek Harness Desktop ≥ 0.2.0-rc.1(依赖
sessionPersistence/sessionQuery/llm/webServer等宿主服务与客户端 slots API); - 已在 macOS + DSH Desktop 0.2.1-rc.3(profile:
desktop)上验证; - Node.js 无需单独安装(DSH 自带运行时,
engines.node >= 22)。
核心功能¶
页面自上而下:5 张总览卡、Token 活动热力图、时间范围选择、每日 Token 趋势图、模型用量(环形图 + 列表),右下角刷新按钮与最近更新时间;深/浅色主题自适应。图表为手写 SVG/CSS,无第三方图表库。
| 模块 | 说明 |
|---|---|
| 总览卡 ×5 | 累计 Token、峰值 Token(单日最高)、最长聊天时长、当前连续天数、最长连续天数 |
| Token 活动热力图 | 12 个完整自然月窗口;列对齐周一→周日;每日 / 每周 / 累计切换;悬停显示该格 tokens |
| 每日 Token 趋势图 | 按模型分线;悬停显示日期、各模型 tokens 与合计;占比小于 1% 的模型不单独画线 |
| 时间范围 | 近 7 日 / 近 30 日,趋势图与模型占比随之切换 |
| 模型用量 | 环形占比 + 列表;悬停高亮对应段;同名模型按供应商追加后缀(如 DeepSeek V4.1 Flash · OpenCode) |
统计口径(摘自 README):包含主会话、subagent、crew 子任务的模型调用;不包含标题生成、网页搜索等未写入主 agent assistant/message.usage 的辅助调用。最长聊天时长按相邻间隔 ≤ 10 分钟的连续活动块计算;模型身份由 provider + model 共同确定。
安装与启用¶
插件以 本地 bundle 形式安装到 DSH profile(默认 desktop)。安装后保留插件目录,不要删除或移动(profile 通过 link: 引用它)。
方式一:让 DSH Agent 安装(推荐)¶
- 把仓库放到本地固定目录(README 示例):
git clone https://github.com/SeyanaA/dsh-token-usage.git ~/dsh-token-usage
- 在 DeepSeek Harness 新建对话,对 Agent 说明(路径改为你本机绝对路径):
把
/Users/你的用户名/dsh-token-usage作为本地插件安装到当前 profile。
Agent 会调用 plugin_manager 的 install_bundle,target 为该目录绝对路径。
- 若侧栏未立刻出现 Token 用量,完全退出并重新打开 DeepSeek Harness。
成功标志:左侧栏「新会话」下方出现 Token 用量,点开后可见统计卡与图表。
方式二:手动安装¶
-
将仓库或 Release 解压到固定目录,例如
~/.dsh/local-plugins/dsh-token-usage。 -
编辑
~/.dsh/profiles/desktop/package.json(其他 profile 替换desktop):
{
"dependencies": {
"dsh-token-usage": "link:/Users/你的用户名/.dsh/local-plugins/dsh-token-usage"
},
"dsh": {
"profile": {
"bundles": [
"dsh-token-usage"
]
}
}
}
- 在 profile 目录执行:
cd ~/.dsh/profiles/desktop
pnpm install
若无本机 pnpm,可用 DSH 自带 pnpm(macOS 路径示例,版本可能不同):
node "/Applications/DeepSeek Harness.app/Contents/Resources/runtime/primary-runtime/dependencies/pnpm/bin/pnpm.cjs" install
- 完全退出并重新打开 DeepSeek Harness。
方式三:从 Release 安装¶
- 在 Releases 下载
dsh-token-usage-0.1.0.zip(同页有SHA256SUMS.txt); - 解压到例如
~/dsh-token-usage(目录内应直接有package.json、index.js、client.js); - 按方式一或方式二注册 bundle。
更新:在插件目录 git pull 后,让 Agent 再次 install_bundle 同一目录,或重启 DSH(Node 侧需重启;客户端页面部分支持热加载)。
卸载:Agent 调用 remove_bundle(target:dsh-token-usage);或手动删除 package.json 中对应 dependencies 与 dsh.profile.bundles 项,再 pnpm install 并重启 DSH。
典型用法¶
安装并重启后,从侧栏进入 Token 用量 即可浏览总览与图表,无需额外配置项。
- 用 时间范围(近 7 日 / 近 30 日)切换趋势图与模型占比区间。
- 在 Token 活动 卡片切换 每日 / 每周 / 累计,悬停热力格查看该格 tokens;跨月时窗口按自然月整体切换。
- 点击右下角 刷新 更新数据;正在进行的会话每次刷新会重新读取,已结束会话按 revision 增量缓存。
若数字全为 0:当前 profile 尚未产生模型对话,先聊一轮再打开面板。若面板空白或一直加载:确认安装目录未被移动,并重启 DSH 以加载宿主路由。
适用场景与注意¶
适合谁:需要在 DSH Desktop 本机查看 Token 趋势、模型占比与活动热力的开发者;关心数据是否出本机的用户(插件不发起网络请求)。
权限与安全:插件以当前 DSH 进程权限读取 Session 日志并写本地缓存。安装前应阅读仓库源码与 MIT 许可证;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系。
开发与自测(可选):克隆仓库后在本目录运行 node test/run.mjs,无需额外依赖;CI 在 GitHub Actions 上跑同一命令。
结尾¶
dsh-token-usage 把 DSH 已记录的 Session 日志折成可读的 Token 面板:热力图看长期节奏,折线图看按模型分的日趋势,环形图看区间占比,且全程本地计算。进一步了解可访问目录页 https://www.skillhub.cn/plugins/SeyanaA/dsh-token-usage 与 GitHub https://github.com/SeyanaA/dsh-token-usage。