jev-use

Delega los pasos no relacionados con la escritura de un agente de codificación —qué elemento hacer clic, si la compilación pasó, si este comando es seguro— a Jev, un modelo de juicio, y los devuelve al LLM.

Documentación

jev-use

Inglés | 简体中文

La mejor manera para que Claude Code, Codex y pi trabajen con Jev: entrégale las tareas que no necesitan salida de texto a Jev — pasos más rápidos, menos tokens, tareas terminadas antes y mejor.

Hace que el LLM y Jev sean verdaderos colaboradores: cuando el contenido necesita ser escrito, el LLM toma el control; cuando un paso solo necesita una decisión rápida, Jev lo ejecuta.

Demostraciones — ejecuciones reales, velocidad 1×

Tarea de direcciones: Jev hace clic, el LLM escribe — 10 decisiones (p50 274 ms) · 4 escrituras; Jev rechaza una ruta incorrecta, el LLM reescribe
OpenStreetMap directions: Jev picks controls in green, the LLM types the locations in blue; a wrong 1809km geocode is rejected by Jev and repaired by the LLM, ending on the real 3.7km walking route
Compactación de contexto — 200 mensajes evaluados en 7 llamadas, un párrafo del LLM reemplaza la pila descartada; recuperación 3/3
A real transcript fills the context window to 94%; Jev tints each message keep or drop, the LLM's summary paragraph replaces the dropped block, the window falls to 44% and three recall checks pass
Pong: velocidad de la pelota = latencia de decisión — 86 decisiones de Jev en 20 s frente a 6 (haiku) y 3 (gemini) llamadas de la manera habitual; restringe ambos con enum y la brecha es 3×
Three Pong lanes replaying a live run at 1x: the Jev ball sweeps the field at ~224ms per decision while the LLM balls crawl
Controla cada comando de shell — los peligrosos se deniegan en ~230 ms con una razón, cero tokens del LLM
A 24-command dev session gated at 1x: dangerous commands denied at confidence 1.00, benign ones allowed

Cada demostración es un script reejecutable en bench/examples/; todos los números, metodología, varianza y advertencias: bench/RESULTS.md · mediciones de terceros: docs/evidence.md.

Instalación

npx -y jev-use install    # wires Claude Code, Codex, and pi — whichever it finds

Establece una clave en el entorno donde se ejecuta tu agente (JEV_BACKEND=mock para una ejecución de prueba sin clave):

ProveedorVariable de entorno
TypeSafe directoTYPESAFE_API_KEY
OpenRouterOPENROUTER_API_KEY
Vercel AI GatewayAI_GATEWAY_API_KEY

npx -y jev-use doctor verifica la conexión. El estado evaluado va al proveedor que configures; JEV_BACKEND=mock permanece local. Forma de plugin con la habilidad de enrutamiento y la compuerta PreToolUse: harness/claude-code · harness/codex.

Uso como biblioteca

npm i jev-use — cero dependencias de ejecución en la ruta de evaluación:

import { Jev, check, pick, rate } from "jev-use";

const jev = new Jev();

const { answers } = await jev.judge(state, {
  next: pick("Next action?", { merge: "all green", rerun: "looks flaky", hold: "needs attention" }),
  risk: rate("How risky?", ["routine", "worth a look", "incident"]),
  passed: check("Did the run fully succeed?"),
});
// answers.next → { answer: "merge", confidence: 0.93, confidenceFrom: "reported", escalate: false }

Cualquier cosa que Jev no pueda o no deba decidir regresa con escalate: true y una razón tipada. Herramientas, forma del veredicto, contrato de escalamiento, CLI: docs/reference.md.

Lo suficientemente pequeño para leer

ArchivoFunción
src/protocol.tsPreguntas (check/pick/rate), veredictos, razones de escalamiento
src/dispatch.tsEnrutamiento previo a la llamada: lo que nunca llega a Jev
src/judge.tspantalla → backend → devolver lo que no está seguro; gate
src/jev.tsEl cliente Jev sobre ese motor
src/backends/Adaptadores TypeSafe, OpenRouter, Vercel, mock
src/server.tsLas dos herramientas MCP
src/cli.tsinstall, serve, hook gate, doctor
skills/jev-use/SKILL.mdLas reglas de enrutamiento que sigue el agente

Desarrollo

$ npm run typecheck && npm test    # unit tests incl. per-provider wire fixtures
$ npm run smoke                    # real MCP client ↔ built CLI over stdio
$ node bench/run.mjs               # micro-benchmarks, your key and region

Escrito sustancialmente con Claude Code (asistido por IA).

MIT © shitianfang