ChatClaw is a native SwiftUI client for OpenClaw. It provides pairing, chat streaming, and tool-call visibility in a lightweight iOS/macOS app.
- Native SwiftUI chat UI (iPhone, iPad, macOS Catalyst)
- Pairing flow with setup code import and Telegram approval guidance
- Streaming responses with partial rendering
- Slash command discovery (
/commands) and quick insert - Tool-call timeline cards (running/completed + args/result preview)
- Local conversation persistence and pending-run resume after app relaunch
- Xcode 26.2+
- Swift 5.0+
- An available OpenClaw gateway endpoint
- Clone this repository.
- Open
ChatClaw.xcodeprojin Xcode. - Select the
ChatClawtarget and a simulator/device. - Run the app.
- In
Settings->Pair OpenClaw, paste your setup code. - Approve pairing in Telegram (
/pair approveor/pair approve <request-id>). - Return to ChatClaw and finish pairing.
ChatClaw/ContentView.swift: Main chat UI and interaction componentsChatClaw/ChatViewModel.swift: Conversation state, streaming updates, persistenceChatClaw/OpenClawService.swift: Gateway WebSocket protocol and chat APIsChatClaw/PairingService.swift: Pairing handshake and device identity signingChatClaw/ChatModels.swift: Shared models, settings, pairing-code parsingChatClaw/SettingsView.swift: Connection and pairing settings flow
- Pairing token and chat state are stored locally via
UserDefaults. - Do not commit personal setup codes, tokens, or private logs.
- For security reporting, see
SECURITY.md.
- License: MIT (
LICENSE) - Contributions: welcome (
CONTRIBUTING.md)