Skip to content

IgorGanapolsky/openclaw-console

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

145 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

OpenClaw Work Console

CI Security Store Listing Parity License: MIT Platform: iOS 17+ Platform: Android 8+

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.


Vision

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.

Mission

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.

North Star Metric

Daily Active Approvers (DAA) — unique users who approve at least one agent action per day. Every feature should move this number up.


Features

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

Who It's For

  • 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

Architecture

┌─────────────────┐     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.

Repository Structure

openclaw-console/
├── ios/                          # iOS app (Swift 6 / SwiftUI)
│   └── OpenClawConsole/
│       ├── Sources/
│       │   ├── Models/           # Data models (Codable)
│       │   ├── Services/         # Keychain, WebSocket, API, Biometric
│       │   ├── ViewModels/       # @Observable view models
│       │   └── Views/            # SwiftUI views
│       └── fastlane/             # iOS store metadata & delivery
├── 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
│   └── fastlane/                 # Android store metadata & delivery
├── openclaw-skills/              # Server-side TypeScript skills gateway
│   ├── src/
│   │   ├── gateway/              # Express + WebSocket server
│   │   ├── skills/               # CI, incidents, approvals, trading
│   │   └── types/                # Shared TypeScript types
│   └── tests/                    # Jest tests
├── marketing/                    # Store growth, keywords, campaigns
├── scripts/                      # Build, release, and CI scripts
├── docs/                         # Architecture, protocol, setup guides
├── .github/workflows/            # CI/CD for iOS, Android, skills, store
└── .claude/                      # Claude Code rules, skills, hooks

Quickstart

Prerequisites

  • Xcode 15+ (iOS)
  • JDK 17 + Android Studio (Android)
  • Node.js 20+ (skills gateway)

1. Skills Gateway (Server)

cd openclaw-skills
npm install
npm run dev
# Gateway starts on http://localhost:18789

2. iOS App

cd ios/OpenClawConsole
open OpenClawConsole.xcodeproj
# Or CLI:
xcodebuild build -scheme OpenClawConsole \
  -destination 'platform=iOS Simulator,name=iPhone 16'

3. Android App

cd android
./gradlew assembleDebug
adb install app/build/outputs/apk/debug/app-debug.apk

4. Connect

In either app: Settings -> Add Gateway -> enter your gateway URL and token.

Using Make

make setup-dev         # Install tools and dependencies
make verify            # Run all tests + builds
make run-ios-sim       # Launch on iOS Simulator
make run-android-emulator  # Launch on Android emulator
make maestro-ios       # Run Maestro E2E tests (iOS)
make maestro-android   # Run Maestro E2E tests (Android)
make clean-all         # Clean all build artifacts

Configuration

Gateway Token

# Dev token printed to console on first run
# Production: generate a new token
curl -X POST http://localhost:18789/api/tokens/generate \
  -H "Authorization: Bearer <ADMIN_TOKEN>"

Environment Variables

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

Security

  • All connections 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

See SECURITY.md for vulnerability reporting.

Tech Stack

Component Technology
iOS Swift 6, SwiftUI, iOS 17+, URLSessionWebSocketTask
Android Kotlin 2.x, Jetpack Compose, Material 3, Hilt, OkHttp WebSocket
Server TypeScript, Node.js 20, Express, ws library
CI/CD GitHub Actions (Xcode, Gradle, Node), Fastlane
E2E Maestro

Contributing

See CONTRIBUTING.md for guidelines.

Privacy

See PRIVACY_POLICY.md.

License

MIT — see LICENSE.

About

Native iOS & Android mobile console for OpenClaw agents. Biometric approvals, real-time monitoring, CI/deploy supervision, incident alerts. Self-hosted, no Slack/Telegram dependency.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors