2026-04-18 09:36:49 -07:00
< div align = "center" >
2026-01-07 11:36:44 -08:00
2026-04-18 09:36:49 -07:00
# Headroom
2026-01-19 22:28:12 -08:00
2026-04-18 09:36:49 -07:00
**Compress everything your AI agent reads. Same answers, fraction of the tokens.**
2026-01-19 22:28:12 -08:00
2026-04-18 09:36:49 -07:00
[](https://github.com/chopratejas/headroom/actions/workflows/ci.yml)
[](https://pypi.org/project/headroom-ai/)
[](https://www.npmjs.com/package/headroom-ai)
[](https://huggingface.co/headroom-ai/Kompress-base)
[](https://headroomlabs.ai/dashboard)
[](LICENSE)
[](https://chopratejas.github.io/headroom/)
2026-03-10 15:06:06 -07:00
2026-04-18 09:36:49 -07:00
< img src = "HeadroomDemo-Fast.gif" alt = "Headroom in action" width = "820" >
2026-03-10 15:06:06 -07:00
2026-04-18 09:36:49 -07:00
< / div >
2026-01-19 22:28:12 -08:00
2026-01-19 08:19:37 -08:00
---
2026-04-18 09:36:49 -07:00
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.**
2026-01-19 08:19:37 -08:00
2026-04-18 09:36:49 -07:00
> **100 logs. One FATAL error buried at position 67. Both runs found it.**
> Baseline **10,144 tokens** → Headroom **1,260 tokens** — **87% fewer, identical answer.**
> `python examples/needle_in_haystack_test.py`
2026-01-19 08:19:37 -08:00
2026-04-18 09:36:49 -07:00
---
2026-03-26 15:41:56 -07:00
2026-04-18 09:36:49 -07:00
## Quick start
2026-04-10 23:27:24 -05:00
2026-04-18 09:36:49 -07:00
Works with Anthropic, OpenAI, Google, Bedrock, Vertex, Azure, OpenRouter, and 100+ models via LiteLLM.
fix: harden persistent install wrappers and review gaps
Align Docker-native wrapper help and runtime behavior with the Python install contract, including persistent deployment metadata, baked install-image defaults, and explicit unsupported wrap targets.
Harden the Python persistent-install path with profile validation, safer provider-scope handling, Windows environment restoration, runtime parity improvements, and rollback-safe apply/update behavior.
Update README, Docker install docs, CI, and focused regressions to cover the Windows BOM failure, wrapper parity, compose coverage, and Docker-native wrap behavior.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-11 17:34:40 -05:00
2026-04-18 09:36:49 -07:00
**Wrap your coding agent — one command:**
2026-04-10 23:27:24 -05:00
2026-04-11 13:47:05 -05:00
```bash
2026-04-18 09:36:49 -07:00
pip install "headroom-ai[all]"
2026-04-11 13:47:05 -05:00
2026-04-18 09:36:49 -07:00
headroom wrap claude # Claude Code
headroom wrap codex # Codex
headroom wrap cursor # Cursor
headroom wrap aider # Aider
headroom wrap copilot # GitHub Copilot CLI
fix: harden persistent install wrappers and review gaps
Align Docker-native wrapper help and runtime behavior with the Python install contract, including persistent deployment metadata, baked install-image defaults, and explicit unsupported wrap targets.
Harden the Python persistent-install path with profile validation, safer provider-scope handling, Windows environment restoration, runtime parity improvements, and rollback-safe apply/update behavior.
Update README, Docker install docs, CI, and focused regressions to cover the Windows BOM failure, wrapper parity, compose coverage, and Docker-native wrap behavior.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-11 17:34:40 -05:00
```
2026-04-18 09:36:49 -07:00
**Drop it into your own code — Python or TypeScript:**
2026-03-17 16:31:04 -07:00
```python
from headroom import compress
2026-04-18 09:36:49 -07:00
result = compress(messages, model="claude-sonnet-4-5")
response = client.messages.create(model="claude-sonnet-4-5", messages=result.messages)
2026-03-17 16:31:04 -07:00
print(f"Saved {result.tokens_saved} tokens ({result.compression_ratio:.0%})")
```
2026-03-26 15:41:56 -07:00
```typescript
import { compress } from 'headroom-ai';
const result = await compress(messages, { model: 'gpt-4o' });
```
2026-04-18 09:36:49 -07:00
**Or run it as a proxy — zero code changes, any language:**
2026-02-19 10:21:18 -08:00
```bash
headroom proxy --port 8787
2026-03-17 16:31:04 -07:00
ANTHROPIC_BASE_URL=http://localhost:8787 your-app
OPENAI_BASE_URL=http://localhost:8787/v1 your-app
```
2026-03-10 15:06:06 -07:00
---
2026-04-18 09:36:49 -07:00
## Why Headroom
Add OSS evaluation suite, universal JSON crush, latency benchmarks
Evaluation Suite:
- Tiered eval framework (Tier 1 ~$3/15min, Tier 2/3 for extended coverage)
- 16 benchmarks across 3 tiers: GSM8K, TruthfulQA, MMLU, ARC, HumanEval,
SQuAD v2, BFCL, Tool Outputs, CCR needle retention, HotpotQA, and more
- Before/After runner with full proxy support (compression + CCR retrieval)
- LLM-as-judge for ground-truth comparison (BFCL function calling)
- Zero-cost compression-only runner (CCR needle retention, info retention)
- Cost tracker with per-model pricing and budget enforcement
- Report card generator (Markdown, JSON, HTML)
- Suite CLI: python -m headroom.evals suite --tier 1
- Fix BFCL dataset loader for current HuggingFace schema
- CI workflow: PR smoke test + weekly full Tier 1
Results: SQuAD 97%, BFCL 97%, Tool Outputs 100%, CCR 100%
SmartCrusher:
- Universal JSON crush for heterogeneous arrays
- Fix mypy redefinition warning in _crush_string_array
Other:
- Latency benchmark suite with docs
- Known limitations doc
- Prompt comparison evaluator
- Config updates for new features
2026-02-23 19:08:16 -08:00
2026-04-18 09:36:49 -07:00
- **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 ](https://huggingface.co/headroom-ai/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.
Add OSS evaluation suite, universal JSON crush, latency benchmarks
Evaluation Suite:
- Tiered eval framework (Tier 1 ~$3/15min, Tier 2/3 for extended coverage)
- 16 benchmarks across 3 tiers: GSM8K, TruthfulQA, MMLU, ARC, HumanEval,
SQuAD v2, BFCL, Tool Outputs, CCR needle retention, HotpotQA, and more
- Before/After runner with full proxy support (compression + CCR retrieval)
- LLM-as-judge for ground-truth comparison (BFCL function calling)
- Zero-cost compression-only runner (CCR needle retention, info retention)
- Cost tracker with per-model pricing and budget enforcement
- Report card generator (Markdown, JSON, HTML)
- Suite CLI: python -m headroom.evals suite --tier 1
- Fix BFCL dataset loader for current HuggingFace schema
- CI workflow: PR smoke test + weekly full Tier 1
Results: SQuAD 97%, BFCL 97%, Tool Outputs 100%, CCR 100%
SmartCrusher:
- Universal JSON crush for heterogeneous arrays
- Fix mypy redefinition warning in _crush_string_array
Other:
- Latency benchmark suite with docs
- Known limitations doc
- Prompt comparison evaluator
- Config updates for new features
2026-02-23 19:08:16 -08:00
2026-04-18 09:36:49 -07:00
Bundles the [RTK ](https://github.com/rtk-ai/rtk ) binary for shell-output rewriting — full [attribution below ](#compared-to ).
Add OSS evaluation suite, universal JSON crush, latency benchmarks
Evaluation Suite:
- Tiered eval framework (Tier 1 ~$3/15min, Tier 2/3 for extended coverage)
- 16 benchmarks across 3 tiers: GSM8K, TruthfulQA, MMLU, ARC, HumanEval,
SQuAD v2, BFCL, Tool Outputs, CCR needle retention, HotpotQA, and more
- Before/After runner with full proxy support (compression + CCR retrieval)
- LLM-as-judge for ground-truth comparison (BFCL function calling)
- Zero-cost compression-only runner (CCR needle retention, info retention)
- Cost tracker with per-model pricing and budget enforcement
- Report card generator (Markdown, JSON, HTML)
- Suite CLI: python -m headroom.evals suite --tier 1
- Fix BFCL dataset loader for current HuggingFace schema
- CI workflow: PR smoke test + weekly full Tier 1
Results: SQuAD 97%, BFCL 97%, Tool Outputs 100%, CCR 100%
SmartCrusher:
- Universal JSON crush for heterogeneous arrays
- Fix mypy redefinition warning in _crush_string_array
Other:
- Latency benchmark suite with docs
- Known limitations doc
- Prompt comparison evaluator
- Config updates for new features
2026-02-23 19:08:16 -08:00
2026-04-18 09:36:49 -07:00
---
Add OSS evaluation suite, universal JSON crush, latency benchmarks
Evaluation Suite:
- Tiered eval framework (Tier 1 ~$3/15min, Tier 2/3 for extended coverage)
- 16 benchmarks across 3 tiers: GSM8K, TruthfulQA, MMLU, ARC, HumanEval,
SQuAD v2, BFCL, Tool Outputs, CCR needle retention, HotpotQA, and more
- Before/After runner with full proxy support (compression + CCR retrieval)
- LLM-as-judge for ground-truth comparison (BFCL function calling)
- Zero-cost compression-only runner (CCR needle retention, info retention)
- Cost tracker with per-model pricing and budget enforcement
- Report card generator (Markdown, JSON, HTML)
- Suite CLI: python -m headroom.evals suite --tier 1
- Fix BFCL dataset loader for current HuggingFace schema
- CI workflow: PR smoke test + weekly full Tier 1
Results: SQuAD 97%, BFCL 97%, Tool Outputs 100%, CCR 100%
SmartCrusher:
- Universal JSON crush for heterogeneous arrays
- Fix mypy redefinition warning in _crush_string_array
Other:
- Latency benchmark suite with docs
- Known limitations doc
- Prompt comparison evaluator
- Config updates for new features
2026-02-23 19:08:16 -08:00
2026-04-18 09:36:49 -07:00
## How it fits
Add OSS evaluation suite, universal JSON crush, latency benchmarks
Evaluation Suite:
- Tiered eval framework (Tier 1 ~$3/15min, Tier 2/3 for extended coverage)
- 16 benchmarks across 3 tiers: GSM8K, TruthfulQA, MMLU, ARC, HumanEval,
SQuAD v2, BFCL, Tool Outputs, CCR needle retention, HotpotQA, and more
- Before/After runner with full proxy support (compression + CCR retrieval)
- LLM-as-judge for ground-truth comparison (BFCL function calling)
- Zero-cost compression-only runner (CCR needle retention, info retention)
- Cost tracker with per-model pricing and budget enforcement
- Report card generator (Markdown, JSON, HTML)
- Suite CLI: python -m headroom.evals suite --tier 1
- Fix BFCL dataset loader for current HuggingFace schema
- CI workflow: PR smoke test + weekly full Tier 1
Results: SQuAD 97%, BFCL 97%, Tool Outputs 100%, CCR 100%
SmartCrusher:
- Universal JSON crush for heterogeneous arrays
- Fix mypy redefinition warning in _crush_string_array
Other:
- Latency benchmark suite with docs
- Known limitations doc
- Prompt comparison evaluator
- Config updates for new features
2026-02-23 19:08:16 -08:00
2026-04-18 09:36:49 -07:00
```
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 · …)
Add OSS evaluation suite, universal JSON crush, latency benchmarks
Evaluation Suite:
- Tiered eval framework (Tier 1 ~$3/15min, Tier 2/3 for extended coverage)
- 16 benchmarks across 3 tiers: GSM8K, TruthfulQA, MMLU, ARC, HumanEval,
SQuAD v2, BFCL, Tool Outputs, CCR needle retention, HotpotQA, and more
- Before/After runner with full proxy support (compression + CCR retrieval)
- LLM-as-judge for ground-truth comparison (BFCL function calling)
- Zero-cost compression-only runner (CCR needle retention, info retention)
- Cost tracker with per-model pricing and budget enforcement
- Report card generator (Markdown, JSON, HTML)
- Suite CLI: python -m headroom.evals suite --tier 1
- Fix BFCL dataset loader for current HuggingFace schema
- CI workflow: PR smoke test + weekly full Tier 1
Results: SQuAD 97%, BFCL 97%, Tool Outputs 100%, CCR 100%
SmartCrusher:
- Universal JSON crush for heterogeneous arrays
- Fix mypy redefinition warning in _crush_string_array
Other:
- Latency benchmark suite with docs
- Known limitations doc
- Prompt comparison evaluator
- Config updates for new features
2026-02-23 19:08:16 -08:00
```
2026-04-18 09:36:49 -07:00
→ [Architecture ](https://chopratejas.github.io/headroom/docs/architecture ) · [CCR reversible compression ](https://chopratejas.github.io/headroom/docs/ccr ) · [Kompress-base model card ](https://huggingface.co/headroom-ai/Kompress-base )
2026-02-19 10:23:33 -08:00
---
2026-04-18 09:36:49 -07:00
## Proof
2026-01-07 11:36:44 -08:00
2026-04-18 09:36:49 -07:00
**Savings on real agent workloads:**
2026-01-16 16:17:14 -08:00
2026-04-18 09:36:49 -07:00
| 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%** |
2026-01-16 16:17:14 -08:00
2026-04-18 09:36:49 -07:00
**Accuracy preserved on standard benchmarks:**
Update docs: cross-agent memory, plugin learn architecture, dedup
README.md:
- Add cross-agent memory section with --memory flag examples
- Update learn section with multi-agent support (Claude, Codex, Gemini)
- Update features table: memory now cross-agent, learn now plugin-based
- Add --memory to wrap examples
docs/memory.md:
- Add "Cross-Agent Memory (Proxy)" section with architecture diagram
- Document project-scoped DB, auto user_id, agent provenance
- Document intelligent dedup (enriched hints + async background)
- Document supported providers table (Anthropic, OpenAI, Gemini)
- Update comparison table with new features vs Mem0/Letta
docs/learn.md:
- Replace scanner/analyzer architecture with plugin system diagram
- Document plugin-based architecture (auto-discovery + entry points)
- Add supported agents table (Claude, Codex, Gemini + output files)
- Update CLI reference (--agent, --model flags)
- Fix "Where Learnings Go" table for multi-agent output
2026-04-10 14:46:46 -07:00
2026-04-18 09:36:49 -07:00
| 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 |
Update docs: cross-agent memory, plugin learn architecture, dedup
README.md:
- Add cross-agent memory section with --memory flag examples
- Update learn section with multi-agent support (Claude, Codex, Gemini)
- Update features table: memory now cross-agent, learn now plugin-based
- Add --memory to wrap examples
docs/memory.md:
- Add "Cross-Agent Memory (Proxy)" section with architecture diagram
- Document project-scoped DB, auto user_id, agent provenance
- Document intelligent dedup (enriched hints + async background)
- Document supported providers table (Anthropic, OpenAI, Gemini)
- Update comparison table with new features vs Mem0/Letta
docs/learn.md:
- Replace scanner/analyzer architecture with plugin system diagram
- Document plugin-based architecture (auto-discovery + entry points)
- Add supported agents table (Claude, Codex, Gemini + output files)
- Update CLI reference (--agent, --model flags)
- Fix "Where Learnings Go" table for multi-agent output
2026-04-10 14:46:46 -07:00
2026-04-18 09:36:49 -07:00
Reproduce:
2026-01-14 15:22:26 -08:00
2026-03-10 15:06:06 -07:00
```bash
2026-04-18 09:36:49 -07:00
python -m headroom.evals suite --tier 1
2026-03-10 15:06:06 -07:00
```
2026-01-14 15:22:26 -08:00
2026-04-18 09:36:49 -07:00
**Community, live:**
2026-01-14 15:22:26 -08:00
2026-04-18 09:36:49 -07:00
< div align = "center" >
< a href = "https://headroomlabs.ai/dashboard" >
< img src = "headroom-savings.png" alt = "60B+ tokens saved — community leaderboard" width = "820" >
< / a >
< p > < b > < a href = "https://headroomlabs.ai/dashboard" > 60B+ tokens saved by the community in the last 20 days — live leaderboard →< / a > < / b > < / p >
< / div >
Add comprehensive evaluation framework for compression accuracy
- Add headroom.evals module with 12+ dataset loaders (HotpotQA, SQuAD,
Natural Questions, TriviaQA, MS MARCO, LongBench, NarrativeQA, BFCL,
ToolBench, CodeSearchNet, HumanEval, built-in tool outputs)
- Add before/after evaluation runner that compares LLM responses with
original vs compressed context
- Add metrics: F1 score, semantic similarity, exact match, ground truth
- Add CLI: python -m headroom.evals quick|benchmark|list|report
- Add [evals] extra to pyproject.toml for pip install headroom-ai[evals]
Fix ContentRouter to use LLMLingua for plain text compression:
- Route TEXT strategy through LLMLingua instead of heuristic TextCompressor
- Adjust LLMLingua compression rates for better accuracy (0.5 vs 0.25)
- HotpotQA now achieves 95% accuracy with 44% compression
Update documentation with evaluation framework section
Fix test isolation in test_toin.py (TOIN singleton persistence)
2026-01-22 09:17:28 -08:00
2026-04-18 09:36:49 -07:00
→ [Full benchmarks & methodology ](https://chopratejas.github.io/headroom/docs/benchmarks )
2026-03-10 15:06:06 -07:00
---
2026-04-18 09:36:49 -07:00
## Built for coding agents
2026-03-10 15:06:06 -07:00
2026-04-18 09:36:49 -07:00
| 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 |
2026-03-10 15:06:06 -07:00
2026-04-18 09:36:49 -07:00
MCP-native too — `headroom mcp install` exposes `headroom_compress` , `headroom_retrieve` , and `headroom_stats` to any MCP client.
2026-03-10 15:06:06 -07:00
2026-04-18 09:36:49 -07:00
< div align = "center" >
< img src = "headroom_learn.gif" alt = "headroom learn in action" width = "720" >
< / div >
2026-03-10 15:06:06 -07:00
---
## Integrations
2026-04-18 09:36:49 -07:00
< details >
< summary > < b > Drop Headroom into any stack< / b > < / summary >
| 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 ](https://chopratejas.github.io/headroom/docs/strands ) |
| ASGI apps | `app.add_middleware(CompressionMiddleware)` |
| Multi-agent | `SharedContext().put / .get` |
| MCP clients | `headroom mcp install` |
2026-03-10 15:06:06 -07:00
2026-04-18 09:36:49 -07:00
< / details >
Add comprehensive evaluation framework for compression accuracy
- Add headroom.evals module with 12+ dataset loaders (HotpotQA, SQuAD,
Natural Questions, TriviaQA, MS MARCO, LongBench, NarrativeQA, BFCL,
ToolBench, CodeSearchNet, HumanEval, built-in tool outputs)
- Add before/after evaluation runner that compares LLM responses with
original vs compressed context
- Add metrics: F1 score, semantic similarity, exact match, ground truth
- Add CLI: python -m headroom.evals quick|benchmark|list|report
- Add [evals] extra to pyproject.toml for pip install headroom-ai[evals]
Fix ContentRouter to use LLMLingua for plain text compression:
- Route TEXT strategy through LLMLingua instead of heuristic TextCompressor
- Adjust LLMLingua compression rates for better accuracy (0.5 vs 0.25)
- HotpotQA now achieves 95% accuracy with 44% compression
Update documentation with evaluation framework section
Fix test isolation in test_toin.py (TOIN singleton persistence)
2026-01-22 09:17:28 -08:00
2026-04-18 09:36:49 -07:00
< details >
< summary > < b > What's inside< / b > < / summary >
- **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.
Add comprehensive evaluation framework for compression accuracy
- Add headroom.evals module with 12+ dataset loaders (HotpotQA, SQuAD,
Natural Questions, TriviaQA, MS MARCO, LongBench, NarrativeQA, BFCL,
ToolBench, CodeSearchNet, HumanEval, built-in tool outputs)
- Add before/after evaluation runner that compares LLM responses with
original vs compressed context
- Add metrics: F1 score, semantic similarity, exact match, ground truth
- Add CLI: python -m headroom.evals quick|benchmark|list|report
- Add [evals] extra to pyproject.toml for pip install headroom-ai[evals]
Fix ContentRouter to use LLMLingua for plain text compression:
- Route TEXT strategy through LLMLingua instead of heuristic TextCompressor
- Adjust LLMLingua compression rates for better accuracy (0.5 vs 0.25)
- HotpotQA now achieves 95% accuracy with 44% compression
Update documentation with evaluation framework section
Fix test isolation in test_toin.py (TOIN singleton persistence)
2026-01-22 09:17:28 -08:00
2026-04-18 09:36:49 -07:00
< / details >
Add comprehensive evaluation framework for compression accuracy
- Add headroom.evals module with 12+ dataset loaders (HotpotQA, SQuAD,
Natural Questions, TriviaQA, MS MARCO, LongBench, NarrativeQA, BFCL,
ToolBench, CodeSearchNet, HumanEval, built-in tool outputs)
- Add before/after evaluation runner that compares LLM responses with
original vs compressed context
- Add metrics: F1 score, semantic similarity, exact match, ground truth
- Add CLI: python -m headroom.evals quick|benchmark|list|report
- Add [evals] extra to pyproject.toml for pip install headroom-ai[evals]
Fix ContentRouter to use LLMLingua for plain text compression:
- Route TEXT strategy through LLMLingua instead of heuristic TextCompressor
- Adjust LLMLingua compression rates for better accuracy (0.5 vs 0.25)
- HotpotQA now achieves 95% accuracy with 44% compression
Update documentation with evaluation framework section
Fix test isolation in test_toin.py (TOIN singleton persistence)
2026-01-22 09:17:28 -08:00
2026-01-10 14:51:08 -08:00
---
2026-04-18 09:36:49 -07:00
## Install
2026-01-14 21:21:04 -08:00
```bash
2026-04-18 09:36:49 -07:00
pip install "headroom-ai[all]" # Python, everything
npm install headroom-ai # TypeScript / Node
docker pull ghcr.io/chopratejas/headroom:latest
2026-01-14 21:21:04 -08:00
```
2026-01-06 23:16:58 -08:00
2026-04-18 09:36:49 -07:00
Granular extras: `[proxy]` , `[mcp]` , `[ml]` (Kompress-base), `[agno]` , `[langchain]` , `[evals]` . Requires **Python 3.10+** .
2026-04-04 21:51:37 +05:30
2026-04-18 09:36:49 -07:00
→ [Installation guide ](https://chopratejas.github.io/headroom/docs/installation ) — Docker tags, persistent service, PowerShell, devcontainers.
2026-01-30 23:12:22 -08:00
2026-01-10 14:51:08 -08:00
---
2026-01-06 23:16:58 -08:00
2026-01-07 11:36:44 -08:00
## Documentation
2026-01-06 23:16:58 -08:00
2026-04-18 09:36:49 -07:00
| Start here | Go deeper |
|-------------------------------------------------------------------------|------------------------------------------------------------------------|
| [Quickstart ](https://chopratejas.github.io/headroom/docs/quickstart ) | [Architecture ](https://chopratejas.github.io/headroom/docs/architecture ) |
| [Proxy ](https://chopratejas.github.io/headroom/docs/proxy ) | [How compression works ](https://chopratejas.github.io/headroom/docs/how-compression-works ) |
| [MCP tools ](https://chopratejas.github.io/headroom/docs/mcp ) | [CCR — reversible compression ](https://chopratejas.github.io/headroom/docs/ccr ) |
| [Memory ](https://chopratejas.github.io/headroom/docs/memory ) | [Cache optimization ](https://chopratejas.github.io/headroom/docs/cache-optimization ) |
| [Failure learning ](https://chopratejas.github.io/headroom/docs/failure-learning ) | [Benchmarks ](https://chopratejas.github.io/headroom/docs/benchmarks ) |
| [Configuration ](https://chopratejas.github.io/headroom/docs/configuration ) | [Limitations ](https://chopratejas.github.io/headroom/docs/limitations ) |
2026-01-10 14:51:08 -08:00
---
2026-01-06 23:16:58 -08:00
2026-04-18 09:36:49 -07:00
## Compared to
Headroom runs **locally** , covers **every** content type (not just CLI or text), works with every major framework, and is **reversible** .
2026-03-10 15:06:06 -07:00
2026-04-18 09:36:49 -07:00
| | Scope | Deploy | Local | Reversible |
|----------------------------------|-------------------------------------------------|-------------------------------------|:-----:|:----------:|
| **Headroom** | All context — tools, RAG, logs, files, history | Proxy · library · middleware · MCP | Yes | Yes |
| [RTK ](https://github.com/rtk-ai/rtk ) | CLI command outputs | CLI wrapper | Yes | No |
| [Compresr ](https://compresr.ai ), [Token Co. ](https://thetokencompany.ai ) | 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](https://github.com/rtk-ai/rtk) binary for shell-output rewriting — `git show` → `git 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.
2026-03-10 15:06:06 -07:00
---
2026-01-07 11:36:44 -08:00
## Contributing
```bash
Rewrite README + add Integration Guide
README: 694 → 203 lines. Crisp, scannable, links to docs.
- compress() as the hero quickstart (not proxy)
- Integration table: compress(), LiteLLM, ASGI, proxy, Agno, LangChain
- LangChain marked as experimental
- "Already have a proxy?" callout linking to Integration Guide
- Architecture: ContentRouter (not SmartCrusher) as the primary compressor
New: docs/integration-guide.md
- Detailed setup for every integration path
- compress() with Anthropic, OpenAI, LiteLLM, raw HTTP
- LiteLLM callback + LiteLLM proxy ASGI middleware
- ASGI middleware for any FastAPI/Starlette app
- Compression hooks for advanced customization
- FAQ section
Fix: compress() uses default pipeline (CacheAligner + ContentRouter +
IntelligentContext) instead of manually specifying SmartCrusher.
2026-02-19 10:17:33 -08:00
git clone https://github.com/chopratejas/headroom.git & & cd headroom
pip install -e ".[dev]" & & pytest
2026-01-06 23:16:58 -08:00
```
2026-04-18 09:36:49 -07:00
Devcontainers in `.devcontainer/` (default + `memory-stack` with Qdrant & Neo4j). See [CONTRIBUTING.md ](CONTRIBUTING.md ).
2026-04-10 12:58:35 -05:00
2026-01-10 14:51:08 -08:00
---
2026-01-06 23:16:58 -08:00
2026-04-18 09:36:49 -07:00
## Community
- **[Live leaderboard ](https://headroomlabs.ai/dashboard )** — 60B+ tokens saved and counting.
- **[Discord ](https://discord.gg/yRmaUNpsPJ )** — questions, feedback, war stories.
- **[Kompress-base on HuggingFace ](https://huggingface.co/headroom-ai/Kompress-base )** — the model behind our text compression.
2026-01-10 14:51:08 -08:00
## License
2026-01-07 11:36:44 -08:00
2026-04-18 09:36:49 -07:00
Apache 2.0 — see [LICENSE ](LICENSE ).