This repository already contains the runnable backend and Android client.
Start with the bootstrap skill:
Recommended prompt:
Read ./skills/open-gui-bootstrap/SKILL.md and help me run OpenGUI. Only ask me for phone-side actions.
The skill should use the repository scripts directly:
server/start.shclient/start.sh
cd server
./start.shWhat server/start.sh does:
- checks Node.js 22+, pnpm, and Docker
- starts PostgreSQL and Redis in Docker
- creates
server/apps/backend/.envfrom.env.exampleon first run - installs dependencies
- generates Prisma client
- pushes schema and seeds default backend data
- starts the backend on port
7777
Required keys for a practical first run:
VLM_API_KEYVLM_BASE_URLVLM_MODEL
The backend currently uses the VLM_* variables as the shared
OpenAI-compatible model configuration for graph agents. They are used by
planning, supervision, summarization, and the executor vision path.
Example:
VLM_API_KEY=your_api_key
VLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
VLM_MODEL=qwen3.6-plusThe backend can start without these values, but real task execution will fail when the graph needs to call the model.
Useful endpoints after startup:
- API:
http://localhost:7777/api - Docs:
http://localhost:7777/docs
cd client
./start.shWhat client/start.sh does:
- checks
adband Java - requires a connected Android device
- runs
adb reverse tcp:7777 tcp:7777 - builds the debug APK
- installs the APK
- launches
com.coremate.opengui/.login.SplashActivity
Open the app and enable:
- USB debugging approval
- Accessibility Service
- overlay permission
- battery optimization exemption if needed
The Android app currently skips the old login gate in the source-available build and goes straight to HomeActivity.
For local runs, the backend task controllers also default to userId = 1, so first-run setup no longer depends on the older OTP flow.
- Backend details:
server/apps/backend/README.md - Discord remote control:
DISCORD.md - Android client details:
client/README.md