Headroom:让AI Agent省60-95% Token的开源压缩工具
最近在用Claude Code的时候发现一个问题——跑几个复杂任务下来,Token消耗快得吓人。尤其是那种需要读大量文件、搜索代码库的场景,一轮对话下来几万Token就没了。
后来找到了Headroom这个项目,试了一下确实有效果。
它是做什么的
简单说,Headroom是一个上下文压缩层。它在你的AI Agent和LLM之间加了一层,把要发送的内容先压缩一遍再送给模型。
核心卖点:
- 省Token:官方数据是60-95%的削减
- 不影响准确率:在GSM8K、TruthfulQA等基准测试上,压缩后准确率基本不变
- 本地运行:数据不会上传到任何地方
- 可逆压缩:原始内容保留着,模型需要的时候可以取回来
实际效果
官方给出的测试数据:
| 场景 | 压缩前 | 压缩后 | 节省 |
|---|---|---|---|
| 代码搜索(100条结果) | 17,765 tokens | 1,408 tokens | 92% |
| SRE故障排查 | 65,694 tokens | 5,118 tokens | 92% |
| GitHub Issue分类 | 54,174 tokens | 14,761 tokens | 73% |
| 代码库探索 | 78,502 tokens | 41,254 tokens | 47% |
我在自己项目里试了一下,大概能省50-70%左右,没有官方说的那么夸张,但确实能省不少。
怎么用
最简单的方式是一行命令包裹你的Agent:
# 安装
pip install "headroom-ai[all]"
# 包裹Claude Code
headroom wrap claude
# 包裹Codex
headroom wrap codex
# 或者用代理模式(零代码改动)
headroom proxy --port 8787
代理模式最方便——它启动一个本地代理服务器,你的Agent配置指向这个代理就行,不用改任何代码。
支持哪些Agent
| Agent | 支持方式 |
|---|---|
| Claude Code | headroom wrap claude |
| Codex | headroom wrap codex |
| Cursor | 打印配置,粘贴一次即可 |
| Aider | 启动代理+启动 |
| Copilot CLI | 启动代理+启动 |
基本上主流的编程AI助手都支持。
几个亮点
1. 跨Agent记忆共享
如果你同时用Claude Code和Codex,Headroom可以在它们之间共享压缩后的上下文,避免重复处理相同内容。
2. headroom learn
这个功能挺有意思——它会分析你失败的会话,找出问题所在,然后自动写入CLAUDE.md或AGENTS.md,相当于让Agent自己总结经验教训。
3. 内容感知压缩
不是简单的截断或删减,而是根据内容类型选择不同的压缩算法:
- JSON数据 → SmartCrusher
- 代码 → CodeCompressor(AST感知)
- 文本 → Kompress-base(专门训练的模型)
适合谁用
- 每天用AI编程助手,Token消耗大的开发者
- 同时用多个Agent,想要统一管理的团队
- 对数据隐私有要求,不想把代码发到外部服务的人
不适合谁用
- 只用单一Agent,且用量不大
- 沙箱环境,没法跑本地进程
项目地址:https://github.com/chopratejas/headroom
1.4万星,Apache 2.0协议,Python和TypeScript都支持。如果你也在为Token费用头疼,可以试试。