第 36 卷
1169) 收录授权)。npm 已发布 `0.1.0`(`dsh plugin --profile web add dsh-usage` 即可安装),基于 Harness 持久化会话日志计算、无需独立统计数据库。核心能力:
- **每轮对话结束位置固定展示**:`Total · Input · Cache · Output · Cost`——正好补齐
#735 缺的"每轮 token 数",且区分输入/缓存命中/输出
- **Settings → Usage 完整用量页**:总 token、输入、缓存命中、输出、调用次数及**
预估费用**(需为 Provider/模型配置价格;缺 usage/价格时费用显示 `--`,对话底部省略 Cost,避免把不完整费用当总费用)
- **52 周用量热力图**(GitHub Contributions 风格)+ 按模型/会话/单轮查看
- 支持 DeepSeek Harness 中的其他模型和 Provider;`Cost` 为估算值,不代表供应商最
终账单 **零安装:直接读 `session.jsonl.zstd`(#45 作者方案)**——不用装任何插件,dsh 自己
写的会话原始数据里就有全部信息:
- `assistant/chunk` 里 `chunk.type` 为 `usage` 的事件,带着厂商返回的
`inputTokens` / `cacheReadTokens` / `outputTokens` / `reasoningTokens`——**逐请求**的(每个模型请求一条),不是会话汇总
- `request/header` 事件带着实际发出去的完整工具 schema 数组和系统提示词——量自
己前缀的大小不用额外花一次 API 调用 > **坑(#45 作者实测)**:`zstdDecompressSync` 读到第一个 frame 就停,而 dsh 是**每次
写入追加一个 frame**——一个 136 行的会话直接解压只会得到 1 行。要按 frame magic(`28 B5 2F FD`)切分后逐个解压。
**一行命令(#45 作者提供,零安装)**:`npx dsh-lean audit`——打印逐请求的命中拆分(命中/未命中/输出)+ 你前缀里最大的几个工具 schema(数据源同上,见 14.4 前缀瘦身
实测)。
**记忆/压缩生态工具**(#1052 长会话降本专题评论区,2026-08-14)——针对"长会话 token 暴涨"(原帖实测 70M→100M),社区给出两个互补方案:
工具作者定位机制
dsh-sgmefreehul记忆引擎(治本)「对话历史」与
| (freehul/ | 「长期记忆」分 |
|---|---|
| sgmehttps:// | 层:每轮零成本落 |
| github.com/ | 盘(L0,不走 |
| freehul/sgme, | LLM)→会话结束 |
| npm包dsh- | 提炼去重合并 |
| sgme) | (L1/L1.5/L2,提 |
炼前先剪枝剔除无用工具调用/中间产
物,实测省 65%~ 96% 会话内容)→
新会话按场景只注
入相关记忆块(纯结构化查询,不烧
token)→ 需要细节时
memorysearch 按需检索
| pi-quiet-tools(经 | weijiafu14提供 | 工具输出压缩(治 | 在进入模型上下文 |
|---|---|---|---|
| pi2dshhttps://gith | (freehul亦推荐) | 标) | 前压缩大工具结 |
| ub.com/weijiafu14 | 果:默认超过 | ||
| /pi2dsh挂载) | 12,000字符或240 |
行时只把确定性的头尾预览交给模
型,完整结果存本地 artifact、需要时
模型再读;阈值可用
QUIETTOOLSMAX CHARS /
QUIETTOOLSMAX LINES 调整。对
MCP/Playwright 大返回体有效(作
者实测 40,799 字符闭环压缩)。与缓
存兼容:见 14.1 严格前缀缓存规则—
—不绕开缓存,反而缩小"必然首次
miss"的工具结果
安装示例(pi-quiet-tools,摘自 #1052 作者实测):
npm i -g pi2dsh pi2dsh host --packages pi-quiet-tools@0.2.0 --out ./dsh-pi-quiet dsh plugin --profile web add file:$PWD/dsh-pi-quiet
> 两者不冲突:pi-quiet-tools 解决"大工具结果反复进上下文",dsh-sgme 解决"长会话越用越贵/延续性"——前者立即生效,后者适合需要跨会话迁移记忆的场景(#1052 评论区共识:把"对
话历史"和"长期记忆"分开,历史该滚就滚、记忆按需注入)。
14.8 成本相关踩坑清单
| # | 坑 | 现象 | 解法 |
|---|---|---|---|
| 1 | 缓存命中误判成"模 | A/B对比被1svs | 对比测试用全新 |
| 型变快" | 110s误导(第6章 | prompt |
坑 #6)
2频繁新建会话烧钱每个任务都冷启长任务/批量保持会
动,输入全价话延续
| 3 | 改配置悄悄杀掉命 | 命中%突然下降, | 监控统计行命中 |
|---|---|---|---|
| 中率 | 成本上涨 | %,前缀稳定 | |
| 4 | 只看总token误判 | 10k token 90%vs | 拆命中/未命中看 |
| 成本 | 10%差7.0× | (#735建议) | |
| 5 | 预算漏了输出侧 | 只按输入价算,账 | 按官方定价页/14.1 |
| 不对 | 价目表补输出价 |
(输出 = 未命中 3 倍,不享受缓存折
扣)
| 6 | 档位乱开 | 批量任务开max, | 批量用low,复杂 |
|---|---|---|---|
| 成本翻倍 | 任务才max | ||
| 7 | 跨峰谷边界比金额 | 成本对照实验结论 | 只比token,不比 |
| 错误(#45作者实 | 金额(跨边界前缀 | ||
| 测踩过) | 单价不同,见14.2 |
口径注意 2)
14.9 决策建议速查
场景建议
长工具链任务(20-50 步)high + 会话延续 + 前缀稳定;
2.4M 输入量级 ≈ $0.032(97% 命中,谷时)
批量/简单轮次low + 同会话批量(命中红利最大)
复杂推理/debugmax(成本换质量),单次任务可接受冷启动
| 成本敏感批处理 | low + headless +单会话串行 |
|---|---|
| 长跑任务(批量重构/测试/agent | 挪到谷时(北京晚8点后/早8点 |
| 长任务) | 前),账单直接减半(与命中率乘 |
法叠加,14.1)
性能/成本对比测试全新 prompt + 固定档位 + 多次取中位数;跨峰谷边界的组只比
token 不比金额(第 6 章 6.4/6.6,14.2 口径注意 2)
命中率异常下降先查前缀是否变动(配置/技能目录 /模型档位)
---
全站分卷索引 · 43 卷
- 1第 1 卷
- 2第 2 卷
- 3第 3 卷
- 4第 4 卷
- 5第 5 卷
- 6第 6 卷
- 7第 7 卷
- 8第 8 卷
- 9第 9 卷
- 10第 10 卷
- 11第 11 卷
- 12第 12 卷
- 13第 13 卷
- 14第 14 卷
- 15第 15 卷
- 16第 16 卷
- 17第 17 卷
- 18第 18 卷
- 19第 19 卷
- 20第 20 卷
- 21第 21 卷
- 22第 22 卷
- 23第 23 卷
- 24第 24 卷
- 25第 25 卷
- 26第 26 卷
- 27第 27 卷
- 28第 28 卷
- 29第 29 卷
- 30第 30 卷
- 31第 31 卷
- 32第 32 卷
- 33第 33 卷
- 34第 34 卷
- 35第 35 卷
- 36第 36 卷
- 37第 37 卷
- 38第 38 卷
- 39第 39 卷
- 40第 40 卷
- 41第 41 卷
- 42第 42 卷
- 43第 43 卷