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.24-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.24-cp313-cp313-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

headroom_ai-0.20.24-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.24-cp312-cp312-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

headroom_ai-0.20.24-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.24-cp311-cp311-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

headroom_ai-0.20.24-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.24-cp310-cp310-manylinux_2_28_aarch64.whl (16.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

headroom_ai-0.20.24-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.24-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b182dc53b6102a5c7a72253561f013bc1c5bcb515ca3d894f835056d24b0cf4d
MD5 d846e1ec1368189308e5797107f3c81e
BLAKE2b-256 e4ab0e3953d6a3eb10fdaa922541ed536d602d164048bf7ef15325a3dfd5271a

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp313-cp313-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp313-cp313-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f5d02cb2a10aaf8140d5416eb8735253a943b55d5d4a569361797d4e4881e54b
MD5 ef79365e21fc3887c99b04c20ed36131
BLAKE2b-256 9435a88e7db1408d08bb3676f8ffbcaa5c75630c36a5f46a50143ff33776d082

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c6b1dac1ccaac72da96ff26674a722ffcfa7d75d52981d23c2332c6d0ccaa847
MD5 e028df5829d8b33c3e54458a45c7bc48
BLAKE2b-256 b6098a56b537a03cfea5c7b03bb3fb5b07be5cdcbef4148ca3f7ae4bcd6afa5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 50a3f1391fdf7770f90b42d2b79bd6e52b3ded362797bb4bc71e2078ab431af5
MD5 0cff02978985591aa0aed528733c4825
BLAKE2b-256 167883ec264e363dc207fb389d6f774a2f6137f76af074716cae2246fb01aa16

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e3cafed498c07ca284ea56cde218d78116eb358a1fd12ef423045de07161e56a
MD5 c644f3cd7bf17425592b630fffea22a1
BLAKE2b-256 7cedb4faeb93871e8141fa9572f535133f5308b4c521158e6639064c1b982e4a

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 796f29f2da48e499af2f048e9f6a60bc3777ef84487f7075732e87b5b044f99e
MD5 0111da1e0f1eef8589a9dc449b7848cd
BLAKE2b-256 68cbfbfbfa3f167437a26500c1b97b4d1e2730e1c56a8fdf0e4156e3773b9c48

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 46a3e104f3ca850cc2ea6baca1ba0bd2deae3821a7298e2861f402485b7f6747
MD5 a7130289a0d53e498be427481c35ce1a
BLAKE2b-256 b4a8210875a5383d7654e7e701f638fb9fdb652e8164b27ea9721e148d83c26f

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b76961ae251d4af39140313ecdca594f61bf93710d16196b1aa7c0ace1e8c8ca
MD5 29ba2db686068df9b657d5e6d5fe2049
BLAKE2b-256 f5b7e8402b3cc3930fdb4243a17d13472e46bf717c3942bfb248a78d5a1ea073

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f744bf5e18b152a15e0087a3cd070e16df882ee83f82ddf2ca06ab78fefead32
MD5 07925ba66d81d60e8b1fea78760789b7
BLAKE2b-256 9ffab81257db4c5310742008a583d4b0f1489a5d4d1b63b51a45e2347a9bbee9

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 72629d60f5678daf39952d9736df4eb1f4df4b798d477b36f6e45b7b7269cf17
MD5 dd864eab538bfb97f55c4e249d9cc448
BLAKE2b-256 a8635ca6ab9f62c68b642f69c2c1de03dcf9bc8f4226b9c5fd60c92001779d74

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d4bfba956cf813c8a00b6a2651129d5a1d2dd2b42c911d0b43d2c42e7bf65aa1
MD5 65517b245e67dbd7e929a18fef13431d
BLAKE2b-256 dbadb1ccaea8135c1d91ec3adcb43d9f54e6a232118527c1a3740cb6bf1c11bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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.24-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for headroom_ai-0.20.24-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 356ec8c41b78a1537eabfb4ebb4252adbdee9253d9c5cf8513981441fcf89171
MD5 50c7b6fc772160b62bd9c9c0cb16b0a8
BLAKE2b-256 f4296e1d692210b06eeb4b32362d205f92eb57fe8282f9acfa8c13d21c8e4db3

See more details on using hashes here.

Provenance

The following attestation bundles were made for headroom_ai-0.20.24-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