搜索你想找的开源项目

输入名称、用途或关键词,也可粘贴 GitHub 仓库链接

分享到微信

当前解读页的微信分享二维码

用微信扫一扫打开,点击右上角「···」分享给朋友或朋友圈。

手机上可截屏后,在微信扫一扫中从相册识别二维码。

headroomlabs-ai/headroom

AI 工程

在内容送入 LLM 前本地压缩工具的日志、文件与 RAG 片段,减少输入 token。

79,538
6,226
Python
Apache-2.0
创建于 10 个月前

项目介绍

Headroom 位于 AI 代理与模型服务之间,压缩代理读到的内容——工具输出、日志、RAG 片段、文件和对话历史——再发给模型。它同时提供 Python/TypeScript 库、本地代理、代理包装命令和 MCP Server,既能接入自己拼 prompt 的应用,也能作用于无法改代码的编码代理。

压缩按内容类型分流:SmartCrusher 处理 JSON,CodeCompressor 对多种语言做 AST 级压缩,Kompress-v2-base 处理自然语言。原文通过 CCR 缓存在本地,模型可按需取回,因此压缩可逆;易变内容会被标记,避免破坏服务商的 KV-cache 前缀。

快速使用

在自己的应用里拼 prompt 时,安装库并在调用模型前压缩消息列表:

pip install headroom-ai
from headroom import compress

result = compress(messages, model="gpt-4o")
client.chat.completions.create(model="gpt-4o", messages=result.messages)

对编码代理,安装完整 CLI 后包装对应工具。该命令会启动本地代理并把该工具配置为经其转发,作用范围是当前会话:

uv tool install --python 3.13 "headroom-ai[all]"
headroom wrap claude

两种方式配置完成后,headroom doctor 可确认路由正常,代理运行时 headroom dashboard 显示实时节省量。想得到适用于自己的数字,用 headroom savings 统计实际流量;README 中的基准表是固定种子、离线运行的,复现的是项目方数据而非你的负载。TypeScript SDK、代理与 MCP 用法见快速开始。

使用约束

  • 需要 Python 3.11+。CLI 只随 PyPI 包发布;npm 包是 TypeScript 库,不提供 headroom 命令。
  • 原生 wheel 覆盖 macOS Apple Silicon 和 Linux。Intel macOS 需改用 Docker 或系统 ONNX Runtime 方案(issue #941);不支持 AVX2 的 x86 主机回退到非 ONNX 路径。
  • [all] 不包含框架适配器,[langchain]、[agno]、[strands] 等需单独安装;依赖 PyTorch 的功能也是单独 extra。
  • 节省比例取决于内容:重复 JSON 数组和日志压缩最多,散文和已很紧凑的输出几乎不压缩,短 prompt 可能原样返回。
  • 默认开启匿名遥测,上报压缩比例、计数、服务商与模型 ID、操作系统与架构,不发送 prompt、代码或路径;可用 HEADROOM_BEACON=off、HEADROOM_TELEMETRY=off、DO_NOT_TRACK=1 或 HEADROOM_OFFLINE=1 关闭。
  • 输出 token 精简默认关闭,且默认给出的是估计值,只有配置 holdout 后才显示实测。
  • 使用第三方 OpenAI 兼容服务时需传 --openai-api-url 或设置 OPENAI_TARGET_API_URL,否则请求会发往默认 OpenAI 端点。

HotRepo 点评

该项目在 2026-10-19 的全语言日榜记录到 76,073 stars,当日新增 317;2026-11-13 进入 Python 日榜第 8 名时累计 79,529 stars、6,226 forks。对一个上下文压缩工具来说这是很陡的曲线,相关争议在 Hacker News 上也能看到:有评论者质疑头条基准在真实代理编码场景中不成立,并追问服务商为何不默认提供同类能力(讨论);另有回复指出 JSON 去空白本身就可能带来可观的 token 节省(回复)。仓库用可复现的证明脚本、准确率评测和可逆缓存回应了部分质疑,但节省比例因负载而异,真正的检验是在自己的流量上跑 headroom savings,而不是只看表格。

本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。

Hacker News 讨论

Headroom - compress AI agent input for reduced token usage w/out harming output
▲ 10 · 2 条评论 · 2026年7月21日
Headroom – The context compression layer for AI agents
▲ 3 · 0 条评论 · 2026年6月22日
Headroom: Save Tokens from Reversible Compression
▲ 1 · 0 条评论 · 2026年9月4日

相关推荐

  1. rtk-ai/rtk在 AI 编程 Agent 读取命令输出前做压缩,减少常见开发命令的 token 消耗。Rust86,426
  2. JuliusBrussee/caveman给编程 Agent 省 token:缩短回答、压缩读取内容,且不改写你自己的提示词。Go114,824
  3. Shubhamsaboo/awesome-llm-apps面向开发者的 AI Agent、RAG 与 Agent Skill 示例合集,每个模板都能直接跑起来。Python142,990
  4. VectifyAI/PageIndex面向长专业 PDF 的推理式 RAG,用 LLM 沿文档树检索,取代向量相似度。Python39,608
  5. langchain4j/langchain4j面向 JVM 开发者的 Java 库,用统一 API 接入多家 LLM 与向量库,并支持工具调用、Agent 和 RAG。Java13,368