jev-sim-use
Fast iOS Simulator and Android navigator built on sim-use where Jev picks each tap instead of a frontier-model turn.
Overview
jev-sim-use is a navigator for iOS Simulator and Android devices built on sim-use, which lets AI agents drive a device. When a frontier model such as Claude Code runs that loop, every tap costs a full reasoning turn. jev-sim-use hands the loop to Jev: each step is one request asking whether the goal is reached and which on-screen action comes next. Given a goal like turning on Dark Mode in Settings, it taps its way there on its own.
Each step sends the screen's visible labels and values, the rules for the operations offered, and hints only when Jev is unsure. Jev never writes text: you name each string with flags such as -t query=ramen, Jev matches the name to a field label, and the value is typed without being sent to Jev. Longer routes can be given as numbered steps with a restricted action set and step limit. When unsure it stops instead of guessing, leaving a session your agent can inspect, teach and resume, and an exec command runs any sim-use command on the same device. It requires macOS 15+ and sim-use 0.14.0+, and installs by script, mise or nest.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Is the goal reached on this screen? | yes · no |
| Choice | Which on-screen action comes next? | — |
How it works
- Boot a simulator or connect an Android device
- Open the target app
- Run jev-sim-use with a goal
- Jev checks the goal and picks the next action each step
- Stop and hand off to your agent when unsure
Strengths
- One small request per tap instead of a reasoning turn
- Text values never sent to Jev
- Hands off cleanly instead of guessing
Caveats
- macOS 15+ and sim-use required
- Cannot launch apps itself
- Screen labels are sent to the API
Getting started
Install sim-use via Homebrew, run the install script, export TYPESAFE_API_KEY, run jev-sim-use doctor, then jev-sim-use "Turn on Dark Mode in Settings"At a glance
- Type
- Project
- Status
- beta
- Runtime
- CLI (macOS)
- Has code
- yes
Use cases and integrations
How curated lists describe it
Drives an iOS Simulator or Android device without spending a frontier reasoning turn on every tap.
MrJev/awesome-jev
Frequently asked questions
What does Jev decide?
Whether the goal is reached and which on-screen action to take next at each step.
Are passwords sent to Jev?
No. Values given with -t are typed into fields without being sent to Jev.
What happens when it gets stuck?
It stops and leaves a session your agent can inspect, teach and resume.
Related projects
Fork of mobile-mcp that adds OCR and lets Jev pick which recognised text element to tap on Android and iOS devices.
MCP serverbetaTypeScriptFlutter integration-test package where Jev picks the next registered UI action and judges whether the test goal is reached.
LibrarybetaDartPlain-English end-to-end tests for Android and iOS apps where Jev works out the taps and a lockfile replays every decision exactly.
AppbetaPythonSelf-hostable harness to run coding agents from your phone; a mobile testing script can use Jev to pick the next UI interaction.
ProjectbetaTypeScriptSingle-file MCP server giving coding agents typed, budgeted Jev control over the iOS Simulator with gated destructive actions.
MCP serverprototypeJavaScriptClaude Code plugin that runs tap scripts on iOS or Android and has Jev judge each checkpoint's on-screen claims for a pass/fail verdict.
AppbetaTypeScript