
Headroom:开源上下文压缩层,让 AI Agent Token 消耗降低 60-95%
Headroom 是一个开源上下文压缩工具,通过智能压缩算法让 AI Agent 读取的提示词、工具输出、日志和 RAG 结果减少 60-95% 的 token,同时保持回答质量不下降。支持 Python/TS 库、代理模式、MCP 服务。
原文来源:chopratejas/headroom — 一个在 AI Agent 内容到达 LLM 之前进行智能压缩的开源层,6 种压缩算法、支持代理/MCP/库三种接入方式,可将 token 消耗降低 60-95%。
如果你用过 AI 编程 Agent,你一定经历过这个场景:Agent 开始干活了,然后……它把整个代码库读了一遍,把日志全部 dump 出来,把所有工具调用的输出原封不动丢给 LLM。你的 token 消耗像开了水龙头一样哗哗流走。
Headroom 的出现就是解决这个问题的——而且它做得远比「Gzip 压缩文本」要聪明得多。
它做了什么
Headroom 在 Agent 输出内容到达 LLM 之前,对其进行智能压缩。关键区别在于它不仅仅是压缩文本,而是理解内容类型并选择最合适的压缩策略:
你的 Agent / App
│ 提示词 · 工具输出 · 日志 · RAG 结果 · 文件
▼
┌────────────────────────────────────────────┐
│ Headroom │
│ ────────────────────────────────────── │
│ CacheAligner → ContentRouter → CCR │
│ ├─ SmartCrusher (JSON) │
│ ├─ CodeCompressor (AST) │
│ └─ Kompress-base (文本) │
│ │
│ 跨 Agent 记忆 · headroom learn · MCP │
└────────────────────────────────────────────┘
│ 压缩后的提示词 + 检索工具
▼
LLM 提供商
核心架构
ContentRouter(内容路由器)
检测传入内容的类型,自动选择最合适的压缩器。JSON 格式走 SmartCrusher,代码走 CodeCompressor,普通文本走 Kompress-base 模型。这意味着一个 Markdown 日志文件会被不同的方式处理,而不是一刀切。
SmartCrusher
针对 JSON 数据的专用压缩器,能从结构化数据中提取关键信息,去掉冗余的字段名和重复结构。
CodeCompressor(AST 级代码压缩)
不是简单删减代码行,而是通过理解 AST(抽象语法树)结构,去掉不影响语义的环节——空白符、注释、冗余括号。比简单的行删除压缩率高得多,而且编译后效果完全一致。
Kompress-base
一个专门训练的轻量模型(托管在 HuggingFace),用于压缩自然语言文本。能理解哪些信息可以压缩而不丢失语义关键点。
CacheAligner
这个设计很聪明:它稳定化前缀,让 LLM 提供商的 KV 缓存能真正命中。如果你连续调用同一个模型处理相似内容,前缀稳定后缓存命中率大幅提升,进一步节省 token。
CCR(可逆压缩)
这是 Headroom 最亮点的一个设计。原本内容永远不会被删除——压缩后存储在本地,LLM 如果发现压缩后的内容不够用,可以通过 headroom_retrieve 工具按需恢复原始文本。这意味着压缩是无损的:正常情况下省钱,必要时还能看到完整内容。
三种接入方式
1. 库模式(Library)
直接在代码中导入使用:
from headroom import compress
compressed = compress(messages)import { compress } from "headroom-ai";2. 代理模式(Proxy)
零代码改动,一键接入:
headroom proxy --port 8787然后在你的 LLM 调用链中把所有请求指向这个代理,所有进出流量自动压缩。
3. MCP 服务
对于支持 MCP(Model Context Protocol)的客户端,Headroom 提供三个工具:
headroom_compress:压缩内容headroom_retrieve:恢复原始内容headroom_stats:查看压缩统计
4. Agent 包装(Wrap)
一键包装主流编码 Agent:
headroom wrap claude # 包装 Claude Code
headroom wrap codex # 包装 Codex
headroom wrap cursor # 包装 Cursor
headroom wrap aider # 包装 Aider
headroom wrap copilot # 包装 Copilot跨 Agent 记忆与自动学习
Headroom 不只是一个压缩器,它还包含两个非常有用的高级功能:
跨 Agent 记忆:在 Claude、Codex、Gemini 之间共享压缩后的记忆存储,自动去重。你可以在不同 Agent 之间共享上下文而不用重复支付 token。
headroom learn:挖掘失败的会话,自动将修正写入 CLAUDE.md / AGENTS.md。这意味着 Agent 从错误中学习的过程被自动化了。
效果验证
来自官方基准数据:
- 日志压缩:10,144 tokens → 1,260 tokens(节省约 87%)
- JSON 数据:典型压缩率 70-90%
- 代码文件:AST 级压缩 50-80%
- 对话历史:文本压缩 60-75%
在所有场景下,官方声称回答质量无明显下降,因为可逆压缩机制允许 LLM 在必要时恢复关键信息。
安装
# Python
pip install "headroom-ai[all]"
# Node / TypeScript
npm install headroom-ai批评视角
Headroom 的理念非常吸引人,但实际使用中需要注意几个问题:
- 额外延迟:压缩过程本身有计算开销。每个压缩算法都有运行时间,在实时对话中可能引入数百毫秒的额外延迟
- 智能压缩的不确定性:ContentRouter 对内容类型的判断不一定 100% 准确。误判会导致选择了不合适的压缩器,反而降低质量
- 可逆压缩依赖 MCP:CCR 的可逆恢复能力依赖于 MCP 客户端支持。如果你的 Agent 不支持 MCP 调用,等于丧失了恢复能力,压缩变成「有损」
- 模型训练数据时效性:Kompress-base 模型训练数据的截止时间会影响它对新领域文本的理解和压缩质量
- 尚未经过大规模验证:项目 18,000+ 星目前增长很快,但对于企业级的生产场景,稳定性仍需时间验证
适合谁用
- AI 重度用户:每天消耗大量 token 的 Claude Code/Cursor/Codex 用户,投资回报立竿见影
- RAG 应用开发者:RAG 检索到的文档块往往包含大量冗余文本,Headroom 的跨 Agent 记忆可以大幅降低成本
- Agent 中间件开发者:如果你正在构建 Agent 编排平台,Headroom 作为 LLM 前的压缩层是非常自然的集成点
总结
Headroom 解决的是一个真实且昂贵的问题——Token 消耗。在 AI Agent 越来越复杂的今天,每次会话涉及的文件读取、工具调用、日志处理都在燃烧 tokens。Headroom 在「无损压缩」这条路上走得相当彻底,三合一的接入方式(库+代理+MCP)也让它在不同场景下都能被集成。
它不会让 Agent 变聪明,但会让 Agent 变得更便宜——每天用 AI 编程的人都应该关注这个项目。
© 2026 四月 · CC BY-NC-SA 4.0
原文链接:https://aprilzz.com/tools/headroom-context-compression
相关文章
Context Gateway:AI Agent 上下文优化的开源解决方案
Context Gateway 是 Compresr 团队开源的 Agent 上下文代理,在后台预压缩对话历史,让 AI Agent 永远不会因为上下文超限而卡住等你。
Caveman(原始人)Claude Code 插件:用更少的词,省约 75% 的 Token
GitHub 上爆火的 Claude Code 插件——Caveman,通过让 AI 用原始人式的简短语言交流,大幅降低 token 消耗。安装即用,每分钟都在省钱。
Semble — 为 AI Agent 量身打造的高效代码搜索工具
相比 grep+read 需要 100k token 才能达到 85% 召回率,Semble 只需 2k token 就能做到 94% 召回率,而且完全本地运行。