Skip to content

kingler/openclaw-mabos

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

18,141 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🦞 OpenClaw-MABOS β€” Multi-Agent Business Operating System

OpenClaw-MABOS

Autonomous AI Agents Running Your Business

CI status GitHub release Discord MIT License

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


Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                        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          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

System Layers

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

Agent Roster (16 C-Suite Roles)

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

Cognitive Architecture

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

Module Details

Security (on by default)

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

Governance

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

Model Router

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

Session Intelligence

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_end plugin hook
  • Agent Tools: session_search, session_recall, user_profile
  • HTTP API: GET /mabos/sessions/search, POST /mabos/sessions/recall, GET /mabos/sessions/profile

Execution Sandbox

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_command tool 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

Skill Loop

Autonomous self-improvement from experience:

  • Skill Registry β€” File-based skill discovery across configurable paths. Each skill is a SKILL.md + manifest.json directory. 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

Dashboard (React 19 + TanStack Router)

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.

Storage Architecture (4-Layer)

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

Tools (125 total)

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

HTTP API (20 endpoints)

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

Configuration

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: true

Test Suite

75 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.ts

Module Architecture

All 6 modules register through the MABOS extension entry point with config-driven activation and graceful error handling. Each module follows a consistent pattern:

  1. Config-gated activation β€” disabled by default (except Security), enabled via feature flags
  2. Graceful degradation β€” if a module fails to initialize, the rest of the system continues
  3. Plugin SDK hooks β€” before_tool_call, after_tool_call, llm_output, session_end, before_prompt_build
  4. HTTP routes β€” registered via api.registerHttpRoute() for dashboard consumption
  5. Zero new root dependencies β€” all module deps live in the extension package.json

Design Documents


OpenClaw Base Platform

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

Sponsors

OpenAI Vercel Blacksmith Convex
OpenAI Vercel Blacksmith Convex

Subscriptions (OAuth):

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 (selection + auth)

Install (recommended)

Runtime: Node β‰₯22.

npm install -g openclaw@latest
# or: pnpm add -g openclaw@latest

openclaw onboard --install-daemon

The wizard installs the Gateway daemon (launchd/systemd user service) so it stays running.

Quick start (TL;DR)

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 high

Upgrading? Updating guide (and run openclaw doctor).

Development channels

  • stable: tagged releases (vYYYY.M.D or vYYYY.M.D-<patch>), npm dist-tag latest.
  • beta: prerelease tags (vYYYY.M.D-beta.N), npm dist-tag beta (macOS app may be missing).
  • dev: moving head of main, npm dist-tag dev (when published).

Switch channels (git + npm): openclaw update --channel stable|beta|dev. Details: Development channels.

From source (development)

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:watch

Note: pnpm openclaw ... runs TypeScript directly (via tsx). pnpm build produces dist/ for running via Node / the packaged openclaw binary.

Security defaults (DM access)

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.

Highlights

  • 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.

Star History

Star History Chart

Everything we built so far

Core platform

Channels

Apps + nodes

Tools + automation

Runtime + safety

Ops + packaging

How it works (short)

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

Key subsystems

Tailscale access (Gateway dashboard)

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 via tailscale serve (uses Tailscale identity headers by default).
  • funnel: public HTTPS via tailscale funnel (requires shared password auth).

Notes:

  • gateway.bind must stay loopback when Serve/Funnel is enabled (OpenClaw enforces this).
  • Serve can be forced to require a password by setting gateway.auth.mode: "password" or gateway.auth.allowTailscale: false.
  • Funnel refuses to start unless gateway.auth.mode: "password" is set.
  • Optional: gateway.tailscale.resetOnExit to undo Serve/Funnel on shutdown.

Details: Tailscale guide Β· Web surfaces

Remote Gateway (Linux is great)

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) via node.invoke. In short: exec runs where the Gateway lives; device actions run where the device lives.

Details: Remote access Β· Nodes Β· Security

macOS permissions via the Gateway protocol

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.run runs a local command and returns stdout/stderr/exit code; set needsScreenRecording: true to require screen-recording permission (otherwise you’ll get PERMISSION_MISSING).
  • system.notify posts a user notification and fails if notifications are denied.
  • canvas.*, camera.*, screen.record, and location.get are also routed via node.invoke and follow TCC permission status.

Elevated bash (host permissions) is separate from macOS TCC:

  • Use /elevated on|off to toggle per‑session elevated access when enabled + allowlisted.
  • Gateway persists the per‑session toggle via sessions.patch (WS method) alongside thinkingLevel, verboseLevel, model, sendPolicy, and groupActivation.

Details: Nodes Β· macOS app Β· Gateway protocol

Agent to Agent (sessions_* tools)

  • 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

Skills registry (ClawHub)

ClawHub is a minimal skill registry. With ClawHub enabled, the agent can search for skills automatically and pull in new ones as needed.

ClawHub

Chat commands

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)
  • /new or /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)

Apps (optional)

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.

macOS (OpenClaw.app) (optional)

  • 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).

iOS node (optional)

  • Pairs as a node over the Gateway WebSocket (device pairing).
  • Voice trigger forwarding + Canvas surface.
  • Controlled via openclaw nodes ….

Runbook: iOS connect.

Android node (optional)

  • 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.

Agent workspace + skills

  • Workspace root: ~/.openclaw/workspace (configurable via agents.defaults.workspace).
  • Injected prompt files: AGENTS.md, SOUL.md, TOOLS.md.
  • Skills: ~/.openclaw/workspace/skills/<skill>/SKILL.md.

Configuration

Minimal ~/.openclaw/openclaw.json (model + defaults):

{
  agent: {
    model: "anthropic/claude-opus-4-6",
  },
}

Full configuration reference (all keys + examples).

Security model (important)

  • 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; denylist browser, 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.groups is set, it becomes a group allowlist; include "*" to allow all.
  • Set TELEGRAM_BOT_TOKEN or channels.telegram.botToken (env wins).
  • Optional: set channels.telegram.groups (with channels.telegram.groups."*".requireMention); when set, it is a group allowlist (include "*" to allow all). Also channels.telegram.allowFrom or channels.telegram.webhookUrl + channels.telegram.webhookSecret as needed.
{
  channels: {
    telegram: {
      botToken: "123456:ABCDEF",
    },
  },
}
  • Set SLACK_BOT_TOKEN + SLACK_APP_TOKEN (or channels.slack.botToken + channels.slack.appToken).
  • Set DISCORD_BOT_TOKEN or channels.discord.token (env wins).
  • Optional: set commands.native, commands.text, or commands.useAccessGroups, plus channels.discord.allowFrom, channels.discord.guilds, or channels.discord.mediaMaxMb as needed.
{
  channels: {
    discord: {
      token: "1234abcd",
    },
  },
}
  • Requires signal-cli and a channels.signal config section.
  • Recommended iMessage integration.
  • Configure channels.bluebubbles.serverUrl + channels.bluebubbles.password and 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.groups is set, it becomes a group allowlist; include "*" to allow all.
  • Configure a Teams app + Bot Framework, then add a msteams config section.
  • Allowlist who can talk via msteams.allowFrom; group access via msteams.groupAllowFrom or msteams.groupPolicy: "open".
  • Uses the Gateway WebSocket; no separate WebChat port/config.

Browser control (optional):

{
  browser: {
    enabled: true,
    color: "#FF4500",
  },
}

Docs

Use these when you’re past the onboarding flow and want the deeper reference.

Advanced docs (discovery + control)

Operations & troubleshooting

Deep dives

Workspace & skills

Platform internals

Email hooks (Gmail)

Molty

OpenClaw was built for Molty, a space lobster AI assistant. 🦞 by Peter Steinberger and the community.

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:

steipete vincentkoc vignesh07 obviyus Mariano Belinky sebslight gumadeiras Takhoffman thewilloftheshadow cpojer tyler6204 joshp123 Glucksberg mcaxtr quotentiroler osolmaz Sid-Qin joshavant shakkernerd bmendonca3 mukhtharcm zerone0x mcinteerj ngutman lailoo arosstale rodrigouroz robbyczgw-cla Elonito Clawborn yinghaosang BunsDev christianklotz echoVic coygeek roshanasingh4 mneves75 joaohlisboa bohdanpodvirnyi nachx639 onutc Verite Igiraneza widingmarcus-cyber akramcodez aether-ai-agent bjesuiter MaudeBot YuriNachos chilu18 byungsker dbhurley JayMishra-source iHildy mudrii dlauer Solvely-Colin czekaj advaitpaliwal lc0rp grp06 HenryLoenwind azade-c Lukavyi vrknetha brandonwise conroywhitney Tobias Bischoff davidrudduck xinhuagu jaydenfyi petter-b heyhudson MatthieuBizien huntharo omair445 adam91holt adhitShet smartprogrammer93 radek-paclt frankekn bradleypriest rahthakor shadril238 VACInc juanpablodlc jonisjongithub magimetal stakeswky abhisekbasu1 MisterGuy420 hsrvc nabbilkhan aldoeliacim jamesgroat orlyjamie Elarwei001 rubyrunsstuff Phineas1500 meaningfool sfo2001 Marvae liuy shtse8 thebenignhacker carrotRakko ranausmanai kevinWangSheng gregmousseau rrenamed akoscz jarvis-medmatic danielz1z pandego xadenryan NicholasSpisak graysurf gupsammy nyanjou sibbl gejifeng ide-rea leszekszpunar Yida-Dev AI-Reviewer-QS SocialNerd42069 maxsumrall hougangdev Minidoracat AnonO6 sreekaransrinath YuzuruS riccardogiorato Bridgerz Mrseenz buddyh Eng. Juan Combetto peschee cash-echo-bot jalehman zknicker Harald Buerbaumer taw0002 scald openperf BUGKillerKing Oceanswave Hiren Patel kiranjd antons dan-dr jadilson12 sumleo Whoaa512 luijoc niceysam JustYannicc emanuelst TsekaLuk JustasM loiie45e davidguttman natefikru dougvk koala73 mkbehr zats Simone Macario openclaw-bot ENCHIGO mteam88 Blakeshannon gabriel-trigo neist pejmanjohn durenzidu Ryan Haines hcl XuHao benithors bitfoundry-ai HeMuling markmusson ameno- battman21 BinHPdev dguido evalexpr guirguispierre henrino3 joeykrug loganprit odysseus0 dbachelder Divanoli Mydeen Pitchai liuxiaopai-ai Sam Padilla pvtclawn seheepeak TSavo nachoiacovino misterdas LeftX badlogic Shuai-DaiDai mousberg Masataka Shinohara BillChirico Lewis solstead julianengel dantelex sahilsatralkar kkarimi mahmoudashraf93 pkrmf ryan-crabbe miloudbelarebia Mars El-Fitz McRolly NWANGWU carlulsoe Dithilli emonty fal3 mitschabaude-bot benostein LI SHANXIN magendary mahanandhi CashWilliams j2h4u bsormagec Jessy LANGE Lalit Singh hyf0-agent andranik-sahakyan unisone jeann2013 jogelin rmorse scz2011 wes-davis popomore cathrynlavery iamadig Vasanth Rao Naik Sabavat Jay Caldwell Shailesh Kirill Shchetynin ruypang mitchmcalister Paul van Oorschot Xu Gu Menglin Li artuskg jackheuberger imfing superman32432432 Syhids Marvin Taylor Asplund dakshaymehta Stefan Galescu lploc94 WalterSumbon krizpoon EnzeD Evizero Grynn hydro13 jverdi kentaro kunalk16 longmaba mjrussell optimikelabs oswalpalash RamiNoodle733 sauerdaniel SleuthCo TaKO8Ki travisp rodbland2021 fagemx BigUncle Igor Markelov zhoulc777 connorshea TIHU Tony Dehnke pablohrcarvalho bonald rhuanssauro Tanwa Arpornthip webvijayi Tom Ron ozbillwang Patrick Barletta Ian Derrington austinm911 Ayush10 boris721 damoahdominic doodlewind ikari-pl philipp-spiess shayan919293 Harrington-bot nonggia.liang Michael Lee OscarMinjarez claude Alg0rix Lucky Harry Cui Kepler h0tp-ftw Youyou972 Dominic danielwanwx 0xJonHoldsCrypto akyourowngames clawdinator[bot] erikpr1994 thesash thesomewhatyou dashed Dale Babiy Diaspar4u brianleach codexGW dirbalak Iranb Max TideFinder Chase Dorsey Joly0 adityashaw2 tumf slonce70 alexgleason theonejvo Skyler Miao Jeremiah Lowin peetzweg/ chrisrodz ghsmc ibrahimq21 irtiq7 Jonathan D. Rhyne (DJ-D) kelvinCB mitsuhiko rybnikov santiagomed suminhthanh svkozak kaizen403 sleontenko Nate CornBrother0x DukeDeSouth crimeacs Cklee Garnet Liu neverland ryan sircrumpet AdeboyeDN Neo asklee-klawd benediktjohannes εΌ ε“²θŠ³ constansino Yuting Lin OfflynAI Rajat Joshi Daniel Zou Manik Vahsith ProspectOre Lilo 24601 awkoy dawondyifraw google-labs-jules[bot] hyojin Kansodata natedenh pi0 dddabtc AkashKobal wu-tian807 Ganghyun Kim Stephen Brian King tosh-hamburg John Rood JINNYEONG KIM Dinakar Sarbada aj47 Protocol Zero Limitless Mykyta Bozhenko Nicholas Shivam Kumar Raut andreesg Fred White Anandesh-Sharma ysqander ezhikkk andreabadesso BinaryMuse cordx56 DevSecTim edincampara fcatuhe gildo itsjaydesu ivanrvpereira loeclos MarvinCui p6l-richard thejhinvirtuoso yudshj Wangnov Jonathan Works Yassine Amjad Django Navarro Frank Harris Kenny Lee Drake Thomsen wangai-studio AytuncYildizli Charlie NiΓ±o Jeremy Mumford Yeom-JinHo Rob Axelsen junwon Pratham Dubey amitbiswal007 Slats Oren Parker Todd Brooks MattQ Milofax Steve (OpenClaw) Matthew Cassius0924 0xbrak 8BlT Abdul535 abhaymundhara aduk059 afurm aisling404 akari-musubi albertlieyingadrian Alex-Alaniz ali-aljufairi altaywtf araa47 Asleep123 avacadobanana352 barronlroth bennewton999 bguidolim bigwest60 caelum0x championswimmer dutifulbob eternauta1337 foeken gittb HeimdallStrategy junsuwhy knocte MackDing nobrainer-tech Noctivoro Raikan10 Swader Alexis Gallagher alexstyl Ethan Palm yingchunbai joshrad-dev Dan Ballance Eric Su Kimitaka Watanabe Justin Ling lutr0 Raymond Berger atalovesyou jayhickey jonasjancarik latitudeki5223 minghinmatthewlam rafaelreis-r ratulsarna timkrase efe-buken manmal easternbloc manuelhettich sktbrd larlyssa Mind-Dragon pcty-nextgen-service-account tmchow uli-will-code Marc Gratch JackyWay aaronveklabs CJWTRUST erik-agens odnxe T5-AndyML Josh Phillips mujiannan Marco Di Dionisio Randy Torres afern247 0oAstro alexanderatallah testingabc321 humanwritten aaronn Alphonse-arianee gtsifrikas hrdwdmrbl hugobarauna jiulingyun kitze loukotal MSch odrobnik reeltimeapps rhjoh ronak-guliani snopoke

About

Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 86.6%
  • Swift 7.6%
  • Kotlin 1.7%
  • JavaScript 1.2%
  • Shell 1.0%
  • HTML 0.7%
  • Other 1.2%