中文说明 Quick Start (EN) | Quick Start (中文)
ClawHome iOS is a lightweight UI control app for OpenClaw.
It connects to an OpenClaw Gateway over WebSocket (ws:// / wss://) and focuses on session browsing + chat UI.
This repository is intentionally UI-only:
- No OpenClaw server runtime is bundled here
- No backend deployment logic is bundled here
- No production credentials are committed
ClawHome iOS is for operators who already have an OpenClaw Gateway endpoint and want a native iOS control panel.
OpenClaw channels (WhatsApp/Telegram/etc.) run inside OpenClaw Gateway itself. ClawHome does not host channel runtimes. It only connects to the Gateway WebSocket RPC control plane. That means ClawHome can control the whole OpenClaw instance, but only when the Gateway endpoint is reachable from your phone.
- Multi-gateway management (add/edit/delete)
- QR code onboarding and manual URL entry
- OpenClaw session list and chat UI
- Local session cache (GRDB)
- Optional voice transcription with Alibaba DashScope ASR
- macOS 14+ and Xcode 16+
- iOS 18.5+ Simulator or device
- A running OpenClaw Gateway endpoint
- Clone and open the project
git clone https://github.com/yeyitech/clawhome-ios.git
cd clawhome-ios
open clawhome.xcodeproj- Install to a real iPhone in Xcode
- Select project
clawhome-> targetclawhome->Signing & Capabilities - Set your own
Bundle Identifier(must be unique) - Select your Apple Team and keep
Automatically manage signingenabled - Connect your iPhone, choose it as the run destination, then press Run
- On first launch, trust the developer profile on iPhone:
Settings -> General -> VPN & Device Management -> Developer App -> Trust
- Start OpenClaw and generate a pairing QR
- LAN pairing:
scripts/openclaw-pair.sh --exposure lan - Cloudflare Tunnel pairing (public URL):
scripts/openclaw-pair.sh --exposure cloudflare - Tailscale pairing:
scripts/openclaw-pair.sh --exposure tailscale
The script auto-detects:
- OpenClaw config path
gateway.auth.modegateway.auth.token/gateway.auth.password(env overrides take precedence)
Then it prints a ClawHome-compatible ws:// or wss:// URL and renders a terminal QR.
- Scan in app
- Open ClawHome on iPhone
- Tap
+->Scan QR Code - Save the gateway and open a session
- (Optional) Configure Alibaba DashScope ASR key
If you only need text chat, skip this step.
For voice input/transcription, set one of:
- Environment variable:
ASR_DASHSCOPE_API_KEY - Info.plist key:
ASR_DASHSCOPE_API_KEY
Optional WebSocket override:
- Environment variable:
ASR_DASHSCOPE_WS_URL - Info.plist key:
ASR_DASHSCOPE_WS_URL
Default ASR WebSocket endpoint:
wss://dashscope.aliyuncs.com/api-ws/v1/inference/
- Build from command line (optional)
Using Xcode:
- Select scheme
clawhome - Run on iOS Simulator
Or from command line:
xcodebuild -resolvePackageDependencies \
-project clawhome.xcodeproj \
-scheme clawhome
xcodebuild \
-project clawhome.xcodeproj \
-scheme clawhome \
-configuration Debug \
-destination 'generic/platform=iOS Simulator' \
CODE_SIGNING_ALLOWED=NO \
build- No hardcoded API keys in source
- Signing config is genericized for open-source collaboration
- CI workflow is build-only (no TestFlight/App Store credentials)
- WebSocket credential query strings are redacted in connection logs
GitHub Actions workflow: .github/workflows/ios-ci.yml
- Resolves Swift packages
- Builds simulator target with
CODE_SIGNING_ALLOWED=NO
clawhome/Features/ClawHome/: Home, gateway management, QR onboardingclawhome/Features/Chat/: Chat UI and ViewModelclawhome/Core/Network/: OpenClaw/WebSocket networkingclawhome/Core/Storage/: Local session and message storageclawhome/Core/Services/FileASRService.swift: Optional ASR integration
- Cannot connect:
- Verify the gateway URL scheme is
ws://orwss:// - Verify device/simulator can reach gateway host and port
- If using auth, verify
secret/token/passwordquery value
- Verify the gateway URL scheme is
- LAN pairing fails with timeout:
- Your gateway is likely still loopback-only
- Restart gateway with LAN bind, then regenerate QR:
openclaw gateway --bind lan --auth token --token '<LONG_RANDOM_TOKEN>'
- Cloudflare pairing fails:
- Install
cloudflaredand rerun:brew install cloudflared
- Install
- Voice input reports missing key:
- Set
ASR_DASHSCOPE_API_KEYin Run Scheme environment or Info.plist
- Set
- Build/signing issues on your machine:
- Build simulator with
CODE_SIGNING_ALLOWED=NO - For real device, set your own Apple Team in Xcode Signing settings
- Build simulator with