Autonomous AI Agents Running Your Business
OpenClaw-MABOS is a Multi-Agent Business Operating System built on the OpenClaw personal AI assistant platform. It deploys autonomous AI agents β each representing a C-suite or functional role β that perceive their environment, reason about goals, form plans, and execute actions across real business systems.
MABOS combines three architectural paradigms into a unified system:
- BDI Cognitive Architecture (from OpenClaw-MABOS core) β 16 autonomous agents with beliefs, desires, intentions, 35 reasoning methods, TypeDB knowledge graphs (runtime data storage) governed by SBVR ontology schemas (business vocabulary and rules)
- Corporate Governance (inspired by Paperclip) β atomic budget enforcement, RBAC, append-only audit trails, multi-company isolation
- Autonomous Agent Runtime (inspired by Hermes Agent) β multi-model routing with fallback chains, MoA ensemble reasoning, self-improving skill creation, session intelligence with user modeling, execution sandboxes (Docker/SSH/Modal), security hardening
Website Β· Docs Β· Vision Β· Architecture Β· Getting Started Β· Design Doc Β· Discord
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MISSION CONTROL β
β (Operator Dashboard β Next.js) β
β AI Planning, Task Dispatch, Knowledge Capture, Goal Kanban β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β OPENCLAW GATEWAY (port 18789) β
ββββββββββββ¬βββββββββββ¬βββββββββββ¬βββββββββββ¬βββββββββββ¬βββββββββββββββ€
β SECURITY βGOVERNANCEβ MODEL β SESSION βEXECUTION β SKILL LOOP β
β β β ROUTER β INTEL β SANDBOX β β
β Injectionβ Budget β 11-model β FTS5 β Local + β Auto-create β
β scanning β ledger β registry β search β Docker + β from sessionsβ
β SSRF β RBAC β Fallback β Cross- β SSH + β Marketplace β
β Content β Audit β chains β session β Modal β Nudge system β
β sanitize β trail β Prompt β recall β File β Prompt β
β Tool β Multi- β caching β User β transfer β injection β
β approval β company β MoA β modeling β β β
β guards β β ensemble β β β β
ββββββββββββ΄βββββββββββ΄βββββββββββ΄βββββββββββ΄βββββββββββ΄βββββββββββββββ€
β MABOS CORE ENGINE β
β βββββββββββββββ ββββββββββββββββ ββββββββββββββββ βββββββββββββββ β
β β BDI Cycle β β 35 Reasoning β β TypeDB β β SBVR β β
β β 16 Agents β β Methods β β Knowledge β β Ontology β β
β β 10-file β β (formal, β β Graphs β β Schemas β β
β β cognitive β β probabilisticβ β (data store β β (vocabulary β β
β β state β β causal, β β + TypeQL) β β + rules) β β
β β β β social, meta)β β β β β β
β βββββββββββββββ ββββββββββββββββ ββββββββββββββββ βββββββββββββββ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β 125 Agent Tools: BDI, Shopify, CRM, ERP, Email, Marketing, β β
β β Finance, Compliance, Knowledge Graph, Workflows, Reasoning β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β 35+ MESSAGING CHANNELS β
β WhatsApp, Telegram, Slack, Discord, Signal, iMessage, Teams, β
β Matrix, LINE, IRC, Google Chat, Zalo, WebChat, and more β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β STORAGE: TypeDB + PostgreSQL + SQLite + LanceDB β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Layer | Purpose | Key Components |
|---|---|---|
| Mission Control | Operator dashboard | AI planning, task dispatch, knowledge capture, goal-driven kanban, decision approval |
| Security | Threat protection (on by default) | 8-pattern injection scanner, content sanitizer, SSRF URL validator, tool approval guards with arg redaction, scan log dashboard |
| Governance | Corporate oversight | Atomic budget ledger (reserve/settle/release), RBAC (4 roles), append-only audit log, multi-company isolation |
| Model Router | LLM flexibility | 11 models across 4 providers, automatic fallback chains, MoA ensemble reasoning, prompt caching, cost estimation |
| Session Intel | Organizational memory | FTS5 full-text search, cross-session recall with grouping, dialectic user profile builder |
| Execution Sandbox | Safe code execution | Local + Docker + SSH + Modal backends, per-agent routing, file upload/download, container lifecycle |
| Skill Loop | Self-improvement | Autonomous skill creation, file-based registry, marketplace install, prompt injection, nudge system |
| MABOS Core | Cognitive engine | BDI cycle, 35 reasoning methods, TypeDB knowledge graphs (data), SBVR ontology schemas (vocabulary/rules), 107 business tools |
| Channels | Communication | 35+ messaging platforms with multi-agent routing |
| Role | Focus | Terminal Desires |
|---|---|---|
| CEO | Vision and Strategy | Sustainable Growth, Stakeholder Value, Org Excellence |
| CFO | Finance | Financial Health, Capital Efficiency, Compliance |
| COO | Operations | Efficiency, Reliability, Resource Optimization |
| CMO | Marketing | Brand Awareness, Customer Acquisition, Market Intelligence |
| CTO | Technology | System Reliability, Technical Excellence, Innovation |
| HR | People | Talent Quality, Utilization, Contractor Satisfaction |
| Legal | Compliance | Legal Compliance, Risk Mitigation, IP Protection |
| Strategy | Competitive | Competitive Advantage, Market Positioning, Foresight |
| Knowledge Manager | Learning | Knowledge Accuracy, Org Learning, Ontology Completeness |
| E-Commerce Manager | Shopify Ops | Product Launches, Fulfillment, Revenue |
| Lead Gen | Prospecting | Pipeline Volume, Lead Quality, Conversion |
| Sales Research | Intelligence | Market Data, Competitor Analysis, Opportunity Scoring |
| Outreach | Communication | Response Rate, Relationship Building, Follow-up |
| Financial Analyst | Analysis | Forecasting Accuracy, Budget Adherence, ROI |
| Operations Analyst | Efficiency | Process Optimization, Cost Reduction, SLA Compliance |
| TechOps | Infrastructure | Uptime, Deployment Speed, Security Posture |
Each agent runs a BDI (Belief-Desire-Intention) cycle with a 10-file cognitive state:
~/.openclaw/workspace/agents/{agent-id}/
βββ Beliefs.md # What the agent knows (certainty-scored)
βββ Desires.md # What the agent wants (priority-sorted)
βββ Goals.md # Strategic/tactical/operational goals
βββ Intentions.md # Committed plans with deadlines
βββ Plans.md # Available action plans
βββ Skills.md # Agent capabilities
βββ Observations.md # Sensory input from environment
βββ Facts.json # SPO triples with provenance
βββ Memory.md # Long-term memory
βββ experience-log.jsonl # Timestamped action history
Dual-Process Cognitive Router (3-tier fast-then-slow pipeline):
- Tier 1 (Reflexive): 0 LLM calls β pattern-matched signals
- Tier 2 (Analytical): 1 LLM call β medium-urgency signals
- Tier 3 (Deliberative): 3-5 LLM calls β strategic reasoning
35 Reasoning Methods across 6 categories:
| Category | Methods |
|---|---|
| Formal | Deductive, inductive, abductive, modal, deontic, constraint satisfaction, and 3 more |
| Probabilistic | Bayesian, fuzzy, statistical, decision theory, Monte Carlo, pattern recognition |
| Causal | Causal, counterfactual, temporal, scenario, predictive |
| Experience | Heuristic, case-based, means-ends, narrative, model-based |
| Social | Game theory, stakeholder, ethical, dialectical, consensus, trust, theory of mind |
| Meta | Meta-reasoning, epistemic, reflective, optimization |
Protects all agent operations with three defense layers:
- Injection Scanner β 8 detection patterns covering prompt injection (role override, delimiter escape, invisible unicode), exfiltration (curl, base64, DNS), and data extraction (env dump, file paths)
- Content Sanitizer β Neutralizes detected threats by redacting high/critical matches and escaping lower-severity patterns. Strips invisible Unicode, escapes prompt delimiters
- SSRF Validator β Blocks private IPs (10.x, 172.16-31.x, 192.168.x), cloud metadata (169.254.169.254), localhost, and non-HTTP protocols. Supports explicit domain allowlists
- Tool Approval Guard β Flags dangerous tools (delete operations, payments, external comms) for operator approval. Wildcard matching, role-based auto-approve, sensitive argument redaction, pending approval queue
- HTTP API:
GET /mabos/security/status,GET /mabos/security/scan-log,GET /mabos/security/approvals,POST /mabos/security/approvals/resolve
Atomic budget enforcement inspired by Paperclip:
- Budget Ledger β SQLite WAL-mode database with reservation pattern. Before every tool call, funds are reserved atomically; after execution, settled at actual cost. Prevents double-spend across concurrent agents. Daily and monthly limits per agent
- RBAC Engine β Four roles (admin, operator, agent, viewer) with wildcard permission matching. Deny overrides allow
- Audit Log β Append-only SQLite trail of every tool call, budget event, and security incident. Filterable by time range, action, and actor
- Multi-Company Isolation β All budget, audit, and session data scoped to company ID. Enables multi-tenant deployments
- Agent Tools:
budget_status,budget_request,audit_query - HTTP API:
GET /mabos/governance/budget/summary,GET /mabos/governance/audit
Multi-provider model routing inspired by Hermes Agent:
- 11-Model Registry β Anthropic (Claude Opus/Sonnet/Haiku), OpenAI (GPT-4.1/O3/O4-mini), Google (Gemini 2.5 Pro/Flash), DeepSeek (R1/V3). Each with context window, pricing, and capability metadata
- Fallback Chains β Automatic model failover. If primary model is unavailable, transparently falls through to next in chain
- Cost Estimation β Per-model token pricing with configurable overrides. Cheapest-model suggestions based on requirements (context window, vision, thinking)
- Prompt Caching β Anthropic cache control optimization with configurable breakpoints. Cache hit/miss tracking with estimated savings
- MoA Ensemble β Mixture-of-Agents reasoning: 4 diverse models generate independent responses, an aggregator synthesizes the best answer. Agreement scoring detects consensus
- Agent Tools:
model_list,model_cost,model_switch,reason_ensemble - HTTP API:
GET /mabos/models/list,GET /mabos/models/health
Cross-session organizational memory:
- FTS5 Index β SQLite full-text search with Porter stemming across all past conversations. Agent and company scoping
- Cross-Session Recall β Groups search results by session, ranks by relevance. Enables agents to reference past decisions and discussions
- User Profile Builder β Dialectic user modeling that analyzes session history to capture communication style, domain expertise, workflow preferences, and decision patterns. Profile injected into agent system prompts for personalization
- Session-End Indexing β Automatically indexes completed sessions via
session_endplugin hook - Agent Tools:
session_search,session_recall,user_profile - HTTP API:
GET /mabos/sessions/search,POST /mabos/sessions/recall,GET /mabos/sessions/profile
Isolated terminal backends for safe agent code execution:
- Local Backend β Pass-through to host shell (default, zero overhead)
- Docker Backend β Container lifecycle management with memory limits, CPU caps, PID limits, network isolation. Containers created per-task, destroyed after
- SSH Backend β Remote execution via SSH with configurable host, port, user, and key path
- Modal Backend β Serverless GPU execution on Modal for ML/AI workloads
- File Transfer β Upload files into sandboxes and download results back to local filesystem via base64 encoding
- Per-Agent Routing β Configure which agents use which backend (e.g., CTO gets Docker, CEO gets local)
- Terminal Interception β Hooks into
terminal/execute_commandtool calls to transparently route through sandbox when enabled - Agent Tools:
sandbox_exec,sandbox_upload,sandbox_download,sandbox_status,sandbox_destroy - HTTP API:
GET /mabos/sandbox/status,POST /mabos/sandbox/destroy-all
Autonomous self-improvement from experience:
- Skill Registry β File-based skill discovery across configurable paths. Each skill is a
SKILL.md+manifest.jsondirectory. Search by name, tags, description, or agent role - Skill Creator β Analyzes successful multi-tool sessions and proposes reusable skills. Extracts tool-call sequences, generalizes parameters, generates markdown documentation
- Nudge System β After every N sessions (configurable), evaluates whether the session could become a reusable skill. Surfaces proposals to the operator for approval
- Marketplace β Browse and install skills from ClawHub and GitHub community sources. Validates GitHub URLs for SSRF prevention
- Prompt Injection β Automatically injects relevant skills into agent prompts based on task context, agent role, and recently used tools
- Agent Tools:
skill_list,skill_search,skill_create,skill_install,skill_run - HTTP API:
GET /mabos/skills,GET /mabos/skills/search,POST /mabos/skills/install
27+ page web UI at /mabos/dashboard/:
| Section | Pages |
|---|---|
| Strategy | Overview, Performance, Decisions, Goals, Analytics |
| Process | Projects, Tasks, Timeline, Workflows |
| Agents | Agents, Agent Detail, Knowledge Graph |
| Commerce | E-Commerce, Customers, Marketing, Accounting |
| Operations | Inventory, Suppliers, Supply Chain |
| Governance | Budget Dashboard, Audit Log, RBAC Manager, Legal, Compliance |
| Security | Threat Dashboard, Approval Queue, Scan Log |
| Intelligence | Skill Marketplace, Skill Editor, Session Search, Recall Panel, User Profile |
| Models | Model Switcher, MoA Result View |
Plus a Command Palette (Cmd+K) with sections for navigation, agent actions, tools, models, and skills.
| Layer | Technology | Purpose |
|---|---|---|
| Knowledge Graph | TypeDB 3.x | Facts, rules, memory, inference, BDI state, decisions, workflows |
| ERP Database | PostgreSQL 16 | Products, contacts, orders, invoices, financial records |
| Governance/Session DBs | SQLite (WAL) | Budget ledger, audit log, cost events, session FTS5 index, user profile |
| Semantic Search | LanceDB + sqlite-vec | Agent memory, beliefs, observations with vector embeddings |
107 original MABOS tools + 18 new tools from the unified modules:
| Module | New Tools |
|---|---|
| Governance | budget_status, budget_request, audit_query |
| Model Router | model_list, model_cost, model_switch, reason_ensemble |
| Session Intel | session_search, session_recall, user_profile |
| Execution Sandbox | sandbox_exec, sandbox_upload, sandbox_download, sandbox_status, sandbox_destroy |
| Skill Loop | skill_list, skill_search, skill_create, skill_install, skill_run |
All modules expose REST endpoints under /mabos/ for dashboard consumption and external integration:
| Module | Endpoints |
|---|---|
| Governance | /mabos/governance/budget/summary, /mabos/governance/audit |
| Model Router | /mabos/models/list, /mabos/models/health |
| Session Intel | /mabos/sessions/search, /mabos/sessions/recall, /mabos/sessions/profile |
| Execution Sandbox | /mabos/sandbox/status, /mabos/sandbox/destroy-all |
| Skill Loop | /mabos/skills, /mabos/skills/search, /mabos/skills/install |
| Security | /mabos/security/status, /mabos/security/scan-log, /mabos/security/approvals, /mabos/security/approvals/resolve |
All new modules are config-gated via feature flags. Security is on by default; all others are opt-in.
# openclaw.json β MABOS module configuration
mabos:
workspaceDir: ~/.openclaw/workspace
bdiCycleIntervalMinutes: 30
cognitiveContextEnabled: true
# Security (on by default)
securityEnabled: true
security:
injectionScanning:
enabled: true
blockOnDetection: true
toolGuard:
enabled: true
dangerousTools: ["execute_command", "shopify_delete_*", "send_payment"]
autoApproveForRoles: ["admin", "operator"]
# Governance
governanceEnabled: true
governance:
budget:
enabled: true
defaultDailyLimitUsd: 50
defaultMonthlyLimitUsd: 500
requireApprovalAboveUsd: 25
rbac:
enabled: true
defaultRole: agent
audit:
enabled: true
retentionDays: 90
# Model Router
modelRouterEnabled: true
modelRouter:
defaultProvider: anthropic
fallbackChain:
- anthropic/claude-opus-4-6
- openai/gpt-4.1
- deepseek/deepseek-r1
promptCaching:
enabled: true
moa:
enabled: true
# Session Intelligence
sessionIntelEnabled: true
sessionIntel:
fts:
enabled: true
recall:
enabled: true
summarizeResults: true
userModel:
enabled: true
updateInterval: 5
# Execution Sandbox
sandboxEnabled: true
sandbox:
defaultBackend: docker
docker:
image: node:22-slim
memoryLimitMb: 512
networkMode: bridge
ssh:
host: sandbox.example.com
user: agent
modal:
appName: mabos-sandbox
# Skill Loop
skillLoopEnabled: true
skillLoop:
creationNudgeInterval: 10
marketplace:
enabled: true75 tests across 13 test files covering all new modules:
# Run all module tests
npx vitest run extensions/mabos/extensions-mabos/tests/security-*.test.ts \
extensions/mabos/extensions-mabos/tests/governance-*.test.ts \
extensions/mabos/extensions-mabos/tests/model-router-*.test.ts \
extensions/mabos/extensions-mabos/tests/session-intel-*.test.ts \
extensions/mabos/extensions-mabos/tests/sandbox-*.test.ts \
extensions/mabos/extensions-mabos/tests/skill-loop-*.test.ts \
--config vitest.extensions.config.tsAll 6 modules register through the MABOS extension entry point with config-driven activation and graceful error handling. Each module follows a consistent pattern:
- Config-gated activation β disabled by default (except Security), enabled via feature flags
- Graceful degradation β if a module fails to initialize, the rest of the system continues
- Plugin SDK hooks β
before_tool_call,after_tool_call,llm_output,session_end,before_prompt_build - HTTP routes β registered via
api.registerHttpRoute()for dashboard consumption - Zero new root dependencies β all module deps live in the extension
package.json
- Unified MABOS Design β Full architecture, data flow, and config reference
- Implementation Plan β TDD task breakdown with code
OpenClaw-MABOS extends the OpenClaw personal AI assistant platform. Everything below is the base OpenClaw functionality.
Preferred setup: run the onboarding wizard (openclaw onboard) in your terminal.
The wizard guides you step by step through setting up the gateway, workspace, channels, and skills. The CLI wizard is the recommended path and works on macOS, Linux, and Windows (via WSL2; strongly recommended).
Works with npm, pnpm, or bun.
New install? Start here: Getting started
| OpenAI | Vercel | Blacksmith | Convex |
|---|---|---|---|
Subscriptions (OAuth):
- OpenAI (ChatGPT/Codex)
Model note: while many providers/models are supported, for the best experience and lower prompt-injection risk use the strongest latest-generation model available to you. See Onboarding.
- Models config + CLI: Models
- Auth profile rotation (OAuth vs API keys) + fallbacks: Model failover
Runtime: Node β₯22.
npm install -g openclaw@latest
# or: pnpm add -g openclaw@latest
openclaw onboard --install-daemonThe wizard installs the Gateway daemon (launchd/systemd user service) so it stays running.
Runtime: Node β₯22.
Full beginner guide (auth, pairing, channels): Getting started
openclaw onboard --install-daemon
openclaw gateway --port 18789 --verbose
# Send a message
openclaw message send --to +1234567890 --message "Hello from OpenClaw"
# Talk to the assistant (optionally deliver back to any connected channel: WhatsApp/Telegram/Slack/Discord/Google Chat/Signal/iMessage/BlueBubbles/IRC/Microsoft Teams/Matrix/Feishu/LINE/Mattermost/Nextcloud Talk/Nostr/Synology Chat/Tlon/Twitch/Zalo/Zalo Personal/WebChat)
openclaw agent --message "Ship checklist" --thinking highUpgrading? Updating guide (and run openclaw doctor).
- stable: tagged releases (
vYYYY.M.DorvYYYY.M.D-<patch>), npm dist-taglatest. - beta: prerelease tags (
vYYYY.M.D-beta.N), npm dist-tagbeta(macOS app may be missing). - dev: moving head of
main, npm dist-tagdev(when published).
Switch channels (git + npm): openclaw update --channel stable|beta|dev.
Details: Development channels.
Prefer pnpm for builds from source. Bun is optional for running TypeScript directly.
git clone https://github.com/openclaw/openclaw.git
cd openclaw
pnpm install
pnpm ui:build # auto-installs UI deps on first run
pnpm build
pnpm openclaw onboard --install-daemon
# Dev loop (auto-reload on TS changes)
pnpm gateway:watchNote: pnpm openclaw ... runs TypeScript directly (via tsx). pnpm build produces dist/ for running via Node / the packaged openclaw binary.
OpenClaw connects to real messaging surfaces. Treat inbound DMs as untrusted input.
Full security guide: Security
Default behavior on Telegram/WhatsApp/Signal/iMessage/Microsoft Teams/Discord/Google Chat/Slack:
- DM pairing (
dmPolicy="pairing"/channels.discord.dmPolicy="pairing"/channels.slack.dmPolicy="pairing"; legacy:channels.discord.dm.policy,channels.slack.dm.policy): unknown senders receive a short pairing code and the bot does not process their message. - Approve with:
openclaw pairing approve <channel> <code>(then the sender is added to a local allowlist store). - Public inbound DMs require an explicit opt-in: set
dmPolicy="open"and include"*"in the channel allowlist (allowFrom/channels.discord.allowFrom/channels.slack.allowFrom; legacy:channels.discord.dm.allowFrom,channels.slack.dm.allowFrom).
Run openclaw doctor to surface risky/misconfigured DM policies.
- Local-first Gateway β single control plane for sessions, channels, tools, and events.
- Multi-channel inbox β WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, BlueBubbles (iMessage), iMessage (legacy), IRC, Microsoft Teams, Matrix, Feishu, LINE, Mattermost, Nextcloud Talk, Nostr, Synology Chat, Tlon, Twitch, Zalo, Zalo Personal, WebChat, macOS, iOS/Android.
- Multi-agent routing β route inbound channels/accounts/peers to isolated agents (workspaces + per-agent sessions).
- Voice Wake + Talk Mode β wake words on macOS/iOS and continuous voice on Android (ElevenLabs + system TTS fallback).
- Live Canvas β agent-driven visual workspace with A2UI.
- First-class tools β browser, canvas, nodes, cron, sessions, and Discord/Slack actions.
- Companion apps β macOS menu bar app + iOS/Android nodes.
- Onboarding + skills β wizard-driven setup with bundled/managed/workspace skills.
- Gateway WS control plane with sessions, presence, config, cron, webhooks, Control UI, and Canvas host.
- CLI surface: gateway, agent, send, wizard, and doctor.
- Pi agent runtime in RPC mode with tool streaming and block streaming.
- Session model:
mainfor direct chats, group isolation, activation modes, queue modes, reply-back. Group rules: Groups. - Media pipeline: images/audio/video, transcription hooks, size caps, temp file lifecycle. Audio details: Audio.
- Channels: WhatsApp (Baileys), Telegram (grammY), Slack (Bolt), Discord (discord.js), Google Chat (Chat API), Signal (signal-cli), BlueBubbles (iMessage, recommended), iMessage (legacy imsg), IRC, Microsoft Teams, Matrix, Feishu, LINE, Mattermost, Nextcloud Talk, Nostr, Synology Chat, Tlon, Twitch, Zalo, Zalo Personal, WebChat.
- Group routing: mention gating, reply tags, per-channel chunking and routing. Channel rules: Channels.
- macOS app: menu bar control plane, Voice Wake/PTT, Talk Mode overlay, WebChat, debug tools, remote gateway control.
- iOS node: Canvas, Voice Wake, Talk Mode, camera, screen recording, Bonjour + device pairing.
- Android node: Connect tab (setup code/manual), chat sessions, voice tab, Canvas, camera/screen recording, and Android device commands (notifications/location/SMS/photos/contacts/calendar/motion/app update).
- macOS node mode: system.run/notify + canvas/camera exposure.
- Browser control: dedicated openclaw Chrome/Chromium, snapshots, actions, uploads, profiles.
- Canvas: A2UI push/reset, eval, snapshot.
- Nodes: camera snap/clip, screen record, location.get, notifications.
- Cron + wakeups; webhooks; Gmail Pub/Sub.
- Skills platform: bundled, managed, and workspace skills with install gating + UI.
- Channel routing, retry policy, and streaming/chunking.
- Presence, typing indicators, and usage tracking.
- Models, model failover, and session pruning.
- Security and troubleshooting.
- Control UI + WebChat served directly from the Gateway.
- Tailscale Serve/Funnel or SSH tunnels with token/password auth.
- Nix mode for declarative config; Docker-based installs.
- Doctor migrations, logging.
WhatsApp / Telegram / Slack / Discord / Google Chat / Signal / iMessage / BlueBubbles / IRC / Microsoft Teams / Matrix / Feishu / LINE / Mattermost / Nextcloud Talk / Nostr / Synology Chat / Tlon / Twitch / Zalo / Zalo Personal / WebChat
β
βΌ
βββββββββββββββββββββββββββββββββ
β Gateway β
β (control plane) β
β ws://127.0.0.1:18789 β
ββββββββββββββββ¬βββββββββββββββββ
β
ββ Pi agent (RPC)
ββ CLI (openclaw β¦)
ββ WebChat UI
ββ macOS app
ββ iOS / Android nodes
- Gateway WebSocket network β single WS control plane for clients, tools, and events (plus ops: Gateway runbook).
- Tailscale exposure β Serve/Funnel for the Gateway dashboard + WS (remote access: Remote).
- Browser control β openclawβmanaged Chrome/Chromium with CDP control.
- Canvas + A2UI β agentβdriven visual workspace (A2UI host: Canvas/A2UI).
- Voice Wake + Talk Mode β wake words on macOS/iOS plus continuous voice on Android.
- Nodes β Canvas, camera snap/clip, screen record,
location.get, notifications, plus macOSβonlysystem.run/system.notify.
OpenClaw can auto-configure Tailscale Serve (tailnet-only) or Funnel (public) while the Gateway stays bound to loopback. Configure gateway.tailscale.mode:
off: no Tailscale automation (default).serve: tailnet-only HTTPS viatailscale serve(uses Tailscale identity headers by default).funnel: public HTTPS viatailscale funnel(requires shared password auth).
Notes:
gateway.bindmust stayloopbackwhen Serve/Funnel is enabled (OpenClaw enforces this).- Serve can be forced to require a password by setting
gateway.auth.mode: "password"orgateway.auth.allowTailscale: false. - Funnel refuses to start unless
gateway.auth.mode: "password"is set. - Optional:
gateway.tailscale.resetOnExitto undo Serve/Funnel on shutdown.
Details: Tailscale guide Β· Web surfaces
Itβs perfectly fine to run the Gateway on a small Linux instance. Clients (macOS app, CLI, WebChat) can connect over Tailscale Serve/Funnel or SSH tunnels, and you can still pair device nodes (macOS/iOS/Android) to execute deviceβlocal actions when needed.
- Gateway host runs the exec tool and channel connections by default.
- Device nodes run deviceβlocal actions (
system.run, camera, screen recording, notifications) vianode.invoke. In short: exec runs where the Gateway lives; device actions run where the device lives.
Details: Remote access Β· Nodes Β· Security
The macOS app can run in node mode and advertises its capabilities + permission map over the Gateway WebSocket (node.list / node.describe). Clients can then execute local actions via node.invoke:
system.runruns a local command and returns stdout/stderr/exit code; setneedsScreenRecording: trueto require screen-recording permission (otherwise youβll getPERMISSION_MISSING).system.notifyposts a user notification and fails if notifications are denied.canvas.*,camera.*,screen.record, andlocation.getare also routed vianode.invokeand follow TCC permission status.
Elevated bash (host permissions) is separate from macOS TCC:
- Use
/elevated on|offto toggle perβsession elevated access when enabled + allowlisted. - Gateway persists the perβsession toggle via
sessions.patch(WS method) alongsidethinkingLevel,verboseLevel,model,sendPolicy, andgroupActivation.
Details: Nodes Β· macOS app Β· Gateway protocol
- Use these to coordinate work across sessions without jumping between chat surfaces.
sessions_listβ discover active sessions (agents) and their metadata.sessions_historyβ fetch transcript logs for a session.sessions_sendβ message another session; optional replyβback pingβpong + announce step (REPLY_SKIP,ANNOUNCE_SKIP).
Details: Session tools
ClawHub is a minimal skill registry. With ClawHub enabled, the agent can search for skills automatically and pull in new ones as needed.
Send these in WhatsApp/Telegram/Slack/Google Chat/Microsoft Teams/WebChat (group commands are owner-only):
/statusβ compact session status (model + tokens, cost when available)/newor/resetβ reset the session/compactβ compact session context (summary)/think <level>β off|minimal|low|medium|high|xhigh (GPT-5.2 + Codex models only)/verbose on|off/usage off|tokens|fullβ per-response usage footer/restartβ restart the gateway (owner-only in groups)/activation mention|alwaysβ group activation toggle (groups only)
The Gateway alone delivers a great experience. All apps are optional and add extra features.
If you plan to build/run companion apps, follow the platform runbooks below.
- Menu bar control for the Gateway and health.
- Voice Wake + push-to-talk overlay.
- WebChat + debug tools.
- Remote gateway control over SSH.
Note: signed builds required for macOS permissions to stick across rebuilds (see docs/mac/permissions.md).
- Pairs as a node over the Gateway WebSocket (device pairing).
- Voice trigger forwarding + Canvas surface.
- Controlled via
openclaw nodes β¦.
Runbook: iOS connect.
- Pairs as a WS node via device pairing (
openclaw devices ...). - Exposes Connect/Chat/Voice tabs plus Canvas, Camera, Screen capture, and Android device command families.
- Runbook: Android connect.
- Workspace root:
~/.openclaw/workspace(configurable viaagents.defaults.workspace). - Injected prompt files:
AGENTS.md,SOUL.md,TOOLS.md. - Skills:
~/.openclaw/workspace/skills/<skill>/SKILL.md.
Minimal ~/.openclaw/openclaw.json (model + defaults):
{
agent: {
model: "anthropic/claude-opus-4-6",
},
}Full configuration reference (all keys + examples).
- Default: tools run on the host for the main session, so the agent has full access when itβs just you.
- Group/channel safety: set
agents.defaults.sandbox.mode: "non-main"to run nonβmain sessions (groups/channels) inside perβsession Docker sandboxes; bash then runs in Docker for those sessions. - Sandbox defaults: allowlist
bash,process,read,write,edit,sessions_list,sessions_history,sessions_send,sessions_spawn; denylistbrowser,canvas,nodes,cron,discord,gateway.
Details: Security guide Β· Docker + sandboxing Β· Sandbox config
- Link the device:
pnpm openclaw channels login(stores creds in~/.openclaw/credentials). - Allowlist who can talk to the assistant via
channels.whatsapp.allowFrom. - If
channels.whatsapp.groupsis set, it becomes a group allowlist; include"*"to allow all.
- Set
TELEGRAM_BOT_TOKENorchannels.telegram.botToken(env wins). - Optional: set
channels.telegram.groups(withchannels.telegram.groups."*".requireMention); when set, it is a group allowlist (include"*"to allow all). Alsochannels.telegram.allowFromorchannels.telegram.webhookUrl+channels.telegram.webhookSecretas needed.
{
channels: {
telegram: {
botToken: "123456:ABCDEF",
},
},
}- Set
SLACK_BOT_TOKEN+SLACK_APP_TOKEN(orchannels.slack.botToken+channels.slack.appToken).
- Set
DISCORD_BOT_TOKENorchannels.discord.token(env wins). - Optional: set
commands.native,commands.text, orcommands.useAccessGroups, pluschannels.discord.allowFrom,channels.discord.guilds, orchannels.discord.mediaMaxMbas needed.
{
channels: {
discord: {
token: "1234abcd",
},
},
}- Requires
signal-cliand achannels.signalconfig section.
- Recommended iMessage integration.
- Configure
channels.bluebubbles.serverUrl+channels.bluebubbles.passwordand a webhook (channels.bluebubbles.webhookPath). - The BlueBubbles server runs on macOS; the Gateway can run on macOS or elsewhere.
- Legacy macOS-only integration via
imsg(Messages must be signed in). - If
channels.imessage.groupsis set, it becomes a group allowlist; include"*"to allow all.
- Configure a Teams app + Bot Framework, then add a
msteamsconfig section. - Allowlist who can talk via
msteams.allowFrom; group access viamsteams.groupAllowFromormsteams.groupPolicy: "open".
- Uses the Gateway WebSocket; no separate WebChat port/config.
Browser control (optional):
{
browser: {
enabled: true,
color: "#FF4500",
},
}Use these when youβre past the onboarding flow and want the deeper reference.
- Start with the docs index for navigation and βwhatβs where.β
- Read the architecture overview for the gateway + protocol model.
- Use the full configuration reference when you need every key and example.
- Run the Gateway by the book with the operational runbook.
- Learn how the Control UI/Web surfaces work and how to expose them safely.
- Understand remote access over SSH tunnels or tailnets.
- Follow the onboarding wizard flow for a guided setup.
- Wire external triggers via the webhook surface.
- Set up Gmail Pub/Sub triggers.
- Learn the macOS menu bar companion details.
- Platform guides: Windows (WSL2), Linux, macOS, iOS, Android
- Debug common failures with the troubleshooting guide.
- Review security guidance before exposing anything.
- Skills config
- Default AGENTS
- Templates: AGENTS
- Templates: BOOTSTRAP
- Templates: IDENTITY
- Templates: SOUL
- Templates: TOOLS
- Templates: USER
OpenClaw was built for Molty, a space lobster AI assistant. π¦ by Peter Steinberger and the community.
See CONTRIBUTING.md for guidelines, maintainers, and how to submit PRs. AI/vibe-coded PRs welcome! π€
Special thanks to Mario Zechner for his support and for pi-mono. Special thanks to Adam Doppelt for lobster.bot.
Thanks to all clawtributors: