A focused mobile cockpit for monitoring and controlling OpenClaw agents. Native iOS and Android apps with zero social-app dependencies.
Not a chat app. This is a single-purpose work console for developers, DevOps engineers, indie hackers, and trading/infra builders who self-host OpenClaw and want to supervise agents from their phone.
A world where every developer, operator, and builder has a quiet, powerful mobile control plane for their AI agents and infrastructure — free from the noise and distraction of social messaging apps.
Deliver the definitive native mobile console for OpenClaw that lets self-hosting professionals monitor agents, approve dangerous actions with biometric safety, and supervise CI/deployments/trading from their pocket — with zero dependency on Telegram, WhatsApp, Slack, or Discord.
Daily Active Approvers — the number of unique users who approve at least one agent action per day via the console. This metric captures real operational trust: users are not just viewing dashboards, they are actively governing their infrastructure through the app. Every feature we build should move this number up.
| Feature | Description |
|---|---|
| Gateway Connection | Connect to one or more OpenClaw instances with secure token auth |
| Agent Dashboard | See all your agents, their status, and active workloads |
| Task Feed | Track agent tasks (CI runs, deployments, trading jobs) with live timelines |
| Incidents | Aggregated alerts across all agents — CI failures, prod errors, trading anomalies |
| Safe Approvals | Approve dangerous actions (deploys, shell commands, config changes) with biometric verification |
| Minimal Chat | Send quick instructions to agents, attached to tasks |
- Solo dev-founders / indie hackers who run OpenClaw on a VPS to automate GitHub, deployments, and SaaS ops
- DevOps / SREs who use OpenClaw to watch CI, logs, and uptime — and need a mobile console for incidents
- Quant / trading automation builders who run agents monitoring markets and want approval UIs for strategy changes
- Small AI / data teams with OpenClaw wired into GitHub + analytics + internal APIs
┌─────────────────┐ WSS/HTTPS ┌──────────────────────┐
│ iOS App │◄──────────────────►│ │
│ (SwiftUI) │ │ OpenClaw Gateway │
└─────────────────┘ │ (Node.js/TS) │
│ │
┌─────────────────┐ WSS/HTTPS │ ┌────────────────┐ │
│ Android App │◄──────────────────►│ │ CI Monitor │ │
│ (Compose) │ │ │ Incident Mgr │ │
└─────────────────┘ │ │ Approval Gate │ │
│ │ Trading Mon. │ │
│ │ Task Manager │ │
│ └────────────────┘ │
└──────────────────────┘
│
▼
Your infra: GitHub,
CI/CD, trading APIs,
servers, databases
The mobile apps are thin clients. All intelligence lives in OpenClaw skills on your server. The apps connect via WebSocket for real-time updates and HTTPS for REST calls.
See docs/architecture.md for the full protocol spec and message contracts.
openclaw-console/
├── ios/ # iOS app (Swift/SwiftUI)
│ └── OpenClawConsole/
│ └── OpenClawConsole/
│ ├── Models/ # Data models (Codable)
│ ├── Services/ # Keychain, WebSocket, API, Biometric
│ ├── ViewModels/ # @Observable view models
│ └── Views/ # SwiftUI views
├── android/ # Android app (Kotlin/Compose)
│ └── app/src/main/java/com/openclaw/console/
│ ├── data/ # Models, network, repositories
│ ├── service/ # Secure storage, biometric
│ └── ui/ # Compose screens, theme, nav
├── openclaw-skills/ # Server-side TypeScript skills
│ ├── src/
│ │ ├── gateway/ # Express + WebSocket server
│ │ ├── skills/ # CI, incidents, approvals, trading
│ │ ├── config/ # Default config, agents, seed data
│ │ └── types/ # Shared TypeScript types
│ └── tests/ # Jest tests
├── docs/ # Documentation
│ ├── architecture.md # Full architecture and protocol
│ ├── protocol.md # WebSocket/HTTP message contracts
│ └── openclaw-setup.md # Installation guide
└── .github/workflows/ # CI for iOS, Android, and skills
cd openclaw-skills
npm install
npm run devThis starts the gateway on http://localhost:18789 with seed data and a dev token. See docs/openclaw-setup.md for production setup.
cd ios/OpenClawConsole
open OpenClawConsole.xcodeproj
# Or from command line:
xcodebuild build -scheme OpenClawConsole -destination 'platform=iOS Simulator,name=iPhone 15'In the app, go to Settings → Add Gateway → enter your gateway URL and token.
cd android
./gradlew assembleDebug
# Install on device/emulator:
adb install app/build/outputs/apk/debug/app-debug.apkIn the app, go to Settings → Add Gateway → enter your gateway URL and token.
On first run, the skills server generates a dev token printed to console. For production:
# Generate a new token
curl -X POST http://localhost:18789/api/tokens/generate \
-H "Authorization: Bearer YOUR_ADMIN_TOKEN"| Variable | Default | Description |
|---|---|---|
PORT |
18789 |
Gateway HTTP/WS port |
HOST |
0.0.0.0 |
Bind address |
TOKEN_FILE |
./tokens.json |
Path to token store |
APPROVAL_TIMEOUT_MS |
300000 |
Approval expiry (5 min) |
WS_PING_INTERVAL_MS |
30000 |
WebSocket ping interval |
- All connections should use TLS (HTTPS/WSS) in production
- Tokens stored securely: iOS Keychain / Android EncryptedSharedPreferences
- Approval flow requires biometric (Face ID / fingerprint) verification
- HTTP connections show a warning and require explicit opt-in
- Designed for VPN use — configure your gateway behind Tailscale/WireGuard
| Component | Technology |
|---|---|
| iOS | Swift 5.9, SwiftUI, iOS 17+, URLSessionWebSocketTask |
| Android | Kotlin 1.9, Jetpack Compose, Material 3, OkHttp WebSocket |
| Server | TypeScript, Node.js, Express, ws library |
| CI | GitHub Actions (Xcode, Gradle, Node) |
MIT