Files
AgentsMeeting/docs/KANBAN-HANDLER-PROTOCOL.md
T

99 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Kanban Handler Protocol v1
看板任务通知的跨 Agent 处理规范。定义 XMPP bot 收到看板通知后如何路由、处理、反馈。
---
## 1. 通知链路
```
Kanban Dashboard (5803)
│ 事件触发(create / assign / comment
├─ POST /api/kanban → 写 DB
└─ state_meta 写事件 + XMPP DM 通知目标 agent
└─ bot 收到 DM → 识别 [Kanban] 前缀
└─ 路由到 kanban-handler session
```
## 2. Session 路由规则
| 触发方式 | 路由目标 | 说明 |
|---------|---------|------|
| XMPP DM 通知(`[Kanban]` 开头) | `kanban-handler` 专用 session | 系统自动派卡,不打断当前对话 |
| 老爸在群/私信 @agent "把那张卡做了" | 当前 session | 人为指定上下文 |
| 老爸私信 "t_xxx 帮我看看" | 当前 session | 同上 |
**核心原则:专用 session 不猜路由。** handler session 不需要判断"这个 task 应该属于哪个活跃 session"。卡片 body 就是上下文,不够就去 API 拉。
## 3. Handler Session
每个 agent 维护一个名为 `kanban-handler` 的 session。这个 session
- **预载 kanban-handler skill**(见 skill 定义)
- **继承 agent 原有的 SOUL 和工具链**——不改身份,只加工作流
- **保持待命**,处理完一个通知后不退出
- **不做 DM 主动联系**,除非任务完成需要汇报
## 4. 事件处理流程
### 4.1 事件类型与动作
| 事件 | Agent 动作 |
|------|-----------|
| `card.assigned` | 拉详情 → 三叉判断(执行/追问/转派)→ 更新 |
| `card.commented` | 拉最新评论 → 判断是否需要回应 |
| `card.status_changed` | 只记录,不行动 |
### 4.2 三叉判断
```
收到 card.assigned
├─ A: 这是我的活,body 清晰
│ → 直接执行
│ → 评论结果 + 更新 status=done
│ → 分配类任务完成 → DM 汇报摘要
├─ B: 需要更多信息
│ → 评论卡片提问
│ → 更新 status=blocked
│ → 不 DM
└─ C: 不是我的领域
→ 评论说明原因
→ 转派给正确 agent(如果能判断)
→ 不 DM
```
### 4.3 汇报规则
- **分配类任务完成** → 简短 DM 给老爸摘要
- **评论类通知** → 不汇报
- **状态变更** → 不汇报
- **转派/追问** → 不汇报
## 5. 卡片上下文约定
卡片 `body` 应包含足够让 agent 独立执行的上下文。如果一张卡的 body 只写了标题没有详情,agent 的处理方式是:
```
Step 1: 读 body + 评论
Step 2: session_search("相关关键词") 查历史
Step 3: 仍然不够 → 评论追问,blocked
```
**卡片写得好 = handler 不需要猜。**
## 6. 加载方式
handler session 启动时自动预载 `kanban-handler` skill。不写进 SOUL,不修改 agent 身份定义,可独立版本迭代。
每个 agent 的部署者负责:
- 创建 skill 文件(或从仓库同步)
- 配置 bot 的 kanban 通知路由逻辑
- 验证 handler session 正常接收