headroom
AI Agent 上下文压缩工具,60-95% token 节省,可逆存储确保精度不丢失
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI Agent 上下文压缩工具,60-95% token 节省,可逆存储确保精度不丢失
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你在用 Claude Code 处理一个大型代码库,需要它搜索所有包含某个函数的文件。工具返回了 100 个结果,每个结果都带着文件路径、行号、上下文代码段——加起来整整 17,765 个 token。而 Claude 真正需要的信息,其实只有 1,408 个 token。
这是 AI 编程的隐形税:上下文爆炸(Context Explosion)。 每一次工具调用、每一次 RAG 检索、每一次文件读取,都在向 LLM 的上下文窗口「塞垃圾」,不仅消耗 token、拖慢响应,还推高了 API 成本。
headroomlabs-ai/headroom 就是来解决这个问题的。
Headroom 由 headroomlabs-ai 团队开发,目标用户是每天重度使用 AI 编程工具的开发者,尤其是使用 Claude Code、Cursor、Codex、Copilot 这类 Agent 的用户。
这个项目的诞生背景非常具体:AI Agent 的上下文窗口虽然越来越大,但「输入成本」并没有同步降低。 每次工具输出的 JSON、日志、RAG 结果都是原始数据,没有压缩就直送 LLM——这就好比搬家时不扔包装,直接把整个仓库搬进新房子。
Headroom 2023 年开始开发,Apache 2.0 许可证,目前 49,820 ★,是上下文压缩赛道里 Star 数最高的主流项目之一。团队在 GitHub 非常活跃,持续迭代(最新版本 0.27.0),文档完整(Vercel 托管文档站)。

图1:Headroom Dashboard 实时展示 token 压缩效果
Headroom 提供了 6 种压缩算法,覆盖不同内容类型:
| 压缩器 | 适用场景 | 原理 |
|---|---|---|
| SmartCrusher | JSON / 结构化数据 | 智能移除冗余键值对、重构嵌套结构 |
| CodeCompressor | 代码文件 | 基于 AST(tree-sitter)压缩,保留语义 |
| LogCompressor | 日志文件 | 识别日志级别,过滤低价值行 |
| LiveZone | 实时流数据 | 动态识别内容边界,分块处理 |
| DiffCompressor | 代码 Diff | 只保留变更核心,跳过上下文重复 |
| Kompress | 自然语言文本 | 基于 ModernBERT 的 ML 压缩(HuggingFace 模型) |
在此之上,还有一个关键组件 CCR(Context Compression with Retrieval):原始内容被压缩后并不会丢弃,而是存入本地存储(内存 / SQLite / Redis),LLM 通过调用 headroom_retrieve 工具在需要时「按需取回」原始内容,确保压缩可逆、精度不丢失。
支持的 4 种部署模式:
from headroom import compress 直接集成到 Python/TypeScript 应用headroom proxy --port 8787,零代码改造,拦截任何 OpenAI 兼容 API 流量headroom wrap claude 直接包装 Claude Code、Codex、Cursor 等 Agentheadroom_compress、headroom_retrieve、headroom_stats 三个工具,可接入任何 MCP 客户端Headroom 的架构非常有意思——这是一个 Rust + Python 混血项目。
整个项目采用 Cargo Workspace 管理,包含 4 个核心 crate:
crates/headroom-core:核心压缩引擎,用 Rust 编写(tokio + axum + tower)。包含各种压缩算法实现、CCR 存储后端(in-memory / SQLite / Redis)、相关性排序(BM25 / embedding / 混合模式)、信号检测模块。Rust 实现保证了核心路径的高性能。crates/headroom-proxy:Rust 实现的反向代理,拦截 LLM API 请求(Anthropic / OpenAI / Bedrock),注入压缩逻辑,返回压缩后的响应。这是整个 Proxy 模式的核心。crates/headroom-py:PyO3 实现的 Python 扩展模块(maturin 构建),将 Rust 核心暴露为 import headroom._core。通过 abi3-py310 实现跨 Python 版本兼容。crates/headroom-parity:Python 与 Rust 实现的兼容性校验模块。Python 层则通过 pip install "headroom-ai[all]" 提供完整的用户体验,包括:Click CLI(headroom wrap / headroom proxy / headroom learn)、Rich 终端输出、OpenTelemetry 埋点、MCP Server(基于 mcp 库 + FastAPI)。
关键依赖:tiktoken(分词器)、pydantic(配置)、FastAPI + uvicorn(Proxy 服务)、onnxruntime(Kompress ONNX INT8 模型推理,无需 torch)、transformers(分词器 only)。

图2:Headroom 项目架构总览
Headroom 在真实 Agent 工作负载上的压缩效果:
| 场景 | 原始 tokens | 压缩后 | 节省 |
|---|---|---|---|
| 代码搜索(100 结果) | 17,765 | 1,408 | 92% |
| SRE 故障排查 | 65,694 | 5,118 | 92% |
| GitHub Issue 分类 | 54,174 | 14,761 | 73% |
| 代码库探索 | 78,502 | 41,254 | 47% |
在标准基准上,精度基本不受影响:GSM8K 数学基准完全持平(0.870),TruthfulQA 甚至提升了 0.030。BFCL 工具调用基准达到 97%(压缩率 32%)。
此外,Headroom 还支持输出 token 压缩(Output Token Reduction)—— 通过 Verbosity Steering(强制模型简洁)和 Effort Routing(工具结果后自动降级思考深度),减少模型回复的 token 量,进一步降低成本。
安装非常简单:
pip install "headroom-ai[all]"
npm install headroom-ai
headroom proxy --port 8787
Docker Compose 模式更简单:docker compose up -d,自动启动 headroom-proxy + Qdrant(向量数据库)+ Neo4j(图数据库)三个服务,浏览器打开 http://localhost:8787/dashboard 就能看到实时压缩统计。
Headroom 代表了一个明确的趋势:在 LLM 应用层,上下文工程(Context Engineering)和模型本身一样重要。 Token 不是免费的,边际成本随着用量线性增长。Headroom 的 60-95% token 节省意味着同样的 API 预算可以处理 5-20 倍的上下文量。
2024-2025 年,上下文压缩赛道出现了多个竞争者(LLMLingua、SlimLLM、AutoCompress 等),但 Headroom 以 49,820 ★ 的规模稳居头部,且通过持续迭代(Proxy 双向压缩、MCP 集成、Agent Wrap)保持着差异化竞争力。其 Rust 核心的设计选择(而非纯 Python)也体现了团队对性能的极致追求。
项目信息:Apache 2.0 · Python + Rust · 49,820 ★ · 4 crates workspace + PyO3 · Docker Compose + MCP Server