Jev-PhoneControl
Android control prototype with three agents: vision model, text-only supervisor, and Jev choosing actions and checking completion.
Overview
Jev-PhoneControl is a source-available Android control prototype (v0.0.1, Chinese documentation) with a local web console and API. A vision agent sees only screenshots and outputs an English description plus candidate actions with normalised coordinates. A text-only supervisor agent sees the task, the vision report and history, proposes the next goal and judges completion evidence. A Jev agent uses Choice to select among candidate actions and Noul to cross-check completion evidence.
An executor performs taps, long presses, swipes, back and text input through ADB and re-screenshots after each step. The model cannot run arbitrary commands, and sensitive actions such as payment, sending or deleting require explicit confirmation in the API, after which the target is re-verified. Jev calls retry on transient errors with backoff. The licence is PolyForm Noncommercial, so commercial use requires permission.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which candidate action should be executed next? | — |
| Yes / no | Is there evidence the task is complete? | yes · no |
How it works
- Screenshot the phone and get candidate actions from the vision model
- The supervisor proposes the next goal
- Jev chooses a candidate action
- Sensitive actions wait for user confirmation
- ADB executes and a new screenshot is taken
Strengths
- Clear separation of vision, planning and decision roles
- Sensitive actions require confirmation
- No arbitrary command execution
Caveats
- Non-commercial licence
- Needs three model providers including TypeSafe
- Early prototype tested mainly on Windows
Getting started
pip install -e . in a venv, set CONTROLPHONE_ADMIN_TOKEN, run uvicorn controlphone.api:create_app --factory --port 8000, then configure models at http://127.0.0.1:8000/At a glance
- Type
- Project
- Status
- prototype
- Language
- Python
- Runtime
- FastAPI web console and ADB executor
- Has code
- yes
- License
- PolyForm-Noncommercial-1.0.0
Use cases and integrations
How curated lists describe it
Visual Android automation powered by three agents: vision, a text-only supervisor, and TypeSafe JEV. Executes actions through ADB with a local web console.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Which candidate action to take and whether completion evidence holds.
Can I use it commercially?
Not without permission; it is under PolyForm Noncommercial 1.0.0.
How are risky actions handled?
Payments, sending and deleting wait for explicit confirmation and re-verification.
Related projects
Rust MCP server for desktop control via accessibility trees, with an optional decision model (Jev or compatible) for small choices.
MCP serverproductionRustmacOS menu-bar Swift app that turns on-device transcribed speech into Jev typed decisions and macOS actions, confirming hard-to-undo steps.
AppbetaSwiftRust CLI for desktop computer use via accessibility trees, with optional jev-desktop scripts letting Jev pick the control and action.
Agent skillbetaRustmacOS computer-use package: a background app driver for any agent, plus a loop where Jev picks each UI action for a bounded subtask.
ProjectbetaPythonLets coding agents run whole goals in your signed-in Chrome on macOS in background tabs, asking Jev or Claude Haiku only for real choices.
ProjectbetaComputer-use platform (Cua Spaces, Driver, Lume) with CUA-S1 small decision models and a preview jev-use example for bounded actions.
ProjectbetaPython