记忆与上下文出现在 · 后台 / 状态行 / 对话内收录

Warm Compact 赶在缓存变冷前压缩

缓存变冷前自动压缩空闲会话或续期缓存,并统计节省。

Warm Compact 赶在缓存变冷前压缩 · 效果预览 · 示意示意
> 给订单列表加上分页
⏺ 我先看看列表组件。
⇊ compacting in 23s, before the cache goes cold · type to hold
on Warm compact off Keep warm
Compacted at 14:32 (120k → 4k tokens), just before the prompt cache went cold.
(示意)

后台运行,无界面。这里显示的是示意日志。

❯

示意。实际效果取决于 Mod、终端和运行环境。

安装

/plugin marketplace add ziedgithub/claude-code-mods
/plugin install warm-compact@zied-mods
/reload-plugins

在 Claude Code 会话里逐行执行这些命令。

它会碰什么

据原作者说明,收录时核对;可用 claude plugin validate 自行检查。

读取

有

读取提示框、会话用量与限额、~/.claude/settings.json 和缓存相关环境变量。

写入文件

有

首次启动在 ~/.claude/settings.json 写入 idleCompaction:false;节省统计存插件存储。

运行命令

未说明

联网

有

空闲时触发会话压缩;开启 Keep warm 时发送续期缓存的小请求,消耗 token。

介绍

Warm Compact 是 Claude Code 的 function hooks Mod。你离开后,回来时下一条提示要把整段对话以无缓存方式重读,代价最高。它在提示缓存过期前约一分钟自动压缩空闲会话,让压缩本身还能读缓存,回来后从简短摘要开始;或开启 Keep warm,用一次很小的请求续期缓存、保留完整对话(默认每次离开最多续 2 次,之后交给压缩)。

  • 只在空闲时:没有任务在跑、提示框为空且一分钟未输入;对话小于 50,000 token、关闭了 auto-compact、任一用量限额已用到 90% 以上、切换过模型或电脑睡眠过,都不动作。压缩前 30 秒状态行会倒计时,打字即可推迟。
  • 结果写进记录:回来后记录里有一行(只给你看,不发给模型)说明压缩/续期情况;/warm-compact stats 汇总本会话、近 7 天与累计节省的 token。
  • 开关:提示框下有 Warm compact 和 Keep warm 两个按钮,也可用 /warm-compact on|off 与 /keep-warm on|off;minTokens、leadSeconds、keepWarmRenewals 可在 /config 调整。

注意:首次启动时它会在 ~/.claude/settings.json 里写入 "idleCompaction": false,关闭 Claude Code 自带的空闲压缩(并在记录中告知),卸载后不会自动恢复。Keep warm 在你离开时会消耗 token,默认关闭。连续两次压缩发现缓存已失效会自动停用到 Claude Code 更新;作者建议设置 "promptCacheTtl": "1h"。claude -p 无头运行不受影响。

需要 Claude Code 2.1.296 或更新版本。README 没有专门的安全说明,权限按 README 与源码整理;评分为资料校准,未经本站实测。预览为示意。

适合谁

  • 长会话中常离开、回来后不想付整段无缓存重读的人
  • 在意用量限额或 token 成本的人

运行要求

  • Claude Code ≥ 2.1.296
  • 会关闭 Claude Code 自带的空闲压缩,卸载后需手动删除该设置。
  • 作者建议在设置中指定 promptCacheTtl 为 1h。