Page cover

Multi Agent

This guide covers running multiple isolated agents in a single OpenClaw deployment on Cloudeka.

What is Multi-Agent?

Multi-agent allows you to run multiple isolated "brains" in one OpenClaw gateway:

  • Separate workspaces — Each agent has its own files, AGENTS.md, SOUL.md

  • Separate state — Each agent has its own auth profiles and sessions

  • Separate skills — Each agent can have different skills installed

  • Message routing — Bindings route messages to specific agents

Use Cases

Use Case
Description

Multiple teams

Different agents for different Slack channels

Different personalities

Chat bot vs. code reviewer vs. incident responder

Permission boundaries

Restricted tools for untrusted channels

Multiple accounts

Different WhatsApp numbers for different purposes

Architecture

Path Structure

Each agent has isolated paths on the PVC:

Component
Path

Workspace

/home/node/.openclaw/workspace-<agentId>/

Agent state

/home/node/.openclaw/agents/<agentId>/agent/

Sessions

/home/node/.openclaw/agents/<agentId>/sessions/

Skills

/home/node/.openclaw/workspace-<agentId>/skills/

Complete Example: Two Agents

Let's set up two agents:

  • main — General purpose, full tools, kubectl access

  • docs — Documentation assistant with access to internal docs wiki

Step 1: Update openclaw.json

Edit charts/openclaw/values.yaml:

Step 2: Configure Per-Agent Kubeconfigs

Create the secrets:

Step 3: Configure Per-Agent Skills

Step 4: Update init-skills for Multi-Agent

Step 5: Deploy

Understanding Bindings

Bindings route inbound messages to agents using most-specific wins:

  1. peer match (exact DM/group ID) — Highest priority

  2. accountId match for a channel

  3. Channel-level match

  4. Fallback to default agent

Binding Examples

Per-Agent Tool Restrictions

Restrict what tools each agent can use:

Available Tools

Tool
Description

exec

Execute shell commands

read

Read files

write

Write files

edit

Edit files

browser

Browser automation

sessions_*

Session management

agent_to_agent

Agent messaging

Per-Agent Sandboxing

Isolate agents in Docker containers (requires OpenClaw v2026.1.6+):

Testing Multi-Agent Setup

Verify Agent Configuration

Expected output:

Test Message Routing

Send messages to different channels and verify the correct agent responds:

  1. Slack #docs → Should get Docs agent (📚)

  2. Slack #general → Should get Main agent (🦞)

  3. Telegram DM → Should get Main agent (🦞)

Sharing Skills Between Agents

To share skills across agents, use the shared skills directory:

Or use symlinks in init-skills:

Common Patterns

Pattern 1: Channel-Based Routing

Route entire channels to different agents:

Pattern 2: Mention-Based Routing

Route @mentions to a specialized agent:

Then in the agent config:

Pattern 3: Account-Based Routing

Different WhatsApp accounts to different agents:

Last updated