dsh-warm
在终端中运行以下命令:
dsh plugin install JanEickholt/dsh-warm
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 终端执行 dsh plugin install JanEickholt/dsh-warm,或从 https://github.com/JanEickholt/dsh-warm 克隆后按 README 用 link 协议加入 profile 并重启 harness。
插件介绍
在 DeepSeek Harness 里,一次对话往往带着很长的上下文前缀;提供商的 prompt-cache 有 TTL,工具一旦跑得比缓存久,下一轮真实请求就会按 miss 价全量预填,并重新承受几十秒的首 token 延迟。常见场景是长 bash、job_output、等待队友 agent 结束——这些等待你几乎确定会话还会接着跑,但前缀却可能已经凉掉。
dsh-warm 是挂在主机上的温热插件:它只在「Agent 循环卡在工具执行里」这段时间动手。它会抓住会话里最后一次对话请求的冻结快照,在缓存即将过期前,经 host 的 llm/stream 瀑布以 maxTokens: 1 轻量重放一次并丢弃回复,从而刷新前缀;工具结果仍落在仍温热的前缀上,后续正式请求更容易走 cache hit 计费。
设计上刻意不碰空闲会话和用户输入类工具(如 ask_user_question):实测里绝大多数会话不会回来,对 idle 做 naive 温热反而亏。重放只改 maxTokens 与超时 signal,其余与真实调用字节一致,走同一适配器与 cost-meter,账本可核对。按 provider 配置 TTL、间隔与 ping 上限,还有 dryRun、日预算等护栏。
适合长期用 Harness、工具阻塞经常超过各提供商 prompt-cache TTL、且已在 cost-meter 里关注输入 token 与 TTFT 的团队或个人;需要为每个要温热的 provider 有实测或文档化的 TTL 下限。
使用场景
- 长 bash 或 job_output 执行时间超过 provider prompt-cache TTL
- Agent 循环等待队友或子任务结束,期间无新对话轮次
- 希望工具返回后下一请求走 cache hit,避免全量预填与长 TTFT
适合人员
- 日常用 DeepSeek Harness、工具等待较频繁的开发者
- 已在 dsh-cost-meter 中核对输入 token 与 TTFT 的用户
- 为各 provider 配置过 TTL 并愿意按 provider 调温热规则的团队