📋 Dashboard
The dashboard is a Vue 3 single-page application served by Vite during development.
Starting the Dashboard
Section titled “Starting the Dashboard”# Terminal 1: backendpython3 run.py# API at http://localhost:5055
# Terminal 2: frontendcd frontend && npx vite --port 6175# Dashboard at http://localhost:6175Phone Agent
Section titled “Phone Agent”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
Scheduler
Section titled “Scheduler”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
Skill Hub
Section titled “Skill Hub”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
Skill Creator
Section titled “Skill Creator”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
Skill Miner (Explorer)
Section titled “Skill Miner (Explorer)”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.
Manual Run
Section titled “Manual Run”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
Emulators
Section titled “Emulators”Headless emulator management (coming soon).
Plugin Tabs
Section titled “Plugin Tabs”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.
Tech Stack
Section titled “Tech Stack”| Layer | Technology |
|---|---|
| Framework | Vue 3 (Composition API) |
| Build | Vite + TypeScript |
| CSS | Tailwind CSS 4 |
| Video | WebRTC + MJPEG fallback |
| Live Logs | Server-Sent Events (EventSource) |
Accessing from Another Machine
Section titled “Accessing from Another Machine”The backend binds to 0.0.0.0:5055 by default. Access the dashboard from any machine on the same network:
http://<server-ip>:6175Note: there is no authentication. Anyone on the network can access all controls.
Related
Section titled “Related”- WebRTC Streaming — live device stream details
- Scheduler — job scheduling system
- Skill Hub — browsing and running skills