前言¶
DeepSeek Harness(DSH)擅长在长对话里维持上下文,开发者往往要到账单出来才发现花费超出预期。DSH 官方界面能看到上下文压力和 token 计数,但很难直接回答:哪类调用最贵、哪些时段在峰价、应该先改 compaction、输出长度还是错峰。dsh-token-audit 针对这三类问题,只读本地 ~/.dsh/sessions 里的会话日志,按 DeepSeek 官方峰/闲时单价逐笔计价,输出一次性的审计报告和排序后的「Savings plan」,而不是再做一个常驻仪表盘。
这是什么¶
维护者为 GitHub 用户 lengrufeng2008,仓库 lengrufeng2008/dsh-token-audit,npm 包名 dsh-token-audit(当前资料中版本为 0.2.0),许可证 MIT。社区目录分类为 admin-security,SkillHub 目录页:https://www.skillhub.cn/plugins/lengrufeng2008/dsh-token-audit。
工具定位:Audit DeepSeek Harness session logs: exact token cost, waste patterns, and a data-driven savings plan。实现形态是 本地 CLI + 可选 DSH 插件;默认零配置、不上传、无遥测。
核心功能¶
精确记账¶
从会话日志里每条 assistant/message 读取 provider 上报的用量:
cacheReadTokens:命中 prompt cache 的输入(便宜)inputTokens:未缓存输入(贵)outputTokens:生成内容(含 reasoning,通常最贵)
按每条调用的北京时间选择峰时或闲时单价,支持 deepseek-flash 与 deepseek-v4-pro;未知模型按 Flash 费率估算并在报告中标记。
峰时定义为北京时间工作日 09:00–12:00、14:00–18:00(不含 2026 年中国法定节假日);周末一律闲时。资料中的单价(CNY / 百万 token,截至 2026-10-31)如下:
| Model | Cache hit | Cache miss | Output |
|---|---|---|---|
deepseek-flash idle |
0.02 | 1.00 | 4.00 |
deepseek-flash peak |
0.04 | 2.00 | 8.00 |
deepseek-v4-pro idle |
0.15 | 4.50 | 13.50 |
deepseek-v4-pro peak |
0.30 | 9.00 | 27.00 |
报告内容¶
终端默认报告包含:时间窗口、会话数、模型调用次数、总费用与日/月 extrapolation;费用拆分(cache read、output、cache miss、峰时占比);上下文长度分布;Savings plan(如 context cap、output 减量、错峰等项的估算节省比例);以及「What to do first」行为建议(例如高 context 调用占比、峰时花费占比)。
完整布局示例见仓库内 docs/demo.html,可在浏览器中打开查看。
省钱方案与验证¶
Savings plan 在行为不变的前提下给出 gross 估算,各项可能重叠,文档明确不应视为承诺。常见杠杆包括:缩小上下文(compaction 更早触发)、输出纪律(如 reasoningEffort 从 max 降到 high)、错峰跑批处理、压缩工具输出(如 bash 日志进上下文)。
改配置前后可用 JSON 报告对比,比较时以 单次调用成本 为先,避免「总费降了但工作量减半」被误判为优化:
dsh-token-audit --format json > before.json
# ... 调整 compaction / effort / 错峰,等待可比时间窗口 ...
dsh-token-audit --format json > after.json
dsh-token-audit compare before.json after.json
生成 Lean preset¶
审计给出问题形状后,可导出一份 Lean 预设目录并作为 DSH 插件加载:标准工具集保留,compaction 触发从 80% 调到 45%、缩短保留尾部、工具结果截断到 4k 字符,并附带 cost-discipline persona。可用 --threshold、--retain、--prune 微调;新会话选用 Lean preset,已有会话仍用原 preset。
dsh-token-audit preset --out ./dsh-lean-preset
dsh plugin --profile web add ./dsh-lean-preset
DSH 插件形态¶
npm 包同时是 DSH bundle,注册只读 agent 工具 token_audit。在 agent 里请求类似「Audit my token spend for the last 30 days and tell me what to change.」即可得到与 CLI 相同的报告;不会将会话数据发往外部。
安装与启用¶
环境要求:Node.js 20+。若系统 PATH 中有 zstdcat,解码日志更快;否则使用内置纯 JS 解码器(Windows 走纯 JS 路径)。
零安装运行:
npx dsh-token-audit
或全局安装:
npm i -g dsh-token-audit
dsh-token-audit --days 7
作为 DSH 插件安装(资料原文命令):
dsh plugin --profile web add dsh-token-audit
安装插件前建议自行查看仓库源码与 MIT 许可证。插件工具在 当前 dsh 进程权限 下运行,只读本地会话目录;与其它 DSH 插件一样,启用即信任其代码路径。
典型用法¶
默认审计最近 30 天,输出到终端:
dsh-token-audit
常用参数(节选,完整表见 README):
dsh-token-audit --days 7
dsh-token-audit --since 2026-10-01 --until 2026-10-31
dsh-token-audit --all
dsh-token-audit --cwd Miner
dsh-token-audit --session 4160cf07
dsh-token-audit --format markdown --out report.md
dsh-token-audit --format html --out report.html --open
dsh-token-audit --format json > audit.json
会话根目录默认为 $DSH_HOME/sessions 或 ~/.dsh/sessions,可用 --sessions <dir> 覆盖。对外分享报告前可使用 --redact 隐藏会话标题、路径、命令与文件名,保留全部数字。
适用场景与注意¶
适合谁: 长期用 DSH 做 agent 开发、希望从已有日志里量化「钱花在 cache、输出还是峰时」、并想按数据排优先级改 compaction / effort / 调度的人。适合每月或某周账单异常后 跑一次 审计,而不是替代官方账单。
隐私: 全程本地计算,除你指定的报告文件外不写盘、无网络调用。插件工具只读。
局限(资料原文): 结果是基于日志的 估算,不是发票;订阅、赠额、退款、折扣不在日志里。峰/闲节假日按中国 2026 硬编码。第三方 provider 按 Flash 费率 fallback(README 截断处仍以此为准理解)。
DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。本插件 star 数在目录线索中为 0,是否采用应基于上述能力与你的合规要求自行判断。
结尾¶
dsh-token-audit 把 DSH 已落盘的会话日志转成可操作的 token 成本视图:官方单价、浪费模式排序、以及可选的 Lean preset 与 before/after 对比。需要零安装试用时执行 npx dsh-token-audit;要在对话里让 agent 拉同一份报告,用 dsh plugin --profile web add dsh-token-audit 启用 token_audit 即可。