Skip to content

rxrw/clawapp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ClawApp 🦞

Native mobile client for OpenClaw β€” the open-source AI assistant gateway.

ClawApp connects directly to your OpenClaw Gateway via WebSocket, giving you a full-featured iOS-style interface to manage sessions, chat, and configure your gateway from anywhere.

Features

πŸ’¬ Chat & Sessions

  • Session list with real-time updates
  • Full chat interface with Markdown rendering
  • Streaming responses with live token output
  • Send messages, abort running tasks
  • Start new conversations

βš™οΈ Full Settings Console

  • Channels β€” WhatsApp, Telegram, Slack status & config
  • Models β€” List available models, set defaults
  • Skills β€” Enable/disable/install skills
  • Agents β€” View agent profiles, edit workspace files (SOUL.md, AGENTS.md, etc.)
  • Cron Jobs β€” List, enable/disable, trigger, delete scheduled tasks
  • Sessions Admin β€” Reset, compact, delete, set model/thinking overrides, view usage
  • Nodes β€” Connected devices, rename, describe
  • Devices β€” Paired client management, approve/reject/revoke
  • Exec Permissions β€” Security policy & allowlist viewer
  • Logs β€” Live gateway log viewer with filtering
  • Configuration β€” Raw JSON config editor with validation

πŸ” Security

  • Ed25519 device identity (auto-generated, stored in secure storage)
  • Full OpenClaw device pairing protocol support
  • Password or token authentication
  • Credentials stored in platform secure storage (Keychain on iOS/macOS)

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     WebSocket (RPC)     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   ClawApp     β”‚ ◄──────────────────────► β”‚  OpenClaw Gateway β”‚
β”‚   (Flutter)   β”‚   Ed25519 signed auth   β”‚  (Node.js)        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                          β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

ClawApp speaks the same WebSocket RPC protocol as OpenClaw's built-in web dashboard. No additional server-side plugins or configuration needed β€” just point it at your gateway URL and authenticate.

RPC Methods Used

  • chat.send, chat.history, chat.abort β€” messaging
  • sessions.list, sessions.patch, sessions.reset, sessions.delete, sessions.compact, sessions.usage β€” session management
  • config.get, config.set, config.patch, config.schema β€” configuration
  • models.list, skills.status, skills.enable, skills.disable, skills.install β€” AI & tools
  • cron.list, cron.update, cron.run, cron.remove β€” automation
  • channels.status β€” channel management
  • agents.list, agents.files.list, agents.files.get, agents.files.set β€” agent management
  • node.list, node.describe, node.rename β€” infrastructure
  • device.pair.list, device.pair.approve, device.pair.reject, device.token.revoke β€” device management
  • exec.approvals.get β€” security policy
  • logs.tail β€” diagnostics

Requirements

  • Flutter 3.41+ / Dart 3.11+
  • An OpenClaw Gateway instance (v2026.2+)
  • Gateway URL + password or token

Getting Started

# Clone
git clone https://github.com/rxrw/clawapp.git
cd clawapp

# Install deps
flutter pub get

# Run on iOS Simulator
flutter run -d ios

# Run on macOS
flutter run -d macos

# Run on Android
flutter run -d android

On first launch, enter your Gateway WebSocket URL (e.g. ws://192.168.1.100:18789) and password/token. If connecting from a new device remotely, you'll need to approve the pairing on your gateway host:

openclaw devices list
openclaw devices approve <requestId>

Project Structure

lib/
β”œβ”€β”€ core/                  # Gateway client, device identity, storage
β”‚   β”œβ”€β”€ device_identity.dart   # Ed25519 key management
β”‚   β”œβ”€β”€ gateway_client.dart    # WebSocket RPC client
β”‚   └── storage.dart           # Secure credential storage
β”œβ”€β”€ models/                # Data models
β”‚   β”œβ”€β”€ message.dart
β”‚   └── session.dart
β”œβ”€β”€ providers/             # State management (Provider)
β”‚   β”œβ”€β”€ chat_provider.dart
β”‚   β”œβ”€β”€ gateway_provider.dart
β”‚   └── sessions_provider.dart
β”œβ”€β”€ screens/               # UI screens
β”‚   β”œβ”€β”€ chat_screen.dart
β”‚   β”œβ”€β”€ sessions_screen.dart
β”‚   β”œβ”€β”€ setup_screen.dart
β”‚   └── settings/
β”‚       β”œβ”€β”€ settings_screen.dart
β”‚       β”œβ”€β”€ agents_screen.dart
β”‚       β”œβ”€β”€ channels_screen.dart
β”‚       β”œβ”€β”€ config_screen.dart
β”‚       β”œβ”€β”€ cron_screen.dart
β”‚       β”œβ”€β”€ devices_screen.dart
β”‚       β”œβ”€β”€ exec_approvals_screen.dart
β”‚       β”œβ”€β”€ logs_screen.dart
β”‚       β”œβ”€β”€ models_screen.dart
β”‚       β”œβ”€β”€ nodes_screen.dart
β”‚       β”œβ”€β”€ sessions_admin_screen.dart
β”‚       β”œβ”€β”€ skills_screen.dart
β”‚       └── about_screen.dart
β”œβ”€β”€ widgets/               # Reusable widgets
β”œβ”€β”€ app.dart
└── main.dart

Design

  • iOS-native look using Cupertino widgets throughout
  • iMessage-style chat bubbles with assistant avatar
  • Settings modeled after iOS Settings app (grouped list sections)
  • Connection status indicator (green/orange/red dot)
  • Pull-to-refresh on session list

Roadmap

  • Config schema form rendering (dynamic forms from config.schema)
  • MCP server management page
  • Dark mode theming
  • Haptic feedback
  • Swipe gestures on session list
  • Push notifications via gateway events
  • Bonjour/mDNS gateway auto-discovery

License

MIT

Credits

Built by Claw 🦞 β€” an AI that wrote its own mobile app.

About

🦞 ClawApp β€” Native mobile client for OpenClaw AI gateway. Flutter/Cupertino.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors