Built by Mindra Inc.

Adaptive Multi-Agent
Orchestration

Break down complex goals into tasks, route them to specialized agents, and iterate until done — all driven by an LLM planner with a real-time web dashboard.

Orchestrator (LLM planner, no tools) ├── researcher [web-search, browser] — finds information ├── coder [bash, file-ops] — writes and tests code ├── analyst [no tools, reasoning only] — compares and recommends └── main [general] — fallback for everything else

Purpose-built agents, not one-size-fits-all

Each agent runs in its own sandbox with only the tools it needs. No single agent has the keys to the kingdom.

🔒

Isolated Capabilities

A researcher has web search but can't execute code. A coder has a shell but can't access your database. Permissions are scoped by design.

🛡

Better Security

When a coding task goes to an agent that can only write code, the blast radius of a prompt injection or hallucination is contained.

Specialization Wins

Focused agents with targeted system prompts and specific tool access outperform a single general-purpose agent on domain tasks.

🚀

Coordinate, Don't Centralize

The orchestrator decides what to do and who should do it. Agents don't need to know about each other — they just execute.

Everything you need for agent orchestration

Adaptive Loop

The LLM decides what to do next based on accumulated results — not a rigid pre-planned DAG.

Multi-Agent Routing

Tasks assigned to the best agent by name or capability. Researcher, coder, analyst, or any custom agent.

Dynamic Agent Discovery

Agent metadata loaded from each agent's SOUL.md on the gateway. No static configuration needed.

Real-Time Dashboard

Browser-based UI with SSE streaming, step visualization, task output inspection, and run history.

3 Adapter Types

OpenClaw gateway agents, HTTP endpoints, or plain async functions — mix and match.

Robust LLM Parsing

Handles markdown-wrapped JSON, prose prefixes, and truncated gateway responses gracefully.

Watch your agents work in real time

Submit goals, watch tasks execute with live status updates, and inspect results — all from your browser.

localhost:3000
OpenClaw Orchestrator Dashboard

Think, execute, repeat

The orchestrator runs an adaptive loop — the LLM decides what to do, agents execute, and results feed back in.

1

Think

The orchestrator sends the goal and all accumulated results to the LLM planner. It responds with a batch of tasks to execute, or a final answer.

researcher "Find 2025 benchmarks for React vs Svelte"
2

Execute

Tasks are dispatched to agents based on name or capability. Tasks in the same step run concurrently for maximum throughput.

coder "Write a React dashboard component"
coder "Write a Svelte dashboard component"
analyst "Compare frameworks based on research data"
3

Repeat or Finish

Results feed back into the next think step. The LLM sees what succeeded, what failed, and decides what to do next — or synthesizes the final answer.

finish "Here's the comprehensive comparison..."

Up and running in minutes

Install & Run bash
# Install
npm install openclaw-orchestrator

# Start the dashboard (connects to your OpenClaw gateway)
openclaw-orchestrator serve -g ws://your-gateway:port/ -t YOUR_TOKEN

# Or run a goal directly from the CLI
openclaw-orchestrator run "Compare React and Svelte for dashboards" \
  -g ws://your-gateway:port/ -t YOUR_TOKEN

Open http://localhost:3000 to see the dashboard.

Five commands, zero complexity

serve
Start the web dashboard with real-time agent monitoring.
-g <url>   Gateway URL
-t <token> Auth token
-p <port>   Dashboard port
--host <ip> Bind address
run
Execute a goal from the command line.
-g <url>   Gateway URL
-t <token> Auth token
-c <n>      Max parallel tasks
-s <n>      Max steps
plan
Dry-run the first planning step without executing.
-g <url>   Gateway URL
-t <token> Auth token
agents
List all discovered agents and their capabilities.
-g <url>   Gateway URL
-t <token> Auth token
gateways health
Check gateway connectivity and protocol version.
-g <url>   Gateway URL
-t <token> Auth token

All commands accept --debug for verbose logging.

Full control from TypeScript

Register agents & run typescript
import { Orchestrator, FunctionAdapter } from "openclaw-orchestrator";

const orch = new Orchestrator();

orch.addAgent(new FunctionAdapter({
  name: "researcher",
  description: "Finds information on the web",
  capabilities: ["research", "web-search"],
  fn: async (task) => {
    return `Results for: ${task}`;
  },
}));

const result = await orch.run("Build a URL shortener", {
  maxSteps: 5,
}, {
  onStepStart: (step, ids) => console.log(`Step ${step}`),
  onTaskEnd: (step, id, res) => console.log(`  ${id}: ${res.status}`),
  onFinish: (answer) => console.log(answer),
});

Three ways to connect agents

Mix and match OpenClaw gateway agents, HTTP endpoints, and in-process functions in the same orchestration.

OpenClaw

Gateway Agents

Discover agents from your OpenClaw gateway. Metadata loaded automatically from SOUL.md files.

Gateway setupts
const orch = new Orchestrator();
orch.addGateway({
  name: "main",
  url: "ws://host:port/",
  token: "...",
});
HTTP

Remote Endpoints

Call any HTTP API as an agent. POST a task, get a result back.

HTTP adapterts
orch.addAgent(new HttpAdapter({
  name: "summarizer",
  url: "https://api.co/summarize",
  capabilities: ["summarization"],
}));
Function

In-Process

Wrap any async function as an agent. Great for testing and local tools.

Function adapterts
orch.addAgent(new FunctionAdapter({
  name: "calc",
  capabilities: ["math"],
  fn: async (task) => eval(task),
}));