Jev-cu
Codex Computer Use skill: Jev picks element, action, completion, and risk from AX text only; dry-run and confirm on sensitive ops.
Overview
Jev-cu (github.com/Sac-Y/Jev-cu) is Sac's Codex skill plus Node scripts that pair Codex Computer Use drivers with TypeSafe Jev decisions over accessibility text lists only. Each step Jev picks element, action, completion, and risk from numbered candidates; the CUA runtime executes clicks and typing. Screenshots never go to Jev. Default runs use dryRun true; policy.mjs stops delete, send, pay, auth, upload, captcha, install, and settings paths at confirm until a human approves.
Problem: Computer-use loops that ship screenshots to a judge model on every step are slow, leaky, and hard to gate when delete or pay actions appear.
Built for: Codex desktop users who want a text-only Jev Choice layer over accessibility candidates with dry-run defaults and explicit confirm on risky ops.
First indexed on Jev Directory: 2026-09-23
Creator and team
- Name
- Sac
- Handle
- @Saccc_c
How Jev is used
- Role in the product flow
- Per-step computer-use Choice and risk gates over AX text candidates inside Codex cua_repl
- Primitives
- ChoiceScoreNoul
- State in
- Accessibility snapshots serialized as text candidate tables per fixtures/ and loop.mjs (not pixels).
- Decision out
- Next element and action Choice, task completion Score or noul, and risk classification that policy.mjs maps to auto, confirm, or block.
- npm run install-skill copies skill/jev-cu into ~/.codex/skills with repo path substitution
- runTask in cua_repl calls Jev with English goals for best calibration per README
- policy.mjs enforces app allowlists and sensitive op confirm
- Offline npm run p0 evaluates element pick accuracy on AX fixtures
Sac splits responsibilities the way awlevin-typesafe-computer-use does on macOS: deterministic capture builds a finite menu, Jev chooses among typed options, and only the executor touches the UI. The difference is packaging for Codex CUA repl instead of a Python clicker CLI, and an explicit skill install path for agent operators. Compare lahfir-agent-desktop when you want Rust snapshot refs without Codex; compare awlevin when you want OCR plus macOS accessibility in one repo. Jev-cu is the Codex-native, text-only judge slice.
Sourced performance claims
- README states Jev sees interface text only; screenshots are not sent to the judge model.Source: github.com/Sac-Y/Jev-cu README
- Public GitHub repo Sac-Y/Jev-cu had 587 stars and 59 forks when this listing was drafted.Source: GitHub API September 2026
- Sensitive operations including delete, send, and pay default to confirm in policy.mjs with dry-run as the default loop mode.Source: github.com/Sac-Y/Jev-cu README security section
Features and stack
Features
- Codex skill with install and uninstall npm scripts
- runTask loop with dryRun and maxSteps controls
- policy.mjs app allowlist and sensitive op confirm
- Offline P0 AX fixture eval with npm run p0
- MIT licensed scripts and tests
Stack
- Node.js ESM
- Codex Computer Use driver
- TypeSafe System One
- Accessibility snapshots
Pricing: Open source; TypeSafe API key via .env.local or TYPESAFE_API_KEY per README.
Links
FAQ
- Does Jev see my screen pixels?
- No. README emphasizes text-only candidates from accessibility snapshots; Codex CUA reads the UI separately.
- How is this different from typesafe-computer-use?
- awlevin/typesafe-computer-use is a macOS Python clicker with OCR. Jev-cu is a Codex skill plus policy layer over CUA with AX text fed to Jev.
- Can it run without Codex desktop?
- The documented hot path imports runTask inside Codex cua_repl. Tests and p0 fixtures run offline without live UI per README.
Related learn guides
Original Jev guidance that pairs with this product pattern.
- Jev use cases
The patterns builders actually search for: moderation, routing, triage, RAG verify, and agent gates.
- Jev vs LLM classification
When to gate with System One probabilities instead of asking a chat model to label things.
Related products
Hand-picked neighbors with rich profiles or overlapping tags.