英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。
快速开始 · 安装 · 示例 · 代理 · 文档 · Discord · llms.txt
人工智能代理 / 大型语言模型 (LLM): 在此阅读/llms.txt,或获取 实时索引 · 完整文档集。
Headroom 在你的 AI 代理读取之前会压缩所有内容——工具输出、日志、RAG 块、文件和对话历史——然后才发送到大型语言模型。答案相同,但所用的标记数只有一小部分。压缩在你的设备上运行;没有任何提示或文件内容会被发送到其他地方进行压缩。
10,144 → 1,260 个标记。发现了相同的
FATAL。
它的作用
- 库 — 在 Python 或 TypeScript 中使用
compress(messages),可在任何应用中内联使用。 - 代理 —
headroom proxy --port 8787,无需更改代码,适用于任何语言。 - 代理封装 — 使用一条命令
headroom wrap claude|codex|grok|copilot|cursor|aider|opencode|cline|continue|goose|openhands|openclaw|vibe|omp|zcode;使用headroom unwrap <tool>可撤销。 - MCP 服务器 — 适用于任何 MCP 客户端的
headroom_compress、headroom_retrieve、headroom_stats。 - 跨代理内存 — 在 Claude、Codex、Gemini 和 Grok 之间共享一个存储,并自动去重。
headroom learn— 挖掘失败的会话并将更正写入CLAUDE.local.md(默认,git忽略)、CLAUDE.md、AGENTS.md、GEMINI.md或GROK.md。- 输出令牌减少 — 修剪模型返回的内容,而不仅是你发送的内容。详见下文。
- 可逆(CCR) — 原始内容本地缓存,并按需检索。
它的工作原理
Your agent / app
(Claude Code, Cursor, Codex, LangChain, Agno, Strands, your own code…)
│ prompts · tool outputs · logs · RAG results · files
▼
┌────────────────────────────────────────────────────┐
│ Headroom (runs locally — your data stays here) │
│ ──────────────────────────────────────────────── │
│ CacheAligner → ContentRouter → CCR │
│ ├─ SmartCrusher (JSON) │
│ ├─ CodeCompressor (AST) │
│ └─ Kompress-v2-base (text, HF) │
│ │
│ Cross-agent memory · headroom learn · MCP │
└────────────────────────────────────────────────────┘
│ compressed prompt + retrieval tool
▼
LLM provider (Anthropic · OpenAI · Bedrock · …)
- ContentRouter 检测内容类型并为其选择一个压缩器。
- SmartCrusher / CodeCompressor / Kompress-v2-base 分别处理 JSON、源代码和散文。
- CacheAligner 标记可能破坏提供者 KV 缓存前缀的易变内容。它从不重写提示。
- CCR 本地存储原始内容,以便模型在需要完整文本时可以调用
headroom_retrieve。
→ 架构 · CCR · Kompress-v2-base 模型卡
开始使用(60秒)
# 1 — Install
uv tool install --python 3.13 "headroom-ai[all]" # CLI in a self-contained env
pip install "headroom-ai[all]" # Python — ships the `headroom` CLI
npm install headroom-ai # TypeScript SDK only — no CLI
# 2 — Pick a mode
headroom deploy # turnkey local deployment + agent config
headroom wrap claude # wrap a coding agent
headroom proxy --port 8787 # drop-in proxy, zero code changes
# or: from headroom import compress # inline library
# 3 — Check it and watch the savings
headroom doctor # health check — confirms routing works
headroom perf
headroom dashboard # live savings (proxy must be running)
在 Python 中,内联:
from headroom import compress
from openai import OpenAI
messages = [{"role": "user", "content": "Analyze these results"}]
result = compress(messages, model="gpt-4o")
client = OpenAI()
response = client.chat.completions.create(model="gpt-4o", messages=result.messages)
print(f"Saved {result.tokens_saved} tokens ({result.compression_ratio:.0%})")
每次启动时都启动一个封装的代理会话,以便运行设置。headroom wrap 启动本地代理,安装 Serena 用于语义代码导航,并启动配置为通过 Headroom 路由的代理。Serena 在用户范围内注册(对于 Claude Code,在 ~/.claude.json 中),因此在你运行 headroom unwrap 之前,它会在你的其他项目中保持可用。使用 --code-memory none 可跳过它。
headroom CLI 仅随 PyPI 包提供。npm 的 headroom-ai 包是 TypeScript SDK —— 一个你可以导入的库(import { compress } from 'headroom-ai')—— 并不提供 headroom 命令。
证明
四种场景基于真实的 MCP 服务器输出格式构建,使用提供者的分词器和附带的 compress() 测量。已设定种子并离线,因此你会得到与我们相同的数值:
uv run python benchmarks/index_proof_table.py --seed 20260902
| 场景 | 之前 | 之后 | 节省 |
|---|---|---|---|
| 代码搜索(100条结果) | 17,199 | 13,597 | 21% |
| SRE 事件调试 | 55,957 | 24,340 | 57% |
| 代码库探索 | 58,801 | 33,895 | 42% |
| GitHub 问题分类 | 46,067 | 32,429 | 30% |
节省取决于载荷的重复程度。重复的 JSON 数组和日志行在 benchmarks/bench_latency.py 中可清除 90%;而散文和已密集的输出几乎无法压缩。针对您的流量运行 headroom savings 可获得适用于您的具体数值。
压缩成本远低于一毫秒 — 10K 令牌 JSON 搜索结果的 p50 为 0.21 毫秒,100K 令牌为 1.4 毫秒 — 因此不会影响代理延迟。
准确性。 python -m headroom.evals suite --tier 1:
| 基准 | 类别 | N | 基线 | Headroom | 差异 |
|---|---|---|---|---|---|
| GSM8K | 数学 | 100 | 0.870 | 0.870 | ±0.000 |
| TruthfulQA | 事实性 | 100 | 0.530 | 0.560 | 0.030 |
| SQuAD v2 | 问答 | 100 | — | 97% | 在19%压缩下 |
| BFCL | 工具 | 100 | — | 97% | 在32%压缩下 |
在N=100时,±0.03的差值位于置信区间内,因此TruthfulQA显示没有可检测到的差异,而不是改进。 方法论 →
输出令牌减少
以上所有内容都会缩小你发送的提示。你还需要为模型回复的每一个令牌付费,在Opus类模型中,输出的费用是输入的5倍。大部分输出都是仪式性内容:“好的,让我来……”,代码直接原样返回给你,以及用于例行步骤(如读取文件)的深度推理。
Headroom 从代理端进行裁剪,而不改变你的代码:
- 冗长度引导在系统提示的末尾附加简短的“保持简洁,不要重复上下文”说明,因此你的提示缓存仍然生效。
- 努力路由在仅仅是模型在工具结果后继续响应(例如读取文件、通过测试)的情况下降低思考努力。新问题和错误仍保持全力处理。
两者都适用于Anthropic的/v1/messages以及兼容OpenAI的/v1/chat/completions和/v1/responses。努力路由在OpenAI上使用reasoning_effort,在Anthropic上使用thinking.budget_tokens / output_config.effort,并在两条路径上保持相同的仅限钳制不变性和相同的output_shaper:*标签。
export HEADROOM_OUTPUT_SHAPER=1 # off by default
headroom proxy --port 8787
已经在运行代理? 这些开关会在每次请求时实时读取,因此一个
headroom wrap重用 而不是新启动的代理,将看不到你之后导出的值——它的环境在启动时已经被快照。headroom wrap会通过回环接口将你当前的设置热同步到运行中的代理
POST /admin/runtime-env,所以它们可以在不重启且不丢失请求的情况下生效。在共享代理上,这些覆盖是全局的;最后的显式设置生效。
无需配置的简洁性。 人们很少明确说明他们希望答案有多简洁——他们通过打断长回复或在可能还未读完时就继续前进来展示这一点。headroom learn --verbosity 会读取过去的会话并选择级别:
headroom learn --verbosity # dry run — preview what it found
headroom learn --verbosity --apply # save it; the proxy picks it up
测量它。 输出节省是反事实的——我们从未真正看到模型本可能写出的内容——因此 Headroom 会报告一个带有置信区间的估算值,并将其标记为以下之一:
headroom output-savings
# Reduction: 31.7% (95% CI 27.7% … 35.7%) [estimated]
对于测量得出的数字,请将 10% 的对话作为未经过形状化的对照保存:export HEADROOM_OUTPUT_HOLDOUT=0.1。仪表板的 Output Tokens Saved 卡片随后会显示为 measured 而非 estimated,并带有带状显示。
→ 输出令牌减少
代理兼容性
| 代理 | headroom wrap |
备注 |
|---|---|---|
| Claude Code | ✅ | --memory · --code-graph · --1m · --tool-search |
| 法典 | ✅ | 与克洛德共享记忆 |
| Grok CLI | ✅ | 通过 GROK_MODELS_BASE_URL 路由 |
| 光标 | 手动设置 | 启动代理并打印光标设置的基础网址 |
| 助手 | ✅ | 启动代理启动 |
| Copilot CLI | ✅ | 启动代理 |
| VS Code 副驾驶 | ✅ | 透明代理;保持所选模型 |
| OpenClaw | ✅ | installs 作为 ContextEngine 插件 |
| 开放代码 | ✅ | 注入配置 ·启动代理 |
| 克莱恩 | ✅ | 启动代理注入配置 |
| 继续 | ✅ | 启动代理注入配置 |
| 鹅 | ✅ | 启动代理 |
| 开手 | ✅ | 启动代理 |
| 密斯特拉尔氛围 | ✅ | 启动代理 |
| 哦,我的Pi | ✅ | 注入配置 ·启动代理 |
| Cortex 代码 | 仅限库 | 在库模式下节省 60–65%;无 wrap |
| Kimi CLI | ✅ | OAuth 持有人已转发 — 登录一次 |
| ZCode | ✅ | 启动代理并打印 ZCode 设置的基本 URL |
任何与 OpenAI 兼容的客户端都可以通过 headroom proxy 工作。MCP 原生客户端:headroom mcp install。使用 headroom unwrap <tool> (claude、copilot、codex、grok、kimi、omp、opencode、openclaw、zcode) 撤销持久化封装。注册表作者应使用标准 server.json,而不是从文本中重建 headroom mcp serve 协议。
GitHub Copilot CLI 订阅模式
Headroom 可以通过本地代理路由 Copilot CLI 订阅流量:
headroom copilot-auth 登录
headroom wrap copilot --subscription -- --model gpt-4o
该包装器将 Headroom 可重用的 GitHub OAuth 令牌交换为 Copilot 的短期 API 令牌,并在启动时将上游端点打印为 COPILOT_PROVIDER_API_URL=...。headroom copilot-auth login 存储特定于 Headroom 的 Copilot OAuth 令牌,而不是依赖可以读取账户元数据但仍会被 Copilot 的令牌交换端点拒绝的通用 GitHub 或 Copilot CLI 令牌。
对于 GitHub Enterprise Server 或自定义域名的 Copilot 部署,请在启动前设置以下之一。如果两者都设置,URL 优先:
导出 GITHUB_COPILOT_ENTERPRISE_DOMAIN=ghe.example.com
export GITHUB_COPILOT_ENTERPRISE_URL=https://ghe.example.com
对于 GitHub.com 企业云 URL,例如 github.com/enterprises/your-enterprise,不要设置任何环境变量——Headroom 将使用 GitHub 的常规令牌交换端点和为已登录账户提供的 Copilot API 端点。
平台支持。macOS 通过 Copilot CLI 钥匙串存储进行身份验证重用和 Windows 设备身份验证已经实际测试。Copilot CLI 1.0.81 不通过 Headroom 读取的传统 Credential Manager 架构暴露其 Windows 登录,因此请在 Windows 上运行 headroom copilot-auth login。Linux Secret Service / secret-tool 重用已实现,但尚未在真实桌面上验证。在 Docker 和 CI 环境中,请传递显式的 GITHUB_COPILOT_TOKEN 或 GITHUB_COPILOT_GITHUB_TOKEN,而不要依赖主机钥匙串访问。
VS Code 中的 GitHub Copilot
Headroom 会覆盖 Copilot 的 API 代理端点,因此 VS Code 的模型选择器仍然保持权威。GPT-5.5、GPT-5.6 Luna/Sol/Terra、Claude Sonnet/Opus 及其他 Copilot 模型在流量通过本地压缩代理时仍保持其原始模型 ID。Headroom 不会修改 VS Code 或更改 Codex 设置。
headroom copilot-auth 登录
headroom 包装 vscode
保持命令运行,并正常使用 Copilot。短期有效的上游 Copilot 令牌仅保存在代理进程中。完整指南 →
VS Code 中的 Claude 代码
官方的 Claude Code 扩展嵌入了 Claude Code,并读取与 CLI 相同的用户设置。安装 proxy 扩展,然后从您将在 VS Code 中打开的项目运行包装程序:
pip 安装 "headroom-ai[proxy]"
headroom 包装 vscode-claude
首次运行时重新加载 VS Code 窗口。在使用 Claude Code 面板时保持包装程序终端运行;启动时显示的仪表板或代理日志会显示请求和节省的信息。您的 Anthropic 认证和所选模型将被保留。Ctrl C 停止代理;headroom unwrap vscode-claude 恢复安装前的设置。完整指南 →
何时使用 · 何时跳过
适合的情况 如果你每天运行编码代理,并希望在不修改代码的情况下节省资源;需要在多个代理之间工作并共享一个内存;或者需要可逆压缩——原始数据可以通过 CCR 在设置的 TTL 内检索。
不适合的情况 如果你仅使用一个提供商的原生压缩功能,并且不需要跨代理内存;或者在沙箱环境中工作,本地进程无法运行。
Headroom 在代理会话时间长且工具输出量大的情况下效果明显。短对话交流、散文和已经密集的数据几乎不会减少,且小于 min_input_words 的数据块会以字节相同的形式返回。完整列表请参见 限制。
集成 — 将 Headroom 集成到任意技术栈
| 您的设置 | 挂钩使用 |
|---|---|
| 任何 Python 应用 | compress(messages, model=…) |
| 任何 TypeScript 应用 | 等待 compress(messages, { model }) |
| Anthropic / OpenAI 软件开发工具包 | 使用 Headroom(new Anthropic()) · 使用 Headroom(new OpenAI()) |
| Vercel AI 开发工具包 | 包装语言模型({ model, middleware: headroomMiddleware() }) |
| LiteLLM | litellm.callbacks = [HeadroomCallback()] |
| 语言链 | HeadroomChatModel(你的_llm) |
| 阿格诺 | HeadroomAgnoModel(你的模型) |
| 股线 | 股线指南 |
| ASGI 应用 | app.add_middleware(CompressionMiddleware) |
| 多智能体 | SharedContext().put / .get |
| MCP 客户 | headroom mcp 安装 |
里面有什么
- SmartCrusher — 通用 JSON:字典数组、嵌套对象、混合类型。它保留错误项、超出正常统计范围的值,以及从字段方差统计中选择的首尾边界,而不是关键字列表。
- CodeCompressor — 支持 Python、JS/TS、Go、Rust、Java、C/C++ 和 Perl 的 AST 感知压缩。
- Kompress-v2-base — 我们的 HuggingFace 模型,基于代理痕迹训练。
- 图像压缩 — 通过训练过的机器学习路由器实现40–90%的压缩。
- CacheAligner —— 标记可能破坏提供商 KV 缓存前缀的易变内容;绝不重写提示。
- 实时区域压缩 — 仅压缩新字节(新工具输出,最新回合)。冻结的前缀保持字节一致,因此提供者缓存得以保留,并且历史记录从未被删除。
- CCR — 可逆压缩;模型按需检索原始内容。
- 跨代理记忆 — 带有代理来源和自动去重的共享存储。
- SharedContext — 跨多代理工作流的压缩上下文传递。
headroom learn— 针对 Claude、Codex 和 Gemini 的基于插件的故障挖掘。
管道内部
一次请求生命周期由 compress()、SDK 和代理共享:
设置 → 启动前 → 启动后 → 输入接收 → 输入缓存 → 输入路由 → 输入压缩 → 输入记忆 → 发送前 → 发送后 → 响应接收
- Transforms 执行工作:CacheAligner → ContentRouter → SmartCrusher / CodeCompressor / Kompress-base,仅限 live-zone。IntelligentContext 和 RollingWindow 已在 PR-B1 中弃用。
- 管道扩展 通过
on_pipeline_event(...)观察或自定义生命周期阶段。 - 压缩钩子 与生命周期并列,作为一个额外的扩展接口。
- 代理扩展 是 ASGI 中间件、路由和启动策略的集成接口。
提供者和工具特定的行为位于 headroom/providers/ 下,因此核心编排保持专注于生命周期、顺序和策略:
- CLI/工具切片 —
headroom/providers/claude,copilot,codex,grok,openclaw - 提供者运行时切片 —
headroom/providers/claude,gemini,在headroom/providers/registry.py中共享后台分发 wrap.py、client.py、cli/proxy.py和proxy/server.py负责环境塑造、API 目标规范化、后端选择和传输分发
安装
uv tool install --python 3.13 "headroom-ai[all]" # CLI, isolated app env
pip install "headroom-ai[all]" # Python, everything — includes the CLI
npm install headroom-ai # TypeScript SDK (library only)
docker pull ghcr.io/headroomlabs-ai/headroom:latest
细粒度额外功能:[proxy]、[mcp]、[ml](Kompress-v2-base)、[code]、[memory]、[vector](可选 HNSW 后端 — 需要 C 工具链,不包含在 [all] 中)、[relevance]、[image]、[agno]、[langchain]、[evals]、[pytorch-mps](Apple GPU 内存嵌入卸载 — 设置 HEADROOM_EMBEDDER_RUNTIME=pytorch_mps)。需要 Python 3.10。
[all]涵盖核心堆栈,但不包括框架适配器。请单独安装它们:pip install "headroom-ai[langchain]",[agno]也是如此,
[strands]、[anyllm]、[bedrock]。
→ 安装指南 — Docker 标签、持久服务、PowerShell、开发容器。
不继承你 PATH 的 uv、pipx 和 MCP 客户端
对于 CLI,优先使用 uv tool install,这样命令会存在于一个独立的应用环境中。在 macOS 上,如果你的默认 python3 版本比当前 wheel 集合更新,请添加 --python 3.13:
brew install python@3.13 # 如果 3.13 尚未可用
uv 工具安装 --python 3.13 "headroom-ai[all]"
uv 工具 update-shell # 如果 ~/.local/bin 不在 PATH 中 headroom --version
Codex 和其他 MCP 客户端通常无法继承交互式 shell 的 PATH。请配置 command -v headroom 返回的绝对路径:
[mcp_servers.headroom]
command = "/Users/you/.local/bin/headroom"
args = ["mcp", "serve"]
command = "headroom" 仅在客户端启动时 PATH 已经包含 uv 工具目录时才有效。
使用 pipx 时,请明确选择解释器:
pipx 安装 --python python3.13 "headroom-ai[all]"
本地轮子目前支持 macOS Apple Silicon 和 Linux。在 Intel macOS 上,请使用 Docker 原生安装,直到本地轮子支持到来。
CPU 要求(x86/x86_64)。 基于 ONNX 的功能 —— Magika 内容检测和嵌入相关性 —— 使用一个预编译的 ONNX Runtime,需要 AVX2。在没有 AVX2 的 x86 主机上(某些 Docker/QEMU 设置、较旧的云虚拟机),Headroom 会退回到其非 ONNX 路径 —— BM25 相关性、启发式检测 —— 而不会崩溃。arm64 和 Apple Silicon 不需要 AVX2。
更新中
headroom update # 检测 pip / pipx / uv 工具并进行原地升级
headroom update --check # 报告最新版本但不升级 headroom update --pre # 包含预发布版本
headroom update 会检查 Headroom 是如何安装的(pip/venv、pip --user、pipx、uv 工具),并在 macOS、Linux 和 Windows 上运行相应的升级。对于 git 签出、可编辑安装、Docker 镜像以及外部管理的系统 Python(PEP 668),它会打印正确的手动步骤,而不是猜测。
代理在启动时还会打印一行 " 有可用更新 " 的提示。它每天最多检查一次 PyPI,在后台进行,且从不阻塞。可以通过 HEADROOM_UPDATE_CHECK=off 来选择退出;在 --stateless 模式和 CI 中也会跳过。
企业网络与SSL检查
如果 pip install "headroom-ai[all]" 因 CERTIFICATE_VERIFY_FAILED(无法获取本地颁发者证书)而失败,则说明你的网络使用 SSL 检查 —— 一个呈现公司 CA 的中间人代理。构建后端(maturin)会通过你的 TLS 栈不信任的连接下载 rustup。请先安装 Rust,这样构建过程就不会去获取它:
# macOS / Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh && rustup default stable
# 窗口
winget 安装 Rustlang.Rustup & & rustup 默认 stable
重启你的 shell,然后安装。一个预编译的 wheel 完全避免了 Rust 构建:pip install --only-binary headroom-ai headroom-ai。Wheel 已发布适用于 Windows(win_amd64)、Linux(x86_64 / aarch64)和 macOS(Apple Silicon 和 Intel),因此这些平台根本不需要本地 Rust 工具链——上面的 Rust 首先步骤仅适用于当没有匹配的 wheel 时的 sdist 回退。
两个运行时资源通过 TLS 获取。如果它们被阻止,请通过 REQUESTS_CA_BUNDLE / SSL_CERT_FILE / CURL_CA_BUNDLE 信任您的公司 CA:
cdn.pyke.io— Rust 核心的 ONNX Runtime。或者预先使用ORT_STRATEGY=system和ORT_LIB_LOCATION=/path/to/onnxruntime提供它。huggingface.co—kompress-base模型。预先下载它并使用HF_HUB_OFFLINE=1运行,或将HF_ENDPOINT指向可信镜像。
在禁用压缩的情况下运行(纯网关)不需要任何资源。
Intel macOS:没有预构建的 ONNX Runtime (#941)。 ort-sys 没有为 x86_64-apple-darwin 提供预构建的二进制文件,因此即使在没有公司代理的情况下,源码构建也会默认失败。请将其指向系统运行时:
brew 安装 onnxruntime
ORT_STRATEGY=system "}
ORT_LIB_LOCATION="$(brew --prefix onnxruntime)/lib" \
ORT_PREFER_DYNAMIC_LINK=1 \ pip 安装 "headroom-ai[all]"
# ORT 也在运行时通过 dlopen 加载:
export ORT_DYLIB_PATH="$(brew --prefix onnxruntime)/lib/libonnxruntime.dylib"
ORT_LIB_LOCATION 必须指向 lib/,而不是单独的前缀,并且需要 ORT_PREFER_DYNAMIC_LINK=1 — 没有它 ORT_STRATEGY=system 仍然会尝试静态链接,而 Homebrew keg 并不提供静态链接。
" CA证书的基本约束未标记为关键 " 是一个不同的故障。如果 TLS 失败,错误为:
[SSL:证书验证失败] 证书验证失败:
CA 证书的基本约束未标记为关键
然后企业 CA 被找到并被信任,将它添加到 CA 捆绑包不会改变任何东西。Python 3.13 配合 OpenSSL 3.x 默认启用 VERIFY_X509_STRICT,这会强制执行 RFC 5280 §4.2.1.9:CA 证书的 basicConstraints 必须标记为关键。像 Zscaler 这样的检查根将 CA:TRUE 设置为非关键位,因此该链被拒绝。
HEADROOM_TLS_STRICT=0 仅清除严格标志,从 Headroom 控制的每个 TLS 上下文 —— 代理的 httpx 上游客户端和用于模型下载的 urllib3/huggingface_hub 路径。链验证、签名、过期和主机名检查都保持开启。
HEADROOM_TLS_STRICT=0 headroom 代理 --port 8787
Rust 核心的 ONNX 下载使用了一个独立的 TLS 堆栈(rustls / 操作系统信任存储),不会受到 HEADROOM_TLS_STRICT 的影响。在 Windows 上,公司根证书必须位于 计算机证书存储中——浏览器在那里已经信任它——或者预先使用 ORT_STRATEGY=system 为 ONNX Runtime 提供配置以跳过下载。
Headroom 学习
headroom learn 会挖掘失败的会话并将修正写入 CLAUDE.local.md(默认,已被 git 忽略;使用 --target CLAUDE.md 可写入共享团队文件)、AGENTS.md 或 GEMINI.md。→ 失败学习
遥测
匿名信标默认开启。它报告压缩的行为:比率、计数器、提供者和模型ID、操作系统和架构。它从不发送提示、完成内容、代码或文件路径。它的存在是为了让我们能够看到某个版本发布是否在真实工作负载下导致压缩比下降,而不仅仅依赖我们自己的测试语料库。
通过使用 HEADROOM_BEACON=off、DO_NOT_TRACK=1 约定或 --offline 来关闭它。完整的字段列表请参阅 代理文档。
团队使用的 Headroom
Headroom OSS 是为个人开发者构建的:在你的笔记本上运行 headroom proxy 或 headroom wrap,几分钟内即可开始减少代币,免费且以本地为优先。
在整个工程组织中运行它是另一项工作——共享的始终在线部署、集中配置和版本发布、全组织节省仪表板、单点登录和访问控制、隔离和 VPC 安装,以及有人可以联系。我们帮助公司实现这些,自行托管并提供支持,或完全托管。
如果你的团队在大型语言模型(LLM)代币上花费真实资金——Claude Code、Codex、Cursor,或在持续集成(CI)中运行的代理——请通过电子邮件 hello@headroomlabs.ai 联系我们,并提供你的技术栈及大致每月的 LLM 支出。
这个仓库中的所有内容都在 Apache 2.0 许可下保持开源。托管服务适合那些希望由团队为他们进行部署、支持和扩展的用户。
文档
| 从这里开始 | 更深入 |
|---|---|
| 快速开始 | 架构 |
| 代理 | 压缩是如何工作的 |
| MCP 工具 | CCR — 可逆压缩 |
| 内存 | 缓存优化 |
| 失败学习 | 基准测试 |
| 配置 | 限制 |
| 持久安装 | 节省分析 |
相比
Headroom 在本地运行,覆盖所有内容类型,兼容所有主要框架,并且可逆。
| 范围 | 部署 | 本地 | 可逆 | |
|---|---|---|---|---|
| Headroom | 所有上下文 —— 工具、RAG、日志、文件、历史记录 | 代理 · 库 · 中间件 · MCP | 是 | 是 |
| Compresr, Token Co. | 发送到他们的 API 的文本 | 托管的 API 调用 | 否 | 否 |
| OpenAI 压缩 | 对话历史 | 提供者原生 | 否 | 否 |
Headroom 是代理,它会压缩流经它的一切,无论上游有什么。我们推荐的配套工具是 Serena 用于语义代码导航,默认在你封装代理时安装;如果你希望模型输出更精简,可以使用 Ponytail。其他的一切取决于你——可以附加代码记忆 MCP、Graphify、Caveman 或任何其他 MCP 服务器,Headroom 会压缩它们下游的所有内容。
贡献
git clone https://github.com/headroomlabs-ai/headroom.git && cd headroom
uv sync --extra dev && uv run pytest
位于 .devcontainer/ 中的 Devcontainers(默认,以及包含 Qdrant 和 Neo4j 的 memory-stack)。请参阅 CONTRIBUTING.md。
社区
- Discord — 问题、反馈、战争故事。
- HuggingFace 上的 Kompress-v2-base — 文本压缩背后的模型。
- Claude Code 状态栏插件 — 在你的状态栏中实时显示令牌使用节省,由 @Ship-Wright 提供。
许可证
Apache 2.0 — 请参阅 LICENSE。
- 本文标题:headroom - 在到达大型语言模型(LLM)之前
- 本文链接:https://cn121.com/webapp/headroomlabs-ai-headroom.html
- 原项目:headroomlabs-ai/headroom 版权归原作者 headroomlabs-ai 及贡献者所有
- 收录信息:本站于 2026-09-22 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 Apache-2.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。本站对原文仅作排版与图片地址适配, 并保留原项目的 NOTICE 与署名要求。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 headroomlabs-ai/headroom。
- 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。