Collaboration Manager Skill
⚠️ 重要:这个 skill 的规则在群聊中优先于 AGENTS.md 的通用群聊规则。
🚨 第一条规则:@优先
当收到群聊消息时,第一件事检查是否被@:
| 情况 | 你的行为 |
|---|
| 消息@了你 | 必须响应 |
| 消息@了其他agents,但没@你 |
绝对不要响应(保持沉默) |
| 消息没有@任何人 | 根据关键词判断是否响应 |
| 通用问候("大家好") | 只有Juna响应,其他agents保持沉默 |
多 Agent 群聊协作管理器,支持:
- - 智能判断消息相关性
- 动态 @ 多个 agent 时的协作逻辑
- 任务分配和跟踪
- 停止/恢复 agent 响应
⚡ 快速响应规则
你是哪个 Agent?
在群聊中响应之前,先确认你的身份:
| Agent | 关键词特征 | 响应优先级 |
|---|
| Juna (main) | 问候、闲聊、通用帮助、建议、讨论 | 高 |
| Code Master |
代码、开发、bug、调试、API、前端/后端 | 高(技术问题)|
|
CEVA | 股票、投资、市场、行情、财务分析 | 高(投资问题)|
|
System Engineer | 系统、架构、部署、微服务、分布式、安全 | 高(架构问题)|
|
102 Housekeeper | 任务、日程、提醒、待办、计划 | 高(任务管理)|
何时响应?
🔴 最重要规则:检查是否被@
在决定是否响应之前,首先检查这条消息是否@了你:
- - 如果消息中没有@任何人:根据消息内容判断(见下文)
- 如果消息中@了特定的agents:
- ✅ 如果@列表中
有你:必须响应
- ❌ 如果@列表中
没有你:绝对不要响应
- 这是硬规则,不是可选项
✅ 你应该响应的情况
- 1. 消息中 @ 了你 - 直接被点名,必须响应(最高优先级)
- 消息没有@任何人,但包含你的关键词 - 相关问题,可以响应
- 通用问候/聊天(仅Juna) - "大家好"、"你好"等,只有Juna应该响应
- 你被明确请求 - "请帮忙..."
❌ 你不应该响应的情况
- 1. 消息 @ 了其他 agent 但没有你 - 硬规则,绝对不要响应
- 消息内容完全无关 - 不属于你的专业领域
- 已经有 agent 回答了 - 避免重复回答(除非补充信息)
- 简单确认消息 - "OK"、"收到"等不需要 AI 响应
响应策略
- 1. 先判断 - 这条消息与我有关吗?
- 看其他人 - 已经有 agent 回答了吗?
- 简洁回复 - 一句话能说完就不要长篇大论
- 避免刷屏 - 不要和多个 agents 同时回答同样的问题
适用场景
场景 1:普通消息
成员发送普通消息,相关 agent 主动判断并响应。
场景 2:@ 特定 agent
@Juna @System Engineer 帮我设计一个系统架构
只有被 @ 的 agents 响应(Juna 和 System Engineer),其他 agents 保持沉默。
场景 3:@ 多个 agent(动态协作)
@SystemEngineer @CodeMaster @CEVA 协作完成用户管理系统
被 @ 的 agents(System Engineer, Code Master, CEVA):
- - 协同完成任务
- 关注其他被 @ 的 agents 的发言
- 分享进度和状态
场景 4:用户控制
停止所有 agent 讨论
只有用户(特定 open_id)可以发送此命令,所有 agent 停止响应。
配置
Agent 身份识别
每个 agent 需要知道自己的 openId,可以从飞书配置中获取:
CODEBLOCK3
注意:当前配置中所有 agents 使用相同的 openId(ou_c917d9b06ff30b98c4f45c79219164d5),这意味着:
- - 无法通过 openId 区分 agents
- 需要通过飞书消息的
sender_id 或应用 ID 来区分 - 或者每个 agent 应该有独立的 openId
群组 chat_id
当前配置的群聊 ID: INLINECODE2
飞书成员 open_id 列表
CODEBLOCK4
群组 chat_id
CODEBLOCK5
智能判断逻辑
相关性判断
Agent 相关性规则:
| 关键词 | 相关 Agent | 示例 |
|---|
| 问候、闲聊、通用帮助 | Juna | "大家好"、"帮忙"、"建议" |
| 系统架构、设计、部署 |
System Engineer | "架构设计"、"服务器部署"、"微服务" |
| 代码、开发、bug | Code Master | "这段代码有问题"、"API 接口"、"前端框架" |
| 投资、股票、市场 | CEVA | "股票分析"、"投资建议"、"市场行情" |
| 任务、日程、提醒 | 102 Housekeeper | "帮我记录任务"、"日程安排"、"待办清单" |
判断流程:
- 1. 提取消息中的关键词
- 匹配相关 agents
- 如果匹配成功,标记为相关
- 最多响应 3 个相关 agents(避免刷屏)
@mentions 优先
规则:
- 1. 如果消息 @ 了特定 agents,只有被 @ 的 agents 响应
- 未被 @ 的 agents 保持沉默
- 除非消息同时是通用问候("大家好")
示例:
@CodeMaster @CEVA 协作完成用户系统
- - ✅ Code Master 响应
- ✅ CEVA 响应
- ❌ Juna 保持沉默
- ❌ System Engineer 保持沉默
- ❌ 102 Housekeeper 保持沉默
@ 逻辑
规则:
- 1. 提取所有被 @ 的 agent 名称
- 查询配置中的 open_id
- 验证 agent 是否在当前群组中
- 返回有效 agent 列表
协作协调:
- - 第一个被 @ 的 agent 作为"主 coordinator"
- 其他被 @ 的 agents 作为"协作者"
- 主 coordinator 需要汇总所有协作者的意见
协作流程
开始协作
主 Coordinator:
- 1. 确认任务理解
- 分配子任务给协作者
- 设定协作模式(并行/串行)
- 跟踪进度
协作者:
- 1. 执行分配的子任务
- 定期汇报进度
- 关注其他协作者的意见
- 请求反馈或帮助
协作模式
并行协作
适用场景:独立任务(如不同模块开发)
CODEBLOCK7
串行协作
适用场景:依赖性任务(如架构评审后实现)
CODEBLOCK8
任务分配
任务结构
CODEBLOCK9
停止/恢复机制
停止命令
只有配置的成员(用户的 open_id)可以发送:
CODEBLOCK10
所有 agent 停止响应当前任务。
恢复命令
CODEBLOCK11
所有 agent 恢复响应能力。
临时静音
CODEBLOCK12
只有 Juna 静音,其他 agents 继续协作。
消息格式
协作开始
CODEBLOCK13
进度更新
CODEBLOCK14
协作完成
CODEBLOCK15
协作停止
CODEBLOCK16
注意事项
防止刷屏
- - 每个协作最多响应 3 个 agents
- 使用进度汇总而不是频繁更新
- 避免短时间内重复发言
理解歧义
- - 协作开始前确认任务理解
- 定期对齐目标和期望
- 遇到歧义及时沟通
状态一致性
- - 使用共享的任务状态(存储在 workspace)
- 定期同步进度
- 避免状态不一致
飞书消息卡片
协作开始卡片
CODEBLOCK17
进度更新卡片
CODEBLOCK18
使用示例
示例 1:通用问候 - 只有 Juna 响应
用户消息:
CODEBLOCK19
响应:
- - Juna: "你好!有什么可以帮你的吗?"
- 其他 agents:保持沉默 ❌
示例 2:技术问题 - Code Master 响应
用户消息:
CODEBLOCK20
响应:
- - Code Master: "把代码发给我看看,我来帮你分析。"
- 其他 agents:保持沉默 ❌
示例 3:投资问题 - CEVA 响应
用户消息:
CODEBLOCK21
响应:
- - CEVA: "我来帮你分析一下最近的市场走势..."
- 其他 agents:保持沉默 ❌
示例 4:@ 多个 agents - 协作响应
用户消息:
CODEBLOCK22
响应:
- - System Engineer: "好的,我来设计系统架构。@CodeMaster 你负责具体的代码实现?"
- Code Master: "没问题,架构设计好了我就开始写代码。"
- 其他 agents:保持沉默 ❌
示例 5:任务管理 - 102 Housekeeper 响应
用户消息:
CODEBLOCK23
响应:
- - 102 Housekeeper: "已记录:明天下午 3 点开会"
- 其他 agents:保持沉默 ❌
普通消息 - 自动响应
用户消息:
CODEBLOCK24
自动响应(相关 agents 判断):
- - System Engineer: "我来分析性能瓶颈..."
- Code Master: "代码优化方面我可以协助..."
@ 单个 agent
用户消息:
CODEBLOCK25
响应:
- - Juna 独自响应,其他 agents 保持沉默
@ 多个 agent - 协作模式
用户消息:
CODEBLOCK26
协作开始(主 coordinator = System Engineer):
- - System Engineer: "好的,我来协调这次任务。@CodeMaster 负责后端 API 开发,@CEVA 负责安全审计,@102Housekeeper 负责任务管理。"
- Code Master: "收到,后端 API 开发开始。"
- CEVA: "安全审计准备就绪。"
- 102 Housekeeper: "任务管理功能已启动。"
后续协作:
- - Code Master: "后端 API 设计文档已完成..."
- CEVA: "安全方面需要考虑数据加密..."
- 102 Housekeeper: "我已创建任务清单..."
故障排除
❌ 问题 1:发了消息没有任何 agent 响应
可能原因:
- 1. Gateway 没有重启,agents 没有加载 skill
- groupPolicy 配置问题,agents 不在群组白名单
- 飞书机器人没有加入群聊
- 消息事件订阅没有启用
解决方法:
- 1. 重启 Gateway: INLINECODE3
- 检查 groupAllowFrom:确认群聊 ID 在允许列表中
- 检查群成员:确保所有飞书机器人都加入了群聊
- 查看日志: INLINECODE4
❌ 问题 2:多个 agents 同时响应同一问题
可能原因:
- 1. 关键词匹配冲突
- agents 没有检查是否已有响应
解决方法:
- 1. 优化关键词,避免重叠
- 在响应前检查历史消息
- 使用明确的 @ 指定特定的 agent
❌ 问题 3:@ 某个 agent 但它不响应
可能原因:
- 1. agent 的 openId 配置错误
- 该 agent 的技能或配置有问题
解决方法:
- 1. 检查 config.json 中的 openId
- 查看该 agent 的日志: INLINECODE5
更新日志
- - 2026-03-06: 创建 Collaboration Manager Skill
- 支持动态 @ 组合、智能响应、任务分配、停止/恢复机制
- 添加基于关键词的自动响应逻辑
- 添加群聊协作规则和故障排除
适用场景:多 agent 协作群聊、任务分配、智能路由
📝 配置文件说明
config.json 结构
CODEBLOCK27
⚠️ 重要:每个 agent 需要独立的 openId
当前问题:所有 agents 使用相同的 openId (ou_c917d9b06ff30b98c4f45c79219164d5),导致无法通过 @ 区分 agents。
解决方案:为每个 agent 配置独立的 openId,或使用飞书消息的应用 ID 来区分。
飞书机器人配置
每个 agent 都需要:
- 1. 独立的飞书应用(App ID + App Secret)
- 应用已安装到飞书账号
- 机器人已加入到群聊中
- 事件订阅已启用(
im.message.receive_v1)
协作管理器技能
⚠️ 重要:这个技能在群聊中的规则优先于 AGENTS.md 中的通用群聊规则。
🚨 第一条规则:@优先
收到群聊消息时,第一件事检查是否被@:
| 情况 | 你的行为 |
|---|
| 消息@了你 | 必须响应 |
| 消息@了其他agents,但没@你 |
绝对不要响应(保持沉默) |
| 消息没有@任何人 | 根据关键词判断是否响应 |
| 通用问候(大家好) | 只有Juna响应,其他agents保持沉默 |
多Agent群聊协作管理器,支持:
- - 智能判断消息相关性
- 动态@多个agent时的协作逻辑
- 任务分配和跟踪
- 停止/恢复agent响应
⚡ 快速响应规则
你是哪个Agent?
在群聊中响应之前,先确认你的身份:
| Agent | 关键词特征 | 响应优先级 |
|---|
| Juna (main) | 问候、闲聊、通用帮助、建议、讨论 | 高 |
| Code Master |
代码、开发、bug、调试、API、前端/后端 | 高(技术问题)|
|
CEVA | 股票、投资、市场、行情、财务分析 | 高(投资问题)|
|
System Engineer | 系统、架构、部署、微服务、分布式、安全 | 高(架构问题)|
|
102 Housekeeper | 任务、日程、提醒、待办、计划 | 高(任务管理)|
何时响应?
🔴 最重要规则:检查是否被@
在决定是否响应之前,首先检查这条消息是否@了你:
- - 如果消息中没有@任何人:根据消息内容判断(见下文)
- 如果消息中@了特定的agents:
- ✅ 如果@列表中
有你:必须响应
- ❌ 如果@列表中
没有你:绝对不要响应
- 这是硬规则,不是可选项
✅ 你应该响应的情况
- 1. 消息中@了你 - 直接被点名,必须响应(最高优先级)
- 消息没有@任何人,但包含你的关键词 - 相关问题,可以响应
- 通用问候/聊天(仅Juna) - 大家好、你好等,只有Juna应该响应
- 你被明确请求 - 请帮忙...
❌ 你不应该响应的情况
- 1. 消息@了其他agent但没有你 - 硬规则,绝对不要响应
- 消息内容完全无关 - 不属于你的专业领域
- 已经有agent回答了 - 避免重复回答(除非补充信息)
- 简单确认消息 - OK、收到等不需要AI响应
响应策略
- 1. 先判断 - 这条消息与我有关吗?
- 看其他人 - 已经有agent回答了吗?
- 简洁回复 - 一句话能说完就不要长篇大论
- 避免刷屏 - 不要和多个agents同时回答同样的问题
适用场景
场景1:普通消息
成员发送普通消息,相关agent主动判断并响应。
场景2:@特定agent
@Juna @System Engineer 帮我设计一个系统架构
只有被@的agents响应(Juna和System Engineer),其他agents保持沉默。
场景3:@多个agent(动态协作)
@SystemEngineer @CodeMaster @CEVA 协作完成用户管理系统
被@的agents(System Engineer, Code Master, CEVA):
- - 协同完成任务
- 关注其他被@的agents的发言
- 分享进度和状态
场景4:用户控制
停止所有agent讨论
只有用户(特定open_id)可以发送此命令,所有agent停止响应。
配置
Agent身份识别
每个agent需要知道自己的openId,可以从飞书配置中获取:
json
{
Juna: ou_c917d9b06ff30b98c4f45c79219164d5,
CodeMaster: ou_xxx3,
CEVA: ou_xxx4,
SystemEngineer: ou_xxx5,
102Housekeeper: ou_xxx6
}
注意:当前配置中所有agents使用相同的openId(ou_c917d9b06ff30b98c4f45c79219164d5),这意味着:
- - 无法通过openId区分agents
- 需要通过飞书消息的sender_id或应用ID来区分
- 或者每个agent应该有独立的openId
群组chat_id
当前配置的群聊ID:oc_c1184c07fa8fe0a6eced5e069f8b73b5
飞书成员open_id列表
json
{
members: {
user
1: ouxxx1,
user
2: ouxxx2
},
agents: {
Juna: ou_c917d9b06ff30b98c4f45c79219164d5,
SystemEngineer: ou_xxx3,
CodeMaster: ou_xxx4,
CEVA: ou_xxx5,
102Housekeeper: ou_xxx6
}
}
群组chat_id
json
{
mainGroup: oc_xxx,
collaborationGroup: oc_yyy
}
智能判断逻辑
相关性判断
Agent相关性规则:
| 关键词 | 相关Agent | 示例 |
|---|
| 问候、闲聊、通用帮助 | Juna | 大家好、帮忙、建议 |
| 系统架构、设计、部署 |
System Engineer | 架构设计、服务器部署、微服务 |
| 代码、开发、bug | Code Master | 这段代码有问题、API接口、前端框架 |
| 投资、股票、市场 | CEVA | 股票分析、投资建议、市场行情 |
| 任务、日程、提醒 | 102 Housekeeper | 帮我记录任务、日程安排、待办清单 |
判断流程:
- 1. 提取消息中的关键词
- 匹配相关agents
- 如果匹配成功,标记为相关
- 最多响应3个相关agents(避免刷屏)
@mentions优先
规则:
- 1. 如果消息@了特定agents,只有被@的agents响应
- 未被@的agents保持沉默
- 除非消息同时是通用问候(大家好)
示例:
@CodeMaster @CEVA 协作完成用户系统
- - ✅ Code Master响应
- ✅ CEVA响应
- ❌ Juna保持沉默
- ❌ System Engineer保持沉默
- ❌ 102 Housekeeper保持沉默
@逻辑
规则:
- 1. 提取所有被@的agent名称
- 查询配置中的open_id
- 验证agent是否在当前群组中
- 返回有效agent列表
协作协调:
- - 第一个被@的agent作为主coordinator
- 其他被@的agents作为协作者
- 主coordinator需要汇总所有协作者的意见
协作流程
开始协作
主Coordinator:
- 1. 确认任务理解
- 分配子任务给协作者
- 设定协作模式(并行/串行)
- 跟踪进度
协作者:
- 1. 执行分配的子任务
- 定期汇报进度
- 关注其他协作者的意见
- 请求反馈或帮助
协作模式
并行协作
适用场景:独立任务(如不同模块开发)
@SystemEngineer @CodeMaster
System Engineer: 负责后端API设计
Code Master: 负责前端开发
串行协作
适用场景:依赖性任务(如架构评审后实现)
@SystemEngineer @CodeMaster @CEVA
System Engineer: 设计数据库架构
CEVA: 审计数据库安全
Code Master: 根据设计实现
任务分配
任务结构
json
{
taskId: task20260306001,
title: 用户管理系统开发,
description: 完整的用户管理系统,
coordinator: SystemEngineer,
collaborators: [CodeMaster, CEVA, 102Housekeeper],
status: in_progress,
mode: parallel,
subtasks: [
{
id: subtask_001,
title: 数据库设计,
assignee: SystemEngineer,
status: in_progress
},
{
id: subtask_002,
title: 后端API开发,
assignee