前言¶
在 DeepSeek Harness(DSH)里跑智能体,每一轮对话、每一次工具调用都会落在会话轨迹里。开发者往往关心三件事:实际用的是哪套模型、吞吐和延迟如何、以及若按企业 API 价目表算会花多少钱。手工翻 session.jsonl 或只看账单,很难把「哪一步用了谁、各桶 Token 多少、与企业 Claude/Grok 价对比」对齐到同一条时间线。
下面介绍社区插件 token-gobbler(仓库 Psynosaur/dsh-token-gobbler),维护者为 Psynosaur,分类为模型推理。它读取 DSH 持久化的会话数据,重建统计并给出 Web 仪表盘与 CLI 报告;README 的定位是:在 DSH 里用模型本身就是在做评测,本插件是对这套「已跑过的评测」做审计。
这是什么¶
token-gobbler 是 DSH 的 composition 插件:从轨迹文件 ~/.dsh/sessions/<ws>/<sid>/session.jsonl.zstd(多帧 zstd 压缩的 JSONL 事件日志)解析每一会话,并结合 projection store 做模型归属与 Token 汇总;再按可配置的价目表(企业侧与本地侧)估算费用。同一套度量适用于本地 llama.cpp、DeepSeek API 或企业托管模型等任意经 DSH 记录下来的来源。
核心功能¶
会话级重建¶
对每个会话,插件会整理:
- 模型归属 — 逐步匹配实际提供推理的 provider/model;优先使用每轮
usage块,否则按步数估算,再否则用 profile 默认模型;并与 projection store 的权威合计对齐、拆分到实际使用的模型。 - Token 分桶 — 未缓存输入、输出、缓存读、缓存写(thinking 作为 output 的子类,不重复计数)。
- 速度 — 解码 tok/s(流式输出 ÷ 首块到 usage 块的时间)、预填充 tok/s(新输入 ÷ TTFT),以及逐步 thinking 时间。
- 工具调用成本 — 按工具参数载荷体量估算(约 chars/4),而非整步上下文。
- 定价 — 价目表(企业 vs 本地)及 WFH / 企业成本拆分。
解析与报表的核心逻辑在 lib/trajectory.ts、lib/report.ts;含多帧 zstd 解压、逐步时间戳、内存与磁盘两层解析缓存,以及 Reprocess 清空缓存后重扫历史文件。
Web 仪表盘¶
安装并重启 harness 后,DSH 设置模态框会增加 Token Gobbler 区域:折叠抽屉包括 Cost、Tokens、Speed、Activity、Chart defaults、Imported sources 等;提供 Refresh 与 Reprocess。右下角活动入口(README 中的 🦃 按钮)打开活动模态,标签页包括 Overview、Cost、Performance、Runs(同模型多次运行横向对比)、Compare(可选 2–4 条不同模型运行,按进度或墙钟时间对齐)、Daily(按日 Token 热力日历)、Llama Metrics(轮询 llama.cpp 服务)、Settings(价目表)。
图表由插件自研 canvas(client/graph.ts、client/graph-canvas.tsx)绘制,不捆绑第三方 chart 库。六种模式:Lines、Both、Dots、Trend、Bars、Heat;默认模式与曲线样式可在 Settings › Token Gobbler › Chart defaults 中配置。
导入其他 DSH 主目录¶
Settings › Token Gobbler › Imported sources 可注册另一台机器或其它 OS 上的 DSH home(例如挂载的 NTFS 用户目录、macOS /Volumes、rsync 的 ~/.dsh 副本),使统计覆盖多台设备上的 DSH 会话。
命令行报告¶
不打开 Web 也可生成报告:
node bin/token-gobbler.js # 可读格式
node bin/token-gobbler.js --json # 机器可读
node bin/token-gobbler.js --days N # 限定最近 N 天
package.json 中还提供 npm scripts:usage、usage:json,以及若干 report:* 辅助脚本(如 report:days)。
安装与启用¶
官方 README 给出的安装方式为:
npx @deepseek-ai/dsh plugin --profile web add github:Psynosaur/dsh-token-gobbler
完成后需 重启 harness。本地开发可在 profile 的 dependencies 中加入 "token-gobbler": "link:/path/to/token-gobbler",并在 dsh.profile.bundles 中加入 "token-gobbler",再执行 pnpm install。
插件要求 Node.js >= 24(见 package.json 的 engines)。当前资料中的版本号为 1.2.1,许可证 MIT。
典型用法¶
- 按上文命令安装插件并重启 DSH(web profile)。
- 照常使用 DSH 完成开发任务,会话写入默认轨迹路径。
- 在设置中打开 Token Gobbler,用 Refresh 拉最新数据;若改过解析逻辑或怀疑缓存,用 Reprocess 重解析历史轨迹。
- 在 Activity 模态的 Runs / Compare / Daily 等页查看模型归属、速度与费用;或在终端运行
node bin/token-gobbler.js --days 7导出近一周汇总。 - 若有多机数据,在 Imported sources 注册额外
~/.dsh路径后再刷新统计。
适用场景与注意¶
适合谁: 长期用 DSH 做智能体开发、需要在真实工作负载上对比本地模型与企业 API 模型表现与 Token 成本的人;希望把「日常会话」当作可复现评测数据集并保留明细的人。
权限与安全: 插件以 当前 DSH 进程权限 读取本机(及你配置的导入路径下)的会话与 projection 数据。安装前应在 GitHub 查看源码与 MIT 许可证,确认导入路径不会指向不可信目录。
生态说明: DSH 采用「一切皆插件」的扩展方式;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系,本文安装命令以仓库 README 为准。
结尾¶
token-gobbler 把 DSH 已记录的会话轨迹转成可审计的 Token、速度与价目对比,CLI 与 Web 共用同一套解析。进一步了解可访问目录页 Psynosaur/dsh-token-gobbler 与源码 github.com/Psynosaur/dsh-token-gobbler。