iOS App
このコンテンツはまだ日本語訳がありません。
iOS App (Node)
Section titled “iOS App (Node)”Availability: internal preview. The iOS app is not publicly distributed yet.
What it does
Section titled “What it does”- Connects to a Gateway over WebSocket (LAN or tailnet).
- Exposes node capabilities: Canvas, Screen snapshot, Camera capture, Location, Talk mode, Voice wake.
- Receives
node.invokecommands and reports node status events.
Requirements
Section titled “Requirements”- Gateway running on another device (macOS, Linux, or Windows via WSL2).
- Network path:
- Same LAN via Bonjour, or
- Tailnet via unicast DNS-SD (example domain:
coderclaw.internal.), or - Manual host/port (fallback).
Quick start (pair + connect)
Section titled “Quick start (pair + connect)”- Start the Gateway:
coderclaw gateway --port 18789-
In the iOS app, open Settings and pick a discovered gateway (or enable Manual Host and enter host/port).
-
Approve the pairing request on the gateway host:
coderclaw nodes pendingcoderclaw nodes approve <requestId>- Verify connection:
coderclaw nodes statuscoderclaw gateway call node.list --params "{}"Discovery paths
Section titled “Discovery paths”Bonjour (LAN)
Section titled “Bonjour (LAN)”The Gateway advertises _coderclaw-gw._tcp on local.. The iOS app lists these automatically.
Tailnet (cross-network)
Section titled “Tailnet (cross-network)”If mDNS is blocked, use a unicast DNS-SD zone (choose a domain; example: coderclaw.internal.) and Tailscale split DNS.
See Bonjour for the CoreDNS example.
Manual host/port
Section titled “Manual host/port”In Settings, enable Manual Host and enter the gateway host + port (default 18789).
Canvas + A2UI
Section titled “Canvas + A2UI”The iOS node renders a WKWebView canvas. Use node.invoke to drive it:
coderclaw nodes invoke --node "iOS Node" --command canvas.navigate --params '{"url":"http://<gateway-host>:18789/__coderclaw__/canvas/"}'Notes:
- The Gateway canvas host serves
/__coderclaw__/canvas/and/__coderclaw__/a2ui/. - It is served from the Gateway HTTP server (same port as
gateway.port, default18789). - The iOS node auto-navigates to A2UI on connect when a canvas host URL is advertised.
- Return to the built-in scaffold with
canvas.navigateand{"url":""}.
Canvas eval / snapshot
Section titled “Canvas eval / snapshot”coderclaw nodes invoke --node "iOS Node" --command canvas.eval --params '{"javaScript":"(() => { const {ctx} = window.__coderclaw; ctx.clearRect(0,0,innerWidth,innerHeight); ctx.lineWidth=6; ctx.strokeStyle=\"#ff2d55\"; ctx.beginPath(); ctx.moveTo(40,40); ctx.lineTo(innerWidth-40, innerHeight-40); ctx.stroke(); return \"ok\"; })()"}'coderclaw nodes invoke --node "iOS Node" --command canvas.snapshot --params '{"maxWidth":900,"format":"jpeg"}'Voice wake + talk mode
Section titled “Voice wake + talk mode”- Voice wake and talk mode are available in Settings.
- iOS may suspend background audio; treat voice features as best-effort when the app is not active.
Common errors
Section titled “Common errors”NODE_BACKGROUND_UNAVAILABLE: bring the iOS app to the foreground (canvas/camera/screen commands require it).A2UI_HOST_NOT_CONFIGURED: the Gateway did not advertise a canvas host URL; checkcanvasHostin Gateway configuration.- Pairing prompt never appears: run
coderclaw nodes pendingand approve manually. - Reconnect fails after reinstall: the Keychain pairing token was cleared; re-pair the node.