jev-filter
npm CLI that screens large agent tool outputs with Jev, returning compact typed decisions and IDs while originals stay recoverable.
Overview
Jev Filter turns large tool outputs (retrieved records, code, logs, page records) into compact, typed decisions before they enter an agent's context. It screens candidates against the task and supplied facts, keeps unresolved cases visible, and lets the agent recover originals by ID. It is maintained by Apixly as an independent MIT project, published as @apixly/jev-filter.
The README reports a paid A/B where Jev's batched path screened 96 records in a median 1.31 seconds versus about 13 to 15 seconds for two models through Codex CLI, with all nine runs selecting the same correct 48 IDs, and a whole-agent A/B showing 91.6 to 97.2 percent less returned tool context with 24 of 24 exact ID sets. Both use synthetic inputs with small repetition counts. It also supports short browser and desktop goals where Jev chooses from observed controls and the program owns execution and verification.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this record relevant to the task given the supplied facts?(inferred) | — |
| Choice | Which observed control should be used next for a short browser or desktop goal?(inferred) | — |
How it works
- A search or collector produces candidate records
- Jev screens them in batches against the task and facts
- Return selected IDs, typed answers and receipts; keep uncertain cases visible
- Agent recovers originals by ID as needed
Strengths
- Large reduction in tool context reported
- Originals and receipts kept locally
- Native npm CLI with batching
Caveats
- Benchmarks use synthetic inputs and few repetitions
- Requires a Jev key
Getting started
Install `@apixly/jev-filter` from npm and see the Quick start and Agent setup docs.At a glance
- Type
- CLI
- Status
- beta
- Language
- TypeScript
- Runtime
- npm CLI
- Has code
- yes
- Has tests
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Typed semantic filtering for AI agents: turn retrieved records, code and logs…
wh000wh000/awesome-jev-liveSemantic filtering for AI tool results. Native npm CLI, caller-controlled context, batching, and reproducible benchmarks.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide?
Which tool-output records are relevant to the agent's task.
How much context does it save?
The README reports 91.6 to 97.2 percent less returned tool context in synthetic A/B tests.
Are filtered records lost?
No, originals stay local and can be recovered by ID.
Related projects
Local long-term memory for coding agents with an optional Jev reranker that orders recalled memories.
ProjectproductionTypeScriptRetrieval layer for Codex that finds evidence locally, optionally ranks sanitized excerpts with Jev, and returns bounded, cited evidence.
ProjectbetaMCP tool that asks Jev which files, web pages or snippets are relevant to a query, so the agent reads selectively.
MCP serverbetaTypeScriptAgent skill and Python library for Claude Code and Codex that reranks candidate lists with one Jev yes/no relevance question each.
ProjectbetaPythonMCP server that returns only the JS/TS code a task needs by following the TypeScript compiler graph and asking Jev about relevance.
MCP serverbetaTypeScriptLocal-first MCP server that returns only Jev-checked passages from big PDFs, Word files and spreadsheets, with exact row calculations.
MCP serverbetaTypeScript