Multi-agent orchestration framework for OpenClaw. Define roles, route tasks, manage state, and coordinate agent teams using a proven communication protocol.
YiHui 团队经验:最好的编排不是"一个万能 Agent",而是专角色 + 清晰协议 + 状态可见。
三个原则:
User Input
↓
[Router Agent] ← 解析意图,判断类型
↓
[Specialist Agent(s)] ← 执行子任务
↓
[Critic Agent] ← 审查结果,决策是否通过
↓
[Master Agent] ← 最终输出,兜底
职责:调度、审查、路由、兜底
特征:
行为规则:
职责:特定领域的深度执行
特征:
行为规则:
职责:审查 specialist 的输出质量
特征:
职责:解析用户意图,分发给正确的 specialist
特征:
message:
from: agent_id # 发件人
to: agent_id # 收件人
type: task | report | question | escalate | approve
priority: high | normal | low
task:
id: uuid # 任务唯一ID
description: string # 任务描述
context: [] # 关联上下文引用
deadline: timestamp # 可选截止时间
status:
state: pending | in_progress | blocked | done | escalate
blockers: [] # 阻塞原因
result: {} # 结果(完成时填写)
metadata:
confidence: 0-1 # 置信度
requires_approval: boolean
| Type | 方向 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
task | Master → Specialist | 分配任务 |
report | Specialist → Master | 任务完成报告 |
question | Specialist ↔ Master | 边界模糊,需确认 |
escalate | Specialist → Master | 超出能力,请求升级 |
approve | Critic → Master | 审查结论 |
PENDING → IN_PROGRESS → [BLOCKED → IN_PROGRESS] → DONE
↓
ESCALATED → IN_PROGRESS / DONE
状态转移规则:
pending → in_progress:Router 确认后立即转移in_progress → blocked:遇到障碍(缺信息/缺权限)时转移,blocker 写入 messageblocked → in_progress:Master 解除障碍后恢复in_progress → escalated:Specialist 判断超出边界时转移any → done:Critic 批准 or Master 兜底完成每个 Agent 必须遵守的记忆写入规则:
| 系统 | 存储内容 | 写入时机 |
|---|---|---|
| ------ | --------- | --------- |
| MemPalace | 团队决策、系统改动、长期事实、跨 agent 知识 | 重要信息确认后立即写 |
| Cortex (MemClaw) | 会话偏好、临时对话记忆、用户画像 | 每次对话后增量写入 |
每次任务开始前必须执行双重召回:
1. cortex_search — MemClaw 向量检索
2. mempalace__mempalace_search — MemPalace 结构化检索
跨 Agent 协作时必须同时跑:
使用飞书 channel 时,必须指定 target 参数:
| 目标 Agent | target 参数 |
|---|---|
| ----------- | ------------ |
| Master(小语) | user:ou_ |
| Specialist(小美/大龙) | user:ou_ |
| 阿辉(用户) | 走 channel 默认路由 |
禁止:accountId: default — 会导致 400 错误
# my-team.yaml
team:
name: 我的团队
agents:
- id: master
name: 小语
role: master
channel: feishu
target: user:ou_xxx
- id: specialist-ops
name: 大龙
role: specialist
domain: [ops, security, diagnosis]
channel: feishu
target: user:ou_yyy
- id: specialist-content
name: 小美
role: specialist
domain: [news, creative, design]
channel: feishu
target: user:ou_zzz
用户输入 → Router 解析意图 → Master 分配 → Specialist 执行 → Critic 审查 → Master 汇总
所有任务状态写入 MemPalace:
# Task state stored in MemPalace
task_id: "uuid-xxx"
state: "in_progress"
owner: "specialist-ops"
created_at: timestamp
updated_at: timestamp
history: [state_transitions]
真实生产配置(小语/小美/大龙):
| Agent | 角色 | 飞书 ID | 职责边界 |
|---|---|---|---|
| ------- | ------ | --------- | --------- |
| 🌸 小语 | Master | ou_7d0630bcf6e7fb2c35c2033be5e23722 | 调度、审查、路由、兜底 |
| 🐉 大龙 | Specialist | ou_6a94e9d0e8eb6112626bdacefd0f3438 | 运维、诊断、系统检查、安全审计 |
| 🌷 小美 | Specialist | ou_96c1622be4c5efd17929c0d2ba5d3f99 | 新闻资讯、市场动态、图片、音乐、视频、文案 |
agent-swarm/
├── SKILL.md # This file
├── configs/
│ ├── team.yaml # 团队配置模板
│ └── roles/
│ ├── master.yaml # Master 角色定义
│ ├── specialist.yaml # Specialist 角色定义
│ ├── critic.yaml # Critic 角色定义
│ └── router.yaml # Router 角色定义
└── examples/
├── workflow-basic.yaml # 基础工作流示例
└── workflow-research.yaml # 研究任务工作流示例
共 1 个版本