fast-jev-compaction-openrouter
Fork of fast-jev-compaction that calls Jev via OpenRouter with zero data retention enforced on every request.
Overview
This fork of tamaratran/fast-jev-compaction keeps the compaction logic unchanged and changes only the transport to Jev. Because the state sent to Jev is the whole conversation, including prompts, assistant text and every tool input such as file paths, commands and diffs, and the README says TypeSafe's API collects request data by default, the fork routes requests to OpenRouter's decisions endpoint instead.
Every request carries a provider block requiring zero data retention and denying data collection. The block is a constant rather than an option, so misconfiguration cannot weaken it; if no compliant endpoint is available, OpenRouter returns an error, compaction throws and Claude Code falls back to its built-in summary, so the transcript never reaches a non-ZDR endpoint. It uses the ~typesafe/jev-latest alias and an OPENROUTER_API_KEY, and adjusts the request overhead estimate to stay under Jev's request limit.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this tool call or result still needed?(inferred) | yes · no |
How it works
- Build the compaction state as in upstream
- Send to OpenRouter's decisions endpoint with zdr and data_collection deny
- Apply keep/drop decisions
- On no compliant endpoint, fail so Claude Code uses its own summary
Strengths
- Enforced zero data retention
- Same compaction behaviour as upstream
- Model alias tracks the newest Jev release
Caveats
- Depends on OpenRouter having a compliant endpoint
- Fork maintenance may lag upstream
Getting started
Install as the upstream Claude Code plugin but set OPENROUTER_API_KEY.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- Claude Code plugin + npm library
- Has code
- yes
Use cases and integrations
How curated lists describe it
Fork of tamaratran/fast-jev-compaction: Jev via OpenRouter with zero data retention (zdr, data_collection: deny).
hellogumbo/awesome-jev
Frequently asked questions
Why fork?
To guarantee zero data retention by routing Jev calls through OpenRouter with an enforced provider policy.
Can ZDR be turned off?
No, the provider block is a constant.
What changes from upstream?
Only the transport, model alias, key and overhead estimate.
Related projects
- fast-jev-compaction★ 7,616
Claude Code plugin and npm library that replaces the compaction summary with Jev keep, truncate or drop scores for every tool call.
PluginbetaTypeScript - winnow★ 110
Calibrated context sieve for Claude Code: Jev judges each block of large tool output and hides confident-no blocks behind recallable stubs.
Projectbeta Recursive language model layer for coding agents that keeps inputs in a local evaluator, with optional Jev judge_many for typed calls.
ProjectbetaRustLocal proxy for Claude Code that uses Jev to remove stale tool results from the context once it reaches about 120K tokens, failing open.
ProjectbetaJavaScriptAgent plugin that asks Jev whether the session is at a safe boundary to /compact and can trigger it on Pi and Claude Code.
PluginbetaTypeScriptClaude Code /fc command where Jev picks which old tool outputs to keep whole; the rest are trimmed and saved to files.
ProjectbetaTypeScript