Skip to content

📋 Dashboard

The dashboard is a Vue 3 single-page application served by Vite during development.

Terminal window
# Terminal 1: backend
python3 run.py
# API at http://localhost:5055
# Terminal 2: frontend
cd frontend && npx vite --port 6175
# Dashboard at http://localhost:6175

Multi-device management:

  • Device list with serial, model, nickname, online status
  • WebRTC live streaming per device
  • Element overlay for interactive exploration
  • Remote tap/type/back controls

24-hour visual timeline:

  • Color-coded job bars by type
  • Schedule CRUD form (create, edit, delete)
  • Recent runs table with status filters
  • Per-phone queue status indicators

Browse, run, and export skills:

  • Card grid with expandable detail views
  • Action and workflow lists with descriptions
  • Device selector and parameter input
  • Run button (enqueues to job scheduler)
  • Export as ZIP

Split-screen LLM skill builder:

  • Left: chat with LLM (OpenRouter, Claude, Ollama, Claude Code)
  • Right: live device stream with numbered element overlay
  • Execute proposed actions on device

App exploration (BFS):

  • Searchable package dropdown (130+ installed apps)
  • Start/stop controls with depth, states, and settle parameters
  • Live progress bar with scrolling log
  • State browser with screenshots and element lists

Utility tools hub for common operations.

Quick-launch controls for automation jobs:

  • Queue management: add, remove, reorder jobs
  • Live log viewer
  • Job history with status tracking
  • Start/stop controls

Per-phone pytest runner:

  • Select device and test files
  • Screen recording capture during tests
  • Video + log overlay viewer for debugging

Headless emulator management (coming soon).

The dashboard supports dynamic tabs via the plugin system. When premium features are installed, additional tabs appear automatically. The backend exposes GET /api/features which the frontend checks on load.

LayerTechnology
FrameworkVue 3 (Composition API)
BuildVite + TypeScript
CSSTailwind CSS 4
VideoWebRTC + MJPEG fallback
Live LogsServer-Sent Events (EventSource)

The backend binds to 0.0.0.0:5055 by default. Access the dashboard from any machine on the same network:

http://<server-ip>:6175

Note: there is no authentication. Anyone on the network can access all controls.