Auto Agent Router - 自动子 Agent 路由
根据消息中的命令自动路由到合适的子 Agent,实现并发处理和专业化分工。
🎯 When to Use
Agent 行为准则
收到每条消息时,首先检查是否包含命令:
✅ USE this skill when:
- - 消息开头是
/coder → 启动 coder Agent (qwen3-coder-next) - 消息开头是
/writer → 启动 writer Agent (qwen3.5-plus) - 消息开头是
/analyze → 启动 analyst Agent (qwen3.5-plus) - 消息开头是
/research → 启动 researcher Agent (gemini-3.1-pro) - 消息开头是
/review → 启动 reviewer Agent (qwen3-max) - 消息开头是
/devops → 启动 devops Agent (qwen3.5-plus) - 消息开头是
/auto → 自动判断合适的 Agent
检查流程:
- 1. 收到消息 → 首先检查开头是否包含
/xxx 命令 - 如果有命令 → 调用
sessions_spawn 启动对应子 Agent - 如果没有命令 → 主 Session 直接处理
🚫 When NOT to Use
❌ DON'T use this skill when:
- - 消息中没有命令 → 主 Session 直接处理
- 命令不在消息开头 → 如"请帮我 /coder"不触发
- 简单问答不需要子 Agent → 主 Session 处理即可
- 命令在消息中间或结尾 → 不触发路由
📋 Trigger Rules
触发格式(严格模式)
| 格式 | 示例 | 结果 |
|---|
| 命令开头 | INLINECODE9 | ✅ 触发 |
| @名字 + 命令 |
@小牛马 /coder 写代码 | ✅ 触发 |
|
消息中包含命令 |
请帮我 /coder 写代码 | ❌ 不触发 |
可用命令
| 命令 | Agent | 模型 | 用途 |
|---|
| INLINECODE12 | coder | qwen3-coder-next | 代码任务 |
| INLINECODE13 |
writer | qwen3.5-plus | 写作任务 |
|
/analyze | analyst | qwen3.5-plus | 数据分析 |
|
/research | researcher | gemini-3.1-pro | 调研任务 |
|
/review | reviewer | qwen3-max | 审查优化 |
|
/devops | devops | qwen3.5-plus | 运维操作 |
|
/auto | 自动判断 | 根据内容 | 智能路由 |
🔧 How to Use
基本用法
用户发送命令:
CODEBLOCK0
Agent 响应:
CODEBLOCK1
带@的命令
用户发送:
CODEBLOCK2
处理流程:
- 1. 去掉@名字 → INLINECODE19
- 匹配命令 → INLINECODE20
- 启动 Agent → writer
- 返回结果
📁 Implementation
核心组件
CODEBLOCK3
调用方式
检测命令:
CODEBLOCK4
查看配置:
CODEBLOCK5
查看日志:
tail -f /tmp/auto-route-handler.log
🔄 Workflow
CODEBLOCK7
📊 Response Format
启动回复
CODEBLOCK8
完成回复
CODEBLOCK9
⚙️ Configuration
config.json
CODEBLOCK10
自定义 Agent
编辑 config.json 的 rules 数组添加新规则:
CODEBLOCK11
📝 Notes
- - 严格模式:命令必须在消息开头,中间或结尾不触发
- @名字可选:支持带@或不带@的命令
- 自动学习:支持自动学习新的机器人名字
- 并发处理:多个子 Agent 可以并行运行
- Session 隔离:每个子 Agent 有独立的 Session
- 日志位置: INLINECODE23
🧪 Testing
测试命令
CODEBLOCK12
预期结果
| 输入 | 输出 |
|---|
| INLINECODE24 | ✅ 触发,路由到 coder |
| INLINECODE25 |
✅ 触发,路由到 coder |
|
请帮我 /coder | ❌ 不触发,主 Session 处理 |
🔗 Related
- - MEMORY.md - 包含配置和使用记录
- sessions_spawn - 启动子 Agent 的工具
最后更新: 2026-02-28
版本: 1.0.0
技能名称: auto-agent-router
详细描述:
Auto Agent Router - 自动子 Agent 路由
根据消息中的命令自动路由到合适的子 Agent,实现并发处理和专业化分工。
🎯 使用时机
Agent 行为准则
收到每条消息时,首先检查是否包含命令:
✅ 使用此技能的场景:
- - 消息开头是 /coder → 启动 coder Agent (qwen3-coder-next)
- 消息开头是 /writer → 启动 writer Agent (qwen3.5-plus)
- 消息开头是 /analyze → 启动 analyst Agent (qwen3.5-plus)
- 消息开头是 /research → 启动 researcher Agent (gemini-3.1-pro)
- 消息开头是 /review → 启动 reviewer Agent (qwen3-max)
- 消息开头是 /devops → 启动 devops Agent (qwen3.5-plus)
- 消息开头是 /auto → 自动判断合适的 Agent
检查流程:
- 1. 收到消息 → 首先检查开头是否包含 /xxx 命令
- 如果有命令 → 调用 sessions_spawn 启动对应子 Agent
- 如果没有命令 → 主 Session 直接处理
🚫 不使用时机
❌ 不要使用此技能的场景:
- - 消息中没有命令 → 主 Session 直接处理
- 命令不在消息开头 → 如请帮我 /coder不触发
- 简单问答不需要子 Agent → 主 Session 处理即可
- 命令在消息中间或结尾 → 不触发路由
📋 触发规则
触发格式(严格模式)
| 格式 | 示例 | 结果 |
|---|
| 命令开头 | /coder 写代码 | ✅ 触发 |
| @名字 + 命令 |
@小牛马 /coder 写代码 | ✅ 触发 |
|
消息中包含命令 | 请帮我 /coder 写代码 | ❌ 不触发 |
可用命令
| 命令 | Agent | 模型 | 用途 |
|---|
| /coder | coder | qwen3-coder-next | 代码任务 |
| /writer |
writer | qwen3.5-plus | 写作任务 |
| /analyze | analyst | qwen3.5-plus | 数据分析 |
| /research | researcher | gemini-3.1-pro | 调研任务 |
| /review | reviewer | qwen3-max | 审查优化 |
| /devops | devops | qwen3.5-plus | 运维操作 |
| /auto | 自动判断 | 根据内容 | 智能路由 |
🔧 使用方法
基本用法
用户发送命令:
/coder 写个 Hello World
Agent 响应:
✅ 🧑💻 已启动 coder (代码专家) 处理您的任务
─────────────────────
🤖 处理者:Agent: 🧑💻 coder
模型:dashscope/qwen3-coder-next
带@的命令
用户发送:
@小牛马 /writer 写周报
处理流程:
- 1. 去掉@名字 → /writer 写周报
- 匹配命令 → /writer
- 启动 Agent → writer
- 返回结果
📁 实现方式
核心组件
~/.openclaw/workspace/skills/auto-agent-router/
├── SKILL.md # 本文档
├── config.json # 路由配置
├── auto-trigger.py # 触发检测
├── dingtalk-command.py # 命令解析
├── router.py # 路由匹配
└── logger.py # 日志记录
调用方式
检测命令:
bash
python3 ~/.openclaw/workspace/skills/auto-agent-router/auto-trigger.py /coder 写代码
查看配置:
bash
cat ~/.openclaw/workspace/skills/auto-agent-router/config.json
查看日志:
bash
tail -f /tmp/auto-route-handler.log
🔄 工作流程
用户消息:/coder 写代码
↓
- 1. 检测命令 (auto-trigger.py)
- 去掉@名字
- 检查开头是否匹配命令
↓
- 2. 解析命令 (dingtalk-command.py)
- 提取命令类型
- 提取任务内容
↓
- 3. 路由匹配 (router.py)
- 查找 config.json
- 确定目标 Agent
↓
- 4. 启动 Agent (sessions_spawn)
- 创建子 Agent Session
- 分配任务
↓
- 5. 返回结果
- 子 Agent 完成任务
- 推送结果给用户
📊 回复格式
启动回复
✅ 🧑💻 已启动 coder (代码专家) 处理您的任务
─────────────────────
🤖 处理者:Agent: 🧑💻 coder
模型:dashscope/qwen3-coder-next
完成回复
[子 Agent 的任务结果]
─────────────────────
🤖 处理者:Agent: 🧑💻 coder
运行时间:3s • Tokens: 20k
⚙️ 配置
config.json
json
{
enabled: true,
autoRoute: true,
flexible: false,
bot_names: [小牛马, xiaoniuma, AI 助手, ...],
rules: [
{
type: coding,
keywords: [代码, 函数, bug],
agent: coder,
model: dashscope/qwen3-coder-next,
priority: high
}
],
fallback: {
agent: null,
model: dashscope/qwen3.5-plus
}
}
自定义 Agent
编辑 config.json 的 rules 数组添加新规则:
json
{
type: custom,
keywords: [关键词 1, 关键词 2],
agent: custom_agent,
model: 模型名称,
priority: medium
}
📝 注意事项
- - 严格模式:命令必须在消息开头,中间或结尾不触发
- @名字可选:支持带@或不带@的命令
- 自动学习:支持自动学习新的机器人名字
- 并发处理:多个子 Agent 可以并行运行
- Session 隔离:每个子 Agent 有独立的 Session
- 日志位置:/tmp/auto-route-handler.log
🧪 测试
测试命令
bash
测试触发
python3 ~/.openclaw/workspace/skills/auto-agent-router/auto-trigger.py /coder 写代码
测试@命令
python3 ~/.openclaw/workspace/skills/auto-agent-router/auto-trigger.py @小牛马 /coder 写代码
测试不触发
python3 ~/.openclaw/workspace/skills/auto-agent-router/auto-trigger.py 请帮我 /coder
预期结果
| 输入 | 输出 |
|---|
| /coder 写代码 | ✅ 触发,路由到 coder |
| @小牛马 /coder 写代码 |
✅ 触发,路由到 coder |
| 请帮我 /coder | ❌ 不触发,主 Session 处理 |
🔗 相关链接
- - MEMORY.md - 包含配置和使用记录
- sessions_spawn - 启动子 Agent 的工具
最后更新: 2026-02-28
版本: 1.0.0