在 DeepSeek Harness (DSH) 中,每一轮对话都会重发整个历史记录。当对话长度增加,输入令牌成本会迅速上升,成为主要的开销。dsh-squeeze-command 旨在解决这个问题。它提供手动、预算导向的上下文压缩:对话模型选择范围,廉价的高速模型(闪存级)负责写入摘要。
是什么¶
这是一个 DSH 插件,用于按需压缩会话上下文。它由 hardes11 维护。它通过让对话模型选择范围,并由廉价的高速模型编写摘要,从而减少输入令牌成本,同时保留原始会话日志。
核心功能¶
- 切割重发内容:通过一个命令即可将对话压入预算范围内,且摘要由配置的廉价路由生成,而非昂贵的对话模型。
- 无丢弃内容:每次压缩都会在表面留下检查点,原始消息保留在追加式会话日志中;
/squeeze map可用于浏览它们。 - 抵抗压缩后困惑:每个检查点摘要都带有明确的状态行,并计算来自未压缩尾部的可信摘要,防止模型在摘要描述的工作未完成时重新进入该工作。
- 仅在你询问时触发:没有阈值,没有自动触发,且拒绝在代理回合进行时运行。
- 无需调度代理:摘要委托已内置,你只需运行一个命令,其余一切都在其中发生。
安装与启用¶
1、克隆插件到 DSH 命令目录:
git clone https://github.com/hardes11/dsh-squeeze-command.git ~/.dsh/commands/dsh-squeeze-command
2、在预设的 agent.cordis.yml 中挂载并配置。需要指定目标令牌预算和摘要模型:
- id: command-squeeze
name: 'dsh-squeeze-command'
config:
contextBudgetTokens: 100000
summarizerProvider: <your-provider>
summarizerModel: <your-flash-model>
命令用法¶
1、/squeeze:压缩到配置的 contextBudgetTokens(预设配置)。
2、/squeeze 60k:一次性指定压缩目标(例如 60000 tokens)。
3、/squeeze status:查看当前会话的 token 估算、预算和摘要器状态。
4、/squeeze map:生成 HTML 交互地图,查看压缩前后的对比和保留比例。
5、/squeeze help:查看完整使用指南。
注意事项¶
- 仅手动模式:插件拒绝在代理回合进行中运行。
- 缓存失效:压缩会重写上下文前缀,从而使提示缓存失效;建议在缓存已过期或不需要缓存时运行。
- 模型要求:摘要路由应配置为廉价、快速模型(推荐闪存级),因为摘要任务不需要高推理强度。
- 必要配置:运行前需配置
contextBudgetTokens、summarizerProvider和summarizerModel。
总结¶
dsh-squeeze-command 是 DeepSeek Harness 中用于控制上下文成本的实用工具。它通过手动触发和闪存级摘要模型,在保持上下文完整性的同时减少令牌消耗,适合需要长时间运行、对输入成本敏感的会话场景。