Auth: validate email pre-insert; reject disposable domains; keep `oauth_callback`; log `organization_id` + `request_id`; omit query/secrets; test valid/malformed/duplicate; return `invalid_email`.
illustrative rewrite · not production engine output
01
Tools you run yourself. Compression and recovery stay local; model requests still go to your chosen provider.
caveman wrap claude runs supported traffic through Caveman Proxy, powered by Caveman Engine. Record mode preserves request bytes; compression mode stores original locally before replacement. No account needed. Log in only when you want cloud sync, analytics, and team features.
$ caveman claude→ local Proxy ready · powered by Caveman Engine→ recovery tool ready→ eligible context compression: ontoken reductions use local estimates (inferred)original bytes stay in local recovery storeoptional cloud analytics: caveman login
$ caveman login→ signed in as [email protected]→ Free plan · one person, no card→ local compression unchanged→ this account adds: analytics, cloud sync→ usage stats on: commands, sessions, token totals, install type, timezone, IP address; never prompts, code or file paths · caveman telemetry off$ caveman claude→ local token estimates can sync to your dashboard
illustrative status · local token reductions are estimated and labeled inferred
A base-URL swap on your machine. Record mode is pass-through. Compression changes model-visible context only when local recovery path is available. Parse failure or missing recovery returns original unchanged. Account state never controls local compression.
Tool output, logs, JSON, tables, diffs, search results and stale context can be compressed on-device. Original bytes are stored locally before lossy replacement. Token reductions stay labeled inferred.
The local profiler. It reads your own sessions and proposes the cost moves compression alone can't make — cache hints, oversized tool results, retry loops — ranked by what they could save.
Prompts and responses go direct. Caveman's cloud is not in that path.
Signed in, sync sends span metadata such as token counts, model names, cost, latency and savings, never prompt or response bytes. With routing on, your latest message, the one before it and the end of the agent's last reply go to Caveman Cloud to pick a model; the text is dropped after the decision unless the Free router-learning conditions apply.
On hosted Enterprise, sync uploads are refused at write time. Routing requests and runtime events work as on every plan, and Enterprise text is never kept.
Prompts go from your machine straight to your provider. Caveman's cloud gets metadata from sync and, only with routing on, the text it needs to pick a model.
one person · no card · every feature up to the monthly allowances
7-day free trial · includes $300 of usage · then standard rates · your whole team
hosted or in your VPC
Auth: validate email pre-insert; reject disposable domains; keep `oauth_callback`; log `organization_id` + `request_id`; omit query/secrets; test valid/malformed/duplicate; return `invalid_email`.
illustrative rewrite · not production engine output
tsconfig.paths. Add alias. Rebuild.const cave = new Cave({ baseURL })
await cave.compress(json)
return recoveryHandle
cave = Cave(base_url=url)
result = cave.compress(data)
print(recovery_handle)
tool caveman_compress
input JSON · logs · schemas
output inferred · CCR handle
The open-source skill: output compression for Claude Code & 30+ agents.
npx skills add JuliusBrussee/caveman -gRecoverable local context compression for agents you already use.
Keep your framework, models, and tools. Explore per-format compression, recover originals, and add middleware to your TypeScript or Python agent. Alpha.
Token-efficient browser automation: compressed a11y snapshots, byte-exact recovery.
claude mcp add caveman-browse -- npx -y caveman-browseA coding agent for your terminal. Read the repo, make the change, and check the work. In private development.
Thin SDKs for TypeScript and Python live in the docs.
Keep your framework and provider client. Native middleware compresses eligible outbound tool results through a local runtime; inference stays with your provider. Thin SDKs expose explicit connected APIs.
Run a complete TypeScript example with diagnostics and original recovery.
Run a complete Python example and keep your original conversation.
Compare skill, proxy, middleware, or thin SDKs.
Check released versions, accepted ranges, and exact test evidence.
Middleware is alpha. Local deterministic checks need no provider key; optional live model runs incur provider charges. Read the SDK and runtime licence terms before deployment.
The skill, CLI, SDKs, middleware, extension and the engine are Apache-2.0 from 3.0.0; earlier releases keep the licence they shipped with.
No. Compression runs on your machine with no Caveman account. Wrapped agent still needs its model provider and network unless that provider also runs locally.
After seven days of grace the Workspace returns to Free: members keep access, traffic keeps flowing, nobody new can be added, and usage stops at the free allowances. Local compression is never affected.
Lives in your chat box: ChatGPT, Claude, Gemini.