Warm Compact 赶在缓存变冷前压缩
缓存变冷前自动压缩空闲会话或续期缓存,并统计节省。
后台运行,无界面。这里显示的是示意日志。
示意。实际效果取决于 Mod、终端和运行环境。
安装
/plugin marketplace add ziedgithub/claude-code-mods
/plugin install warm-compact@zied-mods
/reload-plugins在 Claude Code 会话里逐行执行这些命令。
claude plugin marketplace add ziedgithub/claude-code-mods
claude plugin install warm-compact@zied-mods然后在会话里执行 /reload-plugins,或开一个新会话。
请帮我安装 Claude Code Mod「Warm Compact 赶在缓存变冷前压缩」(https://github.com/ziedgithub/claude-code-mods)。安装前先阅读仓库 README 的 Security 和 Requirements 部分,告诉我它会读写哪些内容、运行什么命令、是否联网,以及对 Claude Code 版本、系统和终端的要求。确认没有问题后,运行 claude plugin marketplace add ziedgithub/claude-code-mods 和 claude plugin install warm-compact@zied-mods 完成安装,最后提醒我在会话里执行 /reload-plugins。把这段话发给 Claude Code,它会先读原作者说明再安装。
git clone https://github.com/ziedgithub/claude-code-mods
cd claude-code-mods
claude --plugin-dir ./warm-compact克隆仓库后用 --plugin-dir 在本地会话中试用。
它会碰什么
据原作者说明,收录时核对;可用 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。