Docs · quickstart

Running in about five minutes.

1 — Requirements

Python 3.12 or newer with uv, adb on your PATH with exactly one device or emulator attached, and a Gemini API key.

shell
uv sync
cp .env.example .env   # then fill in GEMINI_API_KEY
uv run visionagent devices

2 — Run a goal

Pass the goal in plain language. --app launches a package before testing begins; the model can also launch, stop or restart it mid-run. --device picks an adb serial when more than one is attached.

shell
uv run visionagent run "sign in and check the profile screen" \
  --app com.example.app

3 — Watch it live

The backend serves on port 8000; the frontend dev server proxies to it. For a one-process deploy, build the frontend and the backend serves the assets directly.

shell
uv run visionagent-web        # backend on http://127.0.0.1:8000

cd web/frontend
npm install                   # first time only
npm run dev                   # http://localhost:5173

4 — Development

The unit suite is offline: no device and no API key required.

shell
uv run pytest              # offline unit tests
uv run ruff check .