Skip to content
System One

Friedjof/jev-mobile

Proof of concept that turns a high-level Android goal into a bounded observe, stabilize, decide, act loop. Jev receives a compact semantic UI state and a short list of already-valid actions, and never generates coordinates, MCP calls or code. Exercised against Android Settings on a real device.

Friedjof/jev-mobile on GitHub

Stars
4
Forks
3
Language
Python
License
MIT
Last push
18 Sep 2026

Read from GitHub on . Counts change daily.

How it uses Jev

        response = await client.system_one(
            state={
                "goal": goal,
                "deterministic_extraction": interpretation.model_dump(mode="json"),
                "ui": compact["screen"],
            },
            questions=questions,
        )
except Exception as error:
    raise ProviderUnavailable(f"Jev interpretation failed ({_safe_error_summary(error)})") from error
content_type = response.answers["content_type"].choice
title = response.answers["title"].choice if "title" in response.answers else interpretation.title
result = interpretation.model_copy(update={"content_type": content_type, "title": title})
return result.model_copy(update={"task_spec": result.to_task_spec()})

View in src/jev_mobile/providers/jev.py

Open on GitHub

More like this

Use cases this is tagged with