Reflex
Pi-based coding agent where Jev gates every tool call, picks the model tier, checks 'done' claims and trims tool output.
Overview
Reflex is a coding agent and personal assistant built on the Pi coding agent. It works with any LLM through OpenRouter or a direct provider, takes voice input, and includes macOS computer use, a browser agent, MCP connectors and scheduled agents. On top sits a reflex layer: Jev answers narrow typed questions in about 400 ms and code owns the policy. Each consultation is shown in the session as a TYPESAFE line.
Jev is used in several places, each as one parallel request. An action gate on every bash, edit, write, computer, browse and connector call asks whether it is destructive, outside the workspace, touches secrets, has external side effects, needs privileges, or matches the user's request, plus a 0-3 risk score; code maps these to allow, ask or block by your risk setting, and protected paths always ask. A progress monitor checks for looping or stuck turns; a completion check sends back unverified 'done' claims; a router picks fast, default or strong model tier and relevant skills or connectors, pricing cache loss before switching; and long tool output is trimmed chunk by chunk while keeping errors and diffs.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is this tool call destructive / outside the workspace / touching secrets / with external side effects / needing privileges? | — |
| Score | How risky is this action (0 to 3)? | 0 · 1 · 2 · 3 |
| Choice | Which model tier does this request need: fast, default or strong? | fast · default · strong |
| Yes / no | Does the agent claim done, and was it actually verified? | — |
How it works
- Intercept a state-changing tool call, turn end or new request
- Ask Jev the relevant set of typed questions in one request
- Code applies thresholds by risk appetite: allow, ask or block; route model tier; send back unverified completions
- Show each judgment in the session for transparency
Strengths
- No static allowlists; context-aware gating
- About 400 ms per decision per the README
- Avoids paying twice by batching questions on one state
- Cache-aware model switching
Caveats
- Requires a TypeSafe key for the reflex layer
- Large feature surface built on Pi
At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- Pi coding agent
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
Coding agents: Pi-based coding agent that sends each state-changing tool call through one Jev request of five `Noul` risk checks plus a risk `Score`, maps the answers in code to allow, ask or block by the user's risk setting (protected paths always ask), and also uses Jev to pick the model tier per prompt and to send back "done" claims that ran no verification, at about 400 ms per decision.
yibie/awesome-jevA coding agent and personal assistant built on the Pi coding agent. Jev checks every tool call, turn and voice transcript, and code decides what happens next: allow, ask or block an action, which model tier to use, and whether a "done" was actually verified.
logicrw/awesome-jev-projectsA coding agent and personal assistant with System One reflexes (TypeSafe Jev) on top of the Pi coding agent.
hellogumbo/awesome-jev
Frequently asked questions
What does Jev decide in Reflex?
Tool-call risk, model tier and skill relevance, whether the agent is stuck, and whether a claimed completion was verified.
Who makes the final call?
Code, according to your risk appetite; protected paths always ask regardless of Jev.
How fast is it?
About 400 ms per decision according to the README.
Related projects
Auditable Zig terminal agent pairing Codex for coding with Jev typed preflight and postflight checks under deterministic policy gates.
CLIproductionZigHermes plugin that asks Jev to review risky plans, check claims against sources, and judge whether a task is really finished.
PluginbetaClaude Code plugin that moves CLAUDE.md rules into hooks, denying rule-breaking edits and unasked deploys via Jev probabilities.
ProjectbetaTypeScriptRisk gate for AI coding agents: Jev decides at five layers and Claude Code hooks enforce deny or ask deterministically.
ProjectbetaJavaScriptAsynchronous System-1 supervisory plugin for Hermes Agent with typed Jev decisions, ranking, verification and an opt-in tool gate.
ProjectbetaPythonTyped judgment harness for coding agents with gates from PRD to release; runs on JSON-forced LLMs today and Jev by swapping the backend.
ProjectprototypeTypeScript