Flexible setup for 2–10 agent collaborative teams on OpenClaw.
Featurev1.0v2.0Team sizeFixed 72–10 agentsTeam namingSingle teamMultiple named teamsRoles7 preset only10 preset + custom rolesWorkflowFixed 9-step4 templates + fully customModel assignmentHardcodedAuto-detect + manual override
bash
# Default team
node <skill-dir>/wizard/setup.js
# Named team (supports multiple teams coexisting)
node <skill-dir>/wizard/setup.js --team alpha
node <skill-dir>/wizard/setup.js --team beta
The wizard guides you through:
RoleIDEmojiCategoryDefault Model TypeProduct Managerpm📋ManagementBalancedArchitectarchitect🏗️EngineeringStrongestFrontendfrontend🎨EngineeringCodeBackendbackend⚙️EngineeringCodeQAqa🔍QualityBalancedDevOpsdevops🚀OperationsStrongestCode Artisancode-artisan🛠️QualityCodeData Engineerdata-engineer📊EngineeringCodeSecuritysecurity🔒QualityStrongestTech Writertech-writer📝ManagementBalanced
Custom roles: The wizard supports adding fully custom roles (ID, name, emoji, responsibilities, model type).
standard-9step)text
PM → Architect Review → Frontend + Backend (parallel) → Code Review → QA → Approval → Deployment
Best for: Complete project development with strict process control
quick-3step)text
Direct Development → Code Review → Deployment
Best for: Small features, hotfixes, rapid iteration
fullstack-solo)text
Requirements Design → Fullstack Development → Testing & Deployment
Best for: 2–3 person lean team
custom)A single OpenClaw instance can run multiple teams:
bash
# Team alpha: frontend team
node setup.js --team alpha
# Select: frontend, qa, devops
# Team beta: backend team
node setup.js --team beta
# Select: backend, architect, qa, devops
# Team gamma: fullstack
node setup.js --team gamma
Each team's agent ID includes the team prefix: alpha-frontend, beta-backend, etc.
Team configs are stored at: teamtask/teams/<team-name>.json
text
~/.openclaw/
├── openclaw.json # Agent config for all teams
├── workspace/
│ └── teamtask/
│ ├── teams/ # Team manifests
│ │ ├── default.json
│ │ ├── alpha.json
│ │ └── beta.json
│ └── tasks/ # Project task directory
└── agents/ # Subagent directory
├── pm/ # default team
├── alpha-frontend/ # alpha team
├── beta-backend/ # beta team
└── ...
The wizard auto-detects registered models in openclaw.json and matches by type:
Model TypeBest ForAuto-detect PatternStrongest ReasoningArchitect, DevOps, Security/opus/iCode SpecializedFrontend, Backend, Code Artisan/codex/iBalancedPM, QA, Tech Writer/sonnet/iFastSimple tasks/haiku/iLong ContextCross-file analysis/gemini.*pro/i
Fallback chains are auto-generated based on model type relationships.
text
@codingteam wake up — Activate default team
@codingteam <team-name> wake up — Activate specified team
@codingteam <role> — Activate specified role
@codingteam 收工 — All team members sleep
javascript
// Spawn by agent ID
sessions_spawn({
task: "Implement user auth API",
agentId: "backend" // default team
// agentId: "alpha-backend" // named team
})
text
skills/coding-team-setup/
├── SKILL.md # This file
├── README.md # Public description
├── clawhub.yaml # ClawHub metadata
├── config/
│ └── roles.json # Role templates + workflow templates + model types
├── templates/
│ └── SOUL-template.md # SOUL.md template
└── wizard/
└── setup.js # Interactive setup wizard (v2.0)
ProblemCauseFixagents_list only shows mainallowAgents missing agent IDRe-run wizard or add manuallySpawn timeoutRate Limit / model unavailableCheck fallback chainMulti-team ID conflict--team parameter not usedUse --team <name> to distinguishWorkspace files missingDirectory deleted manuallyRe-run wizard
allowAgents must be under main agent's subagents — not under defaults.subagentsopenclaw gateway restartAfter creating any sub-agent team, execute this as mandatory standard flow:
openclaw.jsonagent_id + skill_name + timestamp + contextopenclaw cron job in isolated sessionopenclaw.json skill mappingmemory/YYYY-MM-DD.md.lib/skill_analytics/sessions_spawn directly for production fan-out checks.SPAWN_REJECTED / TIMEOUT / NO_CHANNEL_503 / RATE_LIMIT / UNKNOWNallowAgents must be merged into main.subagents.allowAgents (append + dedupe), never overwritten blindly.agents_list that all new agents are visible before any spawn.灵活搭建 2–10 位子代理开发团队,支持多团队命名、自定义协作流程
特性v1.0v2.0团队规模固定 7 人2–10 人团队命名单一团队多个命名团队角色7 个预设10 个预设 + 自定义协作流程固定 9 步4 个模板 + 完全自定义模型分配硬编码自动检测 + 手动覆盖
bash
# 默认团队
node <skill-dir>/wizard/setup.js
# 命名团队(支持多个团队并存)
node <skill-dir>/wizard/setup.js --team alpha
node <skill-dir>/wizard/setup.js --team beta
向导会引导你完成:
角色IDEmoji类别默认模型类型产品经理pm📋管理均衡型架构师architect🏗️工程最强推理前端frontend🎨工程代码专长后端backend⚙️工程代码专长QAqa🔍质量均衡型DevOpsdevops🚀运维最强推理代码工匠code-artisan🛠️质量代码专长数据工程师data-engineer📊工程代码专长安全security🔒质量最强推理技术文档tech-writer📝管理均衡型
自定义角色: 向导支持添加完全自定义的角色(ID、名称、emoji、职责、模型类型)。
standard-9step)text
PM → 架构师评审 → 前端 + 后端(并行) → 代码审查 → QA → 确认 → 部署
适合:完整项目开发,需要严格流程控制
quick-3step)text
直接开发 → 代码审查 → 部署
适合:小型功能、hotfix、快速迭代
fullstack-solo)text
需求设计 → 全栈开发 → 测试部署
适合:2–3人精简团队
custom)一个 OpenClaw 实例可以运行多个团队:
bash
# 团队 alpha:前端团队
node setup.js --team alpha
# 选择: frontend, qa, devops
# 团队 beta:后端团队
node setup.js --team beta
# 选择: backend, architect, qa, devops
# 团队 gamma:全栈
node setup.js --team gamma
每个团队的 agent ID 带团队前缀: alpha-frontend, beta-backend 等。
团队配置存储在: teamtask/teams/<team-name>.json
text
~/.openclaw/
├── openclaw.json # 所有团队的 agent 配置
├── workspace/
│ └── teamtask/
│ ├── teams/ # 团队 manifest
│ │ ├── default.json
│ │ ├── alpha.json
│ │ └── beta.json
│ └── tasks/ # 项目任务目录
└── agents/ # 子代理目录
├── pm/ # default team
├── alpha-frontend/ # alpha team
├── beta-backend/ # beta team
└── ...
向导自动检测 openclaw.json 中已注册的模型,按类型匹配:
模型类型适用角色自动检测规则最强推理架构师、DevOps、安全/opus/i代码专长前端、后端、代码工匠/codex/i均衡型PM、QA、技术文档/sonnet/i快速简单任务/haiku/i长上下文跨文件分析/gemini.*pro/i
Fallback 链根据模型类型关系自动生成。
text
@codingteam wake up — 激活默认团队全体
@codingteam <team-name> wake up — 激活指定团队
@codingteam <role> — 激活指定角色
@codingteam 收工 — 全员休眠
javascript
// 按 agent ID 生成
sessions_spawn({
task: "实现用户认证 API",
agentId: "backend" // default team
// agentId: "alpha-backend" // named team
})
text
skills/coding-team-setup/
├── SKILL.md # 本文件
├── README.md # 公开描述
├── clawhub.yaml # ClawHub 元数据
├── config/
│ └── roles.json # 角色模板 + 流程模板 + 模型类型
├── templates/
│ └── SOUL-template.md # SOUL.md 模板
└── wizard/
└── setup.js # 交互式配置向导 (v2.0)
问题原因解决方案agents_list 只显示 mainallowAgents 缺少 agent ID重新运行向导或手动添加Spawn 超时Rate Limit / 模型不可用检查 fallback 链多团队 ID 冲突未使用 --team 参数用 --team <name> 区分Workspace 文件缺失手动删除了目录重新运行向导
allowAgents 必须在 main agent 的 subagents 下 — 不是 defaults.subagentsopenclaw gateway restart所有子代理团队创建完成后,必须执行以下标准流程:
openclaw.json 固定配置 2–4 个核心技能agent_id + skill_name + timestamp + contextopenclaw cron 创建每周任务(isolated session)openclaw.json 的技能映射memory/YYYY-MM-DD.md.lib/skill_analytics/sessions_spawn 做并发健康检查。SPAWN_REJECTED / TIMEOUT / NO_CHANNEL_503 / RATE_LIMIT / UNKNOWNallowAgents 只能合并写入 main.subagents.allowAgents(追加+去重),禁止覆盖清空。agents_list 验证新增代理可见,再进行 spawn。