One-command multi-agent initialization for OpenClaw
Ship an entire AI agent fleet to your chat group in 60 seconds. Default model: zai/glm-5
Installation โข Architecture โข Agents โข Channels โข Workflows โข Customization โข Contributing
OpenClaw Agents is a ready-to-deploy multi-agent configuration kit for OpenClaw. It provisions 9 specialized AI agents as a collaborative team โ complete with identities, workspace files, routing rules, and channel bindings โ using a single setup command.
- ๐ค 9 pre-configured agents with rich emoji identities for instant recognition in chat
- ๐ Agent self-merge โ deploys
BOOTSTRAP.mdfor intelligent first-run setup - ๐ Two Deployment Modes:
- Channel Mode: auto-routes agents to Feishu, WhatsApp, Telegram, Discord (supports individual groups)
- Local Workflow Mode: no channel required, agents communicate directly via
agentToAgenttool
- ๐ 4 workflow templates โ Paper Pipeline, Daily Digest, Brainstorm, Rebuttal
- โ๏ธ Adversarial collaboration โ IdeatorโCritic and WriterโReviewer creative tension
- ๐ฏ SHARP taste gates โ quality checkpoints enforced by the Critic agent
- ๐ก๏ธ Safe merge โ appends agents to existing config, never overwrites your main agent
- ๐๏ธ Flexible model โ unified model or per-agent customization via
--model-map - ๐งฉ Extensible โ add custom agents via
agents.yaml
Paste this into your LLM agent session (Claude Code, Antigravity, Cursor, etc.):
Fetch the OpenClaw Agents installation guide and set up the multi-agent system by following:
curl -s https://raw.githubusercontent.com/shenhao-stu/openclaw-agents/main/docs/installation.md
Or just run it yourself:
git clone https://github.com/shenhao-stu/openclaw-agents.git
cd openclaw-agents
chmod +x setup.sh
./setup.shIMPORTANT: Use
curlto fetch this file, NOT WebFetch. WebFetch summarizes content and loses critical details like CLI flags and config examples. Always use:curl -fsSL https://raw.githubusercontent.com/shenhao-stu/openclaw-agents/main/docs/installation.md
If you're an LLM Agent helping set up OpenClaw Agents, follow the full installation guide. Here's the summary:
# Verify OpenClaw CLI is installed
if command -v openclaw &> /dev/null; then
echo "OpenClaw $(openclaw --version) is installed"
else
echo "Installing OpenClaw..."
npm install -g openclaw@latest
openclaw onboard --install-daemon
fiAsk the user these questions:
- Which deployment mode do you want?
- Mode 1 (Channel Mode): Deploy agents to Feishu, Slack, Telegram, etc.
- Mode 2 (Local Workflow Mode): Use locally via CLI workflows. Agents talk to each other via the
agentToAgenttool. (No channel needed).
(If Mode 1: Channel Mode)
2. Which channel? โ --channel feishu|whatsapp|...
3. How to assign groups?
- All in one group: provide one
--group-id <ID> - Separate groups per agent: interactively paste 8 different group IDs in the script.
- ้่ฆ @mention ๆๅๅคๅ๏ผ โ
--require-mention true|false
(For both modes)
5. Which LLM model? (default: zai/glm-5) โ --model <MODEL>
- Different models per agent? โ
--model-map 'coder=ollama/kimi-k2.5:cloud'
git clone https://github.com/shenhao-stu/openclaw-agents.git
cd openclaw-agents
chmod +x setup.sh
./setup.sh --channel <CHANNEL> --group-id <GROUP_ID>Examples:
-
Interactive Setup (Highly Recommended):
./setup.sh
(The script will elegantly ask you your mode, your channel, and let you paste your 8 group IDs one by one if desired).
-
Local Workflow Mode:
./setup.sh --mode local -
All agents in one Feishu group:
./setup.sh --mode channel --channel feishu --group-id oc_xxx
-
Scripted per-agent groups:
./setup.sh --mode channel --channel feishu --group-id oc_default \ --group-map 'coder=oc_dev,scout=oc_news' -
Custom models + no @mention:
./setup.sh --channel feishu --group-id oc_xxx \ --model-map 'coder=ollama/kimi-k2.5:cloud' \ --require-mention false
-
Agents only (no channel):
./setup.sh --skip-bindings -
Dry-run preview:
./setup.sh --dry-run --channel feishu --group-id oc_xxx
The script will:
- โ
Verify
openclawCLI is installed - ๐ค Create 8 sub-agents via
openclaw agents add(auto-generates AGENTS.md, SOUL.md, USER.md) - ๐จ Set emoji identities via
openclaw agents set-identity - ๐ Deploy source files +
BOOTSTRAP.mdfor agent self-merge on first run - ๐ Append workflow instructions to each agent's
AGENTS.md - ๐ Configure
openclaw.jsonwith channel bindings - โ Verify the entire setup
openclaw agents list --bindings # Should show all 8 agents with channel bindings
openclaw channels status --probe # Should show channel connectedopenclaw gatewayThen mention any agent in your chat group to test. Each agent will respond with its distinct emoji identity.
โ ๏ธ Warning: Do not modify the 8 core agent IDs (planner,ideator,critic,surveyor,coder,writer,reviewer,scout). These are protected and referenced throughout the workflow system.
โโโโโโโโโโโโโโโโ
โ ๐ค User โ
โโโโโโโโฌโโโโโโโโ
โ
โโโโโโโโโโโโโผโโโโโโโโโโโโ
โ ๐พ OpenClaw Main โ
โ (Audit ยท Manage ยท Arbitrate)
โโโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โโโโโโโโผโโโโโโโโ
โ ๐ง Planner โ โโโ Orchestration Hub
โโโโโโโโฌโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ โ
โโโโโโโผโโโโโโ โโโโโโโผโโโโโโ โโโโโโโผโโโโโโ
โ ๐กIdeator โโโโ โ๏ธ โโโบโ ๐ฏ Critic โ โ ๐ฐ Scout โ
โ Creative โ โ Taste โ โ Intel โ
โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ โโโโโโโโโโโโโ
โ โ
โโโโโโโผโโโโโโ โโโโโโโผโโโโโโ
โ ๐Surveyorโ โ ๐ป Coder โ
โ Research โ โ Engineer โ
โโโโโโโฌโโโโโโ โโโโโโโฌโโโโโโ
โ โ
โโโโโโโโโโโโโฌโโโโโโโโโโโโ
โโโโโโโผโโโโโโ
โ โ๏ธ Writer โ
โ Author โ
โโโโโโโฌโโโโโโ
โ
โโโโโโโผโโโโโโ
โ ๐Reviewerโ โโโ Quality Gate
โ Reviewer โ
โโโโโโโโโโโโโ
The system is built on productive tension between agents:
| Axis | Agents | Dynamic |
|---|---|---|
| Creativity vs. Taste | ๐ก Ideator โ ๐ฏ Critic | Forge top-tier ideas through rigorous debate |
| Writing vs. Review | โ๏ธ Writer โ ๐ Reviewer | Polish papers through iterative feedback |
- ๐ฏ Critic holds ultimate taste veto โ no idea passes Phase 2.5 without SHARP โฅ 18
- ๐ Reviewer holds ultimate quality veto โ paper cannot submit without Reviewer's Accept
| # | Agent | ID | Identity | Role |
|---|---|---|---|---|
| 0 | Main | main |
๐พ OpenClaw | System orchestrator, audit, final arbiter |
| 1 | Planner | planner |
๐ง Planner | Task decomposition, progress tracking, coordination |
| 2 | Ideator | ideator |
๐ก Ideator | Idea generation, novelty assessment, contribution framing |
| 3 | Critic | critic |
๐ฏ Critic | SHARP taste evaluation, anti-pattern detection |
| 4 | Surveyor | surveyor |
๐ Surveyor | Literature search, research gap identification |
| 5 | Coder | coder |
๐ป Coder | Algorithm implementation, experiment execution |
| 6 | Writer | writer |
โ๏ธ Writer | Paper writing, LaTeX formatting |
| 7 | Reviewer | reviewer |
๐ Reviewer | Internal peer review, rebuttal strategy |
| 8 | Scout | scout |
๐ฐ Scout | Daily paper digest, trend monitoring |
Each agent has three core files inside .agents/<agent_id>/:
| File | Purpose | Customize When... |
|---|---|---|
soul.md |
๐งฌ Identity, personality, decision principles | You want to change agent behavior |
agent.md |
โ๏ธ Model, tools, sandbox, inter-agent protocols | You want to change model or tool access |
user.md |
๐ค User context, research profile, preferences | You want to adapt to a different research domain |
Docs: Groups ยท Multi-Agent Routing
| Channel | Group ID Format | Example | Docs |
|---|---|---|---|
| Feishu (้ฃไนฆ) | oc_xxxxxxxxx |
oc_b1c331592eaa36d06a7e5df05d08a890 |
Feishu docs |
xxxxx@g.us |
120363999999999999@g.us |
WhatsApp docs | |
| Telegram | Negative integer | -1001234567890 |
Telegram docs |
| Discord | Guild ID | 1234567890 |
Discord docs |
| Slack | Team + Channel | T0123/C0123 |
Slack docs |
OpenClaw uses a three-tier access control model for groups:
| Policy | Behavior | Use Case |
|---|---|---|
"open" |
All groups allowed (default) | Personal servers, trusted teams |
"allowlist" |
Only listed groups allowed | Multi-tenant / production |
"disabled" |
All group messages dropped | DM-only bots |
You can choose whether agents require @mention to respond in groups:
| Setting | Behavior |
|---|---|
requireMention: true (default) |
Agents only respond when @mentioned. Messages without @ are stored for context but don't trigger a reply. |
requireMention: false |
Agents auto-respond to all group messages. No @mention needed. |
# Default: require @mention
./setup.sh --channel feishu --group-id oc_xxx
# Auto-respond without @mention
./setup.sh --require-mention false --channel feishu --group-id oc_xxxEach agent has unique mentionPatterns:
{
"agents": {
"list": [
{
"id": "planner",
"name": "๐ก Planner",
"groupChat": {
"mentionPatterns": ["@planner", "planner", "@Planner"],
"historyLimit": 50
}
}
]
}
}How it works: Type
@planner ่ฏทๅ่งฃ่ฟไธชไปปๅกin the group, and only the ๐ก Planner agent will respond.
Messages that don't match any mention pattern are stored for context but don't trigger a reply โ this allows agents to follow the conversation passively.
Each agent gets an isolated session per group:
agent:<agentId>:<channel>:group:<groupId>
| Session | Key Example |
|---|---|
| Planner in Feishu group | agent:planner:feishu:group:oc_xxx |
| Coder in Telegram group | agent:coder:telegram:group:-1001234567890 |
| Main in DM | agent:main:main |
Telegram forum topics add :topic:<threadId> for per-topic isolation.
Each sub-agent has its own independent workspace (no Docker sandbox). The setup script deploys source files that the agent merges on first run:
| Deployed File | Purpose |
|---|---|
BOOTSTRAP.md |
First-run instructions โ agent reads this, merges source files, then deletes it |
_soul_source.md |
Agent-specific identity and capabilities |
_soul_raw.md |
Generic behavior guidelines (from SOUL_raw.md) |
_user_source.md |
Agent-specific user context |
_user_raw.md |
User template (from USER.md) |
_agent_source.md |
Agent config with model settings |
AGENTS.md |
Auto-generated by OpenClaw + workflow instructions appended |
You can restrict tools per group or per sender:
{
"channels": {
"telegram": {
"groups": {
"-1001234567890": {
"tools": {
"deny": ["exec", "write"] // block risky tools
},
"toolsBySender": {
"id:123456789": { "alsoAllow": ["exec"] } // override for trusted user
}
}
}
}
}
}Agents show as <emoji> <name> in chat (configured via identity.name):
| What You Type | Who Replies |
|---|---|
@planner ๅ่งฃไธไธไปปๅก |
๐ง Planner |
@critic ่ฏไผฐ่ฟไธช idea |
๐ฏ Critic |
@coder ่ทไธไธๅฎ้ช |
๐ป Coder |
@writer ๅ related work |
โ๏ธ Writer |
| Channel | Config | Key Features |
|---|---|---|
| Feishu | openclaw.feishu.json |
All 9 agents, open policy, mention gating |
openclaw.whatsapp.json |
DM pairing, open policy | |
| Telegram | openclaw.telegram.json |
Tool restrictions per group |
| Workflow | Slash Command | Description |
|---|---|---|
| ๐ Paper Pipeline | /paper-pipeline |
Full 9-phase paper production with taste gates |
| ๐ฐ Daily Digest | /daily-digest |
Scout-led daily paper summarization |
| ๐ก Brainstorm | /brainstorm |
Rapid idea generation and evaluation |
| ๐ Rebuttal | /rebuttal |
Reviewer response preparation |
The Critic agent enforces quality at four critical checkpoints:
| Gate | Checkpoint | Pass Criteria |
|---|---|---|
| ๐ฏ Idea Confirmation | SHARP score + Soul Questions | SHARP โฅ 18 |
| ๐ฏ Method Design | Elegance + Parsimony | Parsimony โฅ 4 |
| ๐ฏ First Draft | Narrative quality + Memorability | โฅ 1 clear hook |
| ๐ฏ Pre-submission | Full quality judgment | Critic says "worth submitting" |
The default model is zai/glm-5. You have three options:
# Uses zai/glm-5 for all 8 sub-agents
./setup.sh --channel feishu --group-id oc_xxx# All agents use the same custom model
./setup.sh --model ollama/kimi-k2.5:cloud --channel feishu --group-id oc_xxx# Default is zai/glm-5, but coder and writer get different models
./setup.sh \
--model zai/glm-5 \
--model-map 'coder=ollama/kimi-k2.5:cloud,writer=zai/glm-4.7,scout=zai/glm-4.7-flash' \
--channel feishu --group-id oc_xxx--model-map takes priority over --model for specified agents. Agents not in the map use the --model default.
- Add the agent definition to
agents.yaml:
agents:
# ... existing agents ...
- id: "math-prover"
name: "๐ข Math Prover"
emoji: "๐ข"
role: "Theorem proving, convergence analysis"
model: "zai/glm-5"
protected: false
workspace: ".agents/math-prover"- Re-run
./setup.shor add manually:
openclaw agents add math-prover --model zai/glm-5 --workspace .agents/math-prover
openclaw agents set-identity --agent math-prover --name "๐ข Math Prover"openclaw-agents/
โโโ setup.sh # ๐ One-command setup script
โโโ agents.yaml # ๐ Agent manifest (source of truth)
โโโ soul.md # ๐พ Main Agent definition
โโโ README.md # ๐ This file
โโโ LICENSE # MIT License
โโโ CONTRIBUTING.md # Contribution guidelines
โโโ CHANGELOG.md # Version history
โโโ docs/
โ โโโ installation.md # ๐ Full installation guide
โโโ examples/
โ โโโ openclaw.feishu.json # Feishu config example
โ โโโ openclaw.whatsapp.json # WhatsApp config example
โ โโโ openclaw.telegram.json # Telegram config example
โโโ .agents/
โโโ planner/ # ๐ง soul.md + agent.md + user.md
โโโ ideator/ # ๐ก soul.md + agent.md + user.md
โโโ critic/ # ๐ฏ soul.md + agent.md + user.md
โโโ surveyor/ # ๐ soul.md + agent.md + user.md
โโโ coder/ # ๐ป soul.md + agent.md + user.md
โโโ writer/ # โ๏ธ soul.md + agent.md + user.md
โโโ reviewer/ # ๐ soul.md + agent.md + user.md
โโโ scout/ # ๐ฐ soul.md + agent.md + user.md
โโโ workflows/
โโโ paper-pipeline.md # ๐ End-to-end paper workflow
โโโ daily-digest.md # ๐ฐ Daily paper digest
โโโ brainstorm.md # ๐ก Idea brainstorming
โโโ rebuttal.md # ๐ Rebuttal preparation
| Flag | Description | Default |
|---|---|---|
--mode |
Deployment config mode (channel or local) |
Interactive |
--channel |
Channel type (feishu/whatsapp/telegram/discord/slack) | Interactive prompt |
--group-id |
Default group ID for all agents | Interactive prompt |
--group-map |
Per-agent group overrides (id=group_id,...) |
None |
--model |
Default LLM model for all agents | zai/glm-5 |
--model-map |
Per-agent model overrides (id=model,...) |
None |
--require-mention |
Require @mention to respond (true/false) |
true |
--skip-bindings |
Skip channel binding setup | false |
--dry-run |
Preview commands without executing | false |
-h, --help |
Show help | โ |
๐ก๏ธ Safe Merge: The setup script appends sub-agents to your existing
openclaw.json. Main agent is implicit (usesagents.defaults). No sandbox โ each agent has its own workspace. A backup is created automatically.
openclaw agents list --bindings # List all agents and bindings
openclaw agents add <id> # Add a new agent
openclaw agents set-identity # Set agent display name
openclaw channels status --probe # Check channel connectivity
openclaw gateway # Start the gateway
openclaw gateway restart # Restart after config changesWe welcome contributions! See CONTRIBUTING.md for guidelines.
- ๐ Bug Reports โ Open a GitHub Issue
- ๐ก New Agents โ Submit a PR with agent files +
agents.yamlupdate - ๐ Workflows โ Share your research process templates
- ๐ Docs โ Improve guides and examples
MIT โ Use freely, modify openly, share generously.
Built with โค๏ธ for the AI research community
Powered by OpenClaw ๐ฆ
{ "channels": { "feishu": { "groupPolicy": "open", // โ all groups allowed "groups": { "oc_YOUR_GROUP_ID": { "requireMention": true // โ must @mention to trigger } } } } }