Panduan build sampai run untuk:
app/server-agent(Go control plane)app/android-agent(Kotlin Android app)app/dashboard(React + Vite UI)
Jalur cepat untuk local run dengan asumsi dependency sudah terpasang.
cd app/server-agent
export AUTO_TOOL_LLM_API_KEY="sk-..."
go run ./cmd/server -config ./config/server.tomlcd app/android-agent
./gradlew installDebug
adb shell setprop auto.agent.server_url ws://<HOST_IP>:3000/ws/agentCatatan:
- Emulator Android Studio biasanya pakai
ws://10.0.2.2:3000/ws/agent - Waydroid/device fisik pakai IP host LAN
cd app/dashboard
npm install
export VITE_API_URL="http://localhost:3000"
export VITE_POLL_MS="5000"
npm run dev -- --host 0.0.0.0 --port 5173Open http://localhost:5173.
curl -sS http://localhost:3000/healthz
curl -sS http://localhost:3000/devices | jq
curl -sS http://localhost:3000/workflows | jq '.[].name'# build semua komponen
./scripts/ppp_build_all.sh
# run server + dashboard
./scripts/ppp_run_server.sh
./scripts/ppp_run_dashboard.sh
# android install + set server url
./scripts/ppp_android_install.sh
./scripts/ppp_android_set_server_url.sh ws://10.0.2.2:3000/ws/agent
# smoke test
./scripts/ppp_smoke_test.sh
# create task contoh
./scripts/ppp_create_task_waydroid.sh <DEVICE_ID>
./scripts/ppp_create_task_private_dns.sh <DEVICE_ID> dns.quad9.netLihat panduan lengkap authoring workflow YAML di:
app/server-agent/config/examples/workflows/README.md
- Linux/macOS dengan
bash - Go
1.23+ - Node.js
20+dannpm - Java
17(untuk Android Gradle) - Android SDK +
adb - Waydroid atau Android emulator/device
Cek cepat:
go version
node -v
npm -v
java -version
adb versionSudah ada config nyata di:
app/server-agent/config/server.toml
Set OpenAI key dari environment (disarankan), jangan hardcode di file:
export AUTO_TOOL_LLM_API_KEY="sk-..."Jika sudah disimpan di ~/.bashrc, reload shell:
source ~/.bashrccd app/server-agent
go mod tidy
go build -o bin/server-agent ./cmd/server
go test ./...cd app/android-agent
./gradlew assembleDebug
./gradlew testAPK debug hasil build:
app/android-agent/app/build/outputs/apk/debug/app-debug.apk
cd app/dashboard
npm install
npm run buildDisarankan urutan: server-agent → android-agent → dashboard.
cd app/server-agent
go run ./cmd/server -config ./config/server.tomlEndpoint default:
- HTTP:
http://localhost:3000 - WS agent:
ws://localhost:3000/ws/agent - Metrics:
http://localhost:3000/metrics
Install APK:
cd app/android-agent
./gradlew installDebugSet URL server pada device:
adb shell setprop auto.agent.server_url ws://<HOST_IP>:3000/ws/agentCatatan:
- Untuk emulator Android Studio ke host lokal biasanya:
ws://10.0.2.2:3000/ws/agent - Untuk Waydroid/device fisik gunakan IP host LAN, bukan
localhost
Aktifkan accessibility service agent di device, lalu buka app android-agent sekali agar service bootstrap.
cd app/dashboard
export VITE_API_URL="http://localhost:3000"
export VITE_POLL_MS="5000"
npm run dev -- --host 0.0.0.0 --port 5173Buka:
http://localhost:5173
curl -sS http://localhost:3000/healthzcurl -sS http://localhost:3000/devices | jqcurl -sS http://localhost:3000/workflows | jq '.[].name'curl -sS -X POST http://localhost:3000/tasks \
-H 'Content-Type: application/json' \
-d '{
"goal":"create google account on waydroid",
"deviceId":"<DEVICE_ID>",
"workflowName":"google-account-create-waydroid"
}' | jqPantau status task:
curl -sS http://localhost:3000/tasks/<TASK_ID> | jqcurl -sS -X POST http://localhost:3000/tasks \
-H 'Content-Type: application/json' \
-d '{
"goal":"set private dns",
"deviceId":"<DEVICE_ID>",
"workflowName":"android-settings-private-dns",
"inputArtifacts":{
"private_dns_hostname":"dns.quad9.net"
}
}' | jqPantau status task:
curl -sS http://localhost:3000/tasks/<TASK_ID> | jqandroid-agenttidak connect:- cek
adb devices - cek
setprop auto.agent.server_url - cek log server untuk
agent.hello/agent.resume
- cek
- dashboard kosong:
- pastikan
VITE_API_URLmengarah ke server-agent yang benar - cek tab Network di browser (
/devices,/workflows,/events/accepted)
- pastikan
- tool LLM gagal:
- pastikan
AUTO_TOOL_LLM_API_KEYada di environment processserver-agent
- pastikan