Skip to main content

The Context Optimization Layer for LLM Applications - Cut costs by 50-90%

Project description

Headroom

Compress everything your AI agent reads. Same answers, fraction of the tokens.

CI codecov PyPI npm Model: Kompress-base Tokens saved: 60B+ License: Apache 2.0 Docs

Headroom in action

Every tool call, log line, DB read, RAG chunk, and file your agent injects into a prompt is mostly boilerplate. Headroom strips the noise and keeps the signal — losslessly, locally, and without touching accuracy.

100 logs. One FATAL error buried at position 67. Both runs found it. Baseline 10,144 tokens → Headroom 1,260 tokens87% fewer, identical answer. python examples/needle_in_haystack_test.py


Quick start

Works with Anthropic, OpenAI, Google, Bedrock, Vertex, Azure, OpenRouter, and 100+ models via LiteLLM.

Wrap your coding agent — one command:

pip install "headroom-ai[all]"

headroom wrap claude      # Claude Code
headroom wrap codex       # Codex
headroom wrap cursor      # Cursor
headroom wrap aider       # Aider
headroom wrap copilot     # GitHub Copilot CLI

Drop it into your own code — Python or TypeScript:

from headroom import compress

result = compress(messages, model="claude-sonnet-4-5")
response = client.messages.create(model="claude-sonnet-4-5", messages=result.messages)
print(f"Saved {result.tokens_saved} tokens ({result.compression_ratio:.0%})")
import { compress } from 'headroom-ai';
const result = await compress(messages, { model: 'gpt-4o' });

Or run it as a proxy — zero code changes, any language:

headroom proxy --port 8787
ANTHROPIC_BASE_URL=http://localhost:8787 your-app
OPENAI_BASE_URL=http://localhost:8787/v1 your-app

Why Headroom

  • Accuracy-preserving. GSM8K 0.870 → 0.870 (±0.000). TruthfulQA +0.030. SQuAD v2 and BFCL both 97% accuracy after compression. Validated on public OSS benchmarks you can rerun yourself.
  • Runs on your machine. No cloud API, no data egress. Compression latency is milliseconds — faster end-to-end for Sonnet / Opus / GPT-4 class models than a hosted service round-trip.
  • Kompress-base on HuggingFace. Our open-source text compressor, fine-tuned on real agentic traces — tool outputs, logs, RAG chunks, code. Install with pip install "headroom-ai[ml]".
  • Cross-agent memory and learning. Claude Code saves a fact, Codex reads it back. headroom learn mines failed sessions and writes corrections straight to CLAUDE.md / AGENTS.md / GEMINI.md — reliability compounds over time.
  • Reversible (CCR). Compression is not deletion. The model can always call headroom_retrieve to pull the original bytes. Nothing is thrown away.

Bundles the RTK binary for shell-output rewriting — full attribution below.


How it fits

 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-base  (text, HF)     │
    │                                                     │
    │  Cross-agent memory  ·  headroom learn  ·  MCP      │
    └────────────────────────────────────────────────────┘
        │   compressed prompt  +  retrieval tool
        ▼
 LLM provider  (Anthropic · OpenAI · Bedrock · …)

Architecture · CCR reversible compression · Kompress-base model card

Canonical pipeline lifecycle

Headroom now exposes one stable request lifecycle across compress(), the SDK, and the proxy:

SetupPre-StartPost-StartInput ReceivedInput CachedInput RoutedInput CompressedInput RememberedPre-SendPost-SendResponse Received

  • Transforms still do the work: CacheAligner, ContentRouter, SmartCrusher, CodeCompressor, Kompress-base, IntelligentContext / RollingWindow.
  • Pipeline extensions observe or customize those lifecycle stages via on_pipeline_event(...).
  • Compression hooks still work and now sit alongside the canonical lifecycle instead of being the only extension seam.
  • Proxy extensions remain the server/app integration seam for ASGI middleware, routes, and startup policy.

Provider slices

Provider and tool-specific behavior is being moved behind dedicated modules under headroom/providers/ so core orchestration stays focused on lifecycle, sequencing, and policy.

  • CLI/tool slices: headroom/providers/claude, copilot, codex, openclaw
  • Provider runtime slices: headroom/providers/claude, gemini, plus shared backend/runtime dispatch in headroom/providers/registry.py
  • Core files stay orchestration-first: wrap.py, client.py, cli/proxy.py, and proxy/server.py now delegate provider-specific env shaping, API target normalization, backend selection, and transport dispatch instead of inlining those rules.

Proof

Savings on real agent workloads:

Workload Before After Savings
Code search (100 results) 17,765 1,408 92%
SRE incident debugging 65,694 5,118 92%
GitHub issue triage 54,174 14,761 73%
Codebase exploration 78,502 41,254 47%

Accuracy preserved on standard benchmarks:

Benchmark Category N Baseline Headroom Delta
GSM8K Math 100 0.870 0.870 ±0.000
TruthfulQA Factual 100 0.530 0.560 +0.030
SQuAD v2 QA 100 97% 19% compression
BFCL Tools 100 97% 32% compression

Reproduce:

python -m headroom.evals suite --tier 1

Community, live:

Full benchmarks & methodology


Built for coding agents

Agent One-command wrap Notes
Claude Code headroom wrap claude --memory for cross-agent memory, --code-graph for codebase intel
Codex headroom wrap codex --memory Shares the same memory store as Claude
Cursor headroom wrap cursor Prints Cursor config — paste once, done
Aider headroom wrap aider Starts proxy, launches Aider
Copilot CLI headroom wrap copilot Starts proxy, launches Copilot
OpenClaw headroom wrap openclaw Installs Headroom as ContextEngine plugin

MCP-native too — headroom mcp install exposes headroom_compress, headroom_retrieve, and headroom_stats to any MCP client.

headroom learn in action

Integrations

Drop Headroom into any stack
Your setup Hook in with
Any Python app compress(messages, model=…)
Any TypeScript app await compress(messages, { model })
Anthropic / OpenAI SDK withHeadroom(new Anthropic()) · withHeadroom(new OpenAI())
Vercel AI SDK wrapLanguageModel({ model, middleware: headroomMiddleware() })
LiteLLM litellm.callbacks = [HeadroomCallback()]
LangChain HeadroomChatModel(your_llm)
Agno HeadroomAgnoModel(your_model)
Strands Strands guide
ASGI apps app.add_middleware(CompressionMiddleware)
Multi-agent SharedContext().put / .get
MCP clients headroom mcp install
What's inside
  • SmartCrusher — universal JSON: arrays of dicts, nested objects, mixed types.
  • CodeCompressor — AST-aware for Python, JS, Go, Rust, Java, C++.
  • Kompress-base — our HuggingFace model, trained on agentic traces.
  • Image compression — 40–90% reduction via trained ML router.
  • CacheAligner — stabilizes prefixes so Anthropic/OpenAI KV caches actually hit.
  • IntelligentContext — score-based context fitting with learned importance.
  • CCR — reversible compression; LLM retrieves originals on demand.
  • Cross-agent memory — shared store, agent provenance, auto-dedup.
  • SharedContext — compressed context passing across multi-agent workflows.
  • headroom learn — plugin-based failure mining for Claude, Codex, Gemini.

Install

pip install "headroom-ai[all]"          # Python, everything
npm  install headroom-ai                # TypeScript / Node
docker pull ghcr.io/chopratejas/headroom:latest

Granular extras: [proxy], [mcp], [ml] (Kompress-base), [agno], [langchain], [evals]. Requires Python 3.10+.

Installation guide — Docker tags, persistent service, PowerShell, devcontainers.


Documentation

Start here Go deeper
Quickstart Architecture
Proxy How compression works
MCP tools CCR — reversible compression
Memory Cache optimization
Failure learning Benchmarks
Configuration Limitations

Compared to

Headroom runs locally, covers every content type (not just CLI or text), works with every major framework, and is reversible.

Scope Deploy Local Reversible
Headroom All context — tools, RAG, logs, files, history Proxy · library · middleware · MCP Yes Yes
RTK CLI command outputs CLI wrapper Yes No
Compresr, Token Co. Text sent to their API Hosted API call No No
OpenAI Compaction Conversation history Provider-native No No

Attribution. Headroom ships with the excellent RTK binary for shell-output rewriting — git showgit show --short, noisy ls → scoped, chatty installers → summarized. Huge thanks to the RTK team; their tool is a first-class part of our stack, and Headroom compresses everything downstream of it.


Contributing

git clone https://github.com/chopratejas/headroom.git && cd headroom
pip install -e ".[dev]" && pytest

Devcontainers in .devcontainer/ (default + memory-stack with Qdrant & Neo4j). See CONTRIBUTING.md.


Community

License

Apache 2.0 — see LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

headroom_ai-0.20.20-cp313-cp313-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

headroom_ai-0.20.20-cp313-cp313-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

headroom_ai-0.20.20-cp313-cp313-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

headroom_ai-0.20.20-cp312-cp312-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

headroom_ai-0.20.20-cp312-cp312-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

headroom_ai-0.20.20-cp312-cp312-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

headroom_ai-0.20.20-cp311-cp311-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

headroom_ai-0.20.20-cp311-cp311-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

headroom_ai-0.20.20-cp311-cp311-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

headroom_ai-0.20.20-cp310-cp310-manylinux_2_28_x86_64.whl (15.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

headroom_ai-0.20.20-cp310-cp310-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

headroom_ai-0.20.20-cp310-cp310-macosx_11_0_arm64.whl (13.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file headroom_ai-0.20.20-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1db60d7254f1b389ff61d24b5550750f2938575f64c427ae6f86aabfbc40762d
MD5 b035752b5dd6b61f8a09dbba1c7f9e52
BLAKE2b-256 d28931c7c50c9a40ea616820ba1cf87e67fba0a2be1055c0d10656abc8cc7232

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ee1461bbbba120f2a75c50db20f7ba766f28b59193692ccb0a67fc315bab4bd2
MD5 f0659c708cea5de6ff1d40939df6deab
BLAKE2b-256 0b92deb1170720dcd21895892136989185eecd08f4fbfe2f4350cc681e1e00d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp313-cp313-manylinux_2_28_aarch64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ab932ed635cef36e6848dd6bf1070336156739bb718ba3191f7701fc68d9f66f
MD5 78ecb5bc5e2025848f1a7285f48b9a0c
BLAKE2b-256 fcc72f34119dbb62843736805e7d719dcccde2891a54ab162be3a671304d3b17

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd4bc95d305f3069ae1ea643ab9ceb9921c96a1b0e8455d061086c21f5ebc6ea
MD5 f5e3b9dd7eba0bed4c759365542edc26
BLAKE2b-256 e7b6d27927a8311df31778806fc01dc5c2fcc020841e6e5cca1d6d64b305ff4d

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 81afe9d3c3a60e4eeff509e716ffa37a199e8f6a8b0758ab949efda649107120
MD5 c7149cffd1580a8726ab7c10e9e6a5f0
BLAKE2b-256 e7e88bde36e5e1b4f030529389559801d3ac60afec7e0b320a5385e80037024b

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp312-cp312-manylinux_2_28_aarch64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e5b43968ed5a361116de28d323f70942e46a8b65925d32ceb396df4e61c08dad
MD5 a95f078482f2b44f63232b20103eddb2
BLAKE2b-256 69be057e5ffd9534e5afd1dd6cbf8c359743feecac981c232bab3f6a2c85cf08

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2a8d66ff2231f012dbd84772ec9a54b1139660444cb4e6871b90c23b6e6ca70c
MD5 b7184688c1a92f4efefd431436580286
BLAKE2b-256 e5533e64800e26ca03653d356983535676dde9e17d6c85f7599ac37470e88d4e

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8e887e7ae992c2e574f67c75b65489f37ecfa262f5d2bfd7dcb63dad95ff9c60
MD5 f50c7e85316f7352ee7eb2e289b23ae1
BLAKE2b-256 6c656440b3e8ed52d7b9134b22b2d542223197ff5ef9e6cd6f66224ec4df8483

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp311-cp311-manylinux_2_28_aarch64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e931201f08853b09c6fd7f6e3c71bbd6b79683378dde72be5efbb7d6744abce3
MD5 307acf0da382f04aaaacdb4e6aa610d6
BLAKE2b-256 a28ee7090343edb2a368b53611a8f4046a649f5760bbac7bf8fb4f4e5a8f2043

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f97104ad2823bab3784ec5e50702f24dd9a48b3f123e14ed4333793d0e82196c
MD5 e3055b4ec0e602de927229d9cbd9cb68
BLAKE2b-256 e68fee06c7877b4366b4ca1d1789e9a602b24b3322b7cd43ac9aca8e3ec168b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b853ff66950ae099fad429c112c9ff8f042b13a9cf67c62840c96d883104edb0
MD5 3a6f043bf208c28b9622228077c05d24
BLAKE2b-256 a99574ab3dcdea6c5df4f359dc6eff0e1b98eeba4f1170199f2f534dd8704522

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp310-cp310-manylinux_2_28_aarch64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file headroom_ai-0.20.20-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.20-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e13c0143f0e77c5c24a5b5fe5f63d788ef201d7fefc200a08c8d1307f49e552
MD5 1f3c6f27ca5b500c42444cef3f3f73fe
BLAKE2b-256 93f20ff79ded252c39edb6ee151b2825fdda9e9a6907bef929e860cc77a0cab3

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.20-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on chopratejas/headroom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page