# Agent 任务管理系统设计

> 创建日期：2026-03-18  
> 更新日期：2026-03-19  
> 参与者：比利哥（用户）、星枢（调度 Agent）

---

## 背景与目标

- 我（星枢）接收任务需求 → 写入 Notion 看板 → 执行 Agent 轮询领取 → 执行完成标记
- 全程可通过手机查看任务进度

---

## 系统架构

```
比利哥 → 星枢(规划确认) → Notion看板 → 云系Agent(轮询领取) → 标记完成
```

**测试范围**：先从云系 Agent（Ubuntu2）开始，星系暂不动。

---

## Notion 数据库结构

### 1. 任务数据库

| 字段 | 类型 | 说明 |
|------|------|------|
| 任务名 | Title | 任务标题 |
| 任务类型 | Relation → TaskTypes | 关联类型 |
| 状态 | Select | TODO / 进行中 / 待验收 / 完成 / 需修复 |
| 执行者 | Relation → Agents | 谁来执行 |
| 验收者 | Relation → Agents | 谁来验收 |
| 优先级 | Select | 1-5（1最高） |
| 依赖任务 | Relation | 关联同一数据库的任务（前置任务） |
| 验收标准 | Text | 可量化标准 |
| 报告链接 | URL | 指向 Obsidian 笔记 |

### 2. Agents 数据库

| 字段 | 类型 | 说明 |
|------|------|------|
| Agent ID | Title | 如 yunjiang |
| 名称 | Text | 如 云匠 |
| 服务器 | Select | Ubuntu2 / Ubuntu1 / Mac Mini |
| 角色 | Select | 云系 / 风系 / 星系 |
| 可执行任务类型 | Relation → TaskTypes | 多对多 |
| 状态 | Select | 在线 / 离线 |

### 3. TaskTypes 数据库

| 字段 | 类型 | 说明 |
|------|------|------|
| 类型名 | Title | 如 开发、运维、监控、CI/CD |
| 描述 | Text | 类型说明 |
| 适用 Agent | Relation → Agents | 多对多 |

---

## 工作流程

### 1. 任务创建（星枢执行）

1. 比利哥给需求
2. 星枢分析需求、拆分子任务、指定执行 Agent、定义验收标准
3. 输出任务列表，与比利哥确认
4. 确认后写入 Notion 看板

### 2. 任务执行（Agent 轮询）

**每个 Agent 定时轮询（3-5 分钟）**：

1. 查询条件：状态=TODO AND 执行者=我 AND (无依赖 OR 依赖任务.状态=完成)
2. 领取任务：状态→进行中
3. 执行完成：创建 Obsidian 报告 → 状态→待验收 → 填入报告链接

### 3. 任务验收

- **暂缓**：验收者、验收流程后续再定

---

## 关键设计决策

| 决策 | 说明 |
|------|------|
| 任务分配 | 直接指定执行 Agent，优先级驱动 |
| 依赖管理 | 通过 Relation 实现，支持多层级依赖 |
| 任务协作 | Agent 通过轮询感知依赖满足，被动触发（延迟分钟级） |
| 报告存储 | 任务完成后生成 Obsidian 笔记，链接回填 Notion |

---

## 待实现

- [ ] Notion Integration 配置（用户创建，提供 Token）
- [ ] 创建三个数据库（任务、Agents、TaskTypes）
- [ ] Notion API 集成（创建/查询/更新任务）
- [ ] 云系 Agent 配置 Heartbeat 轮询
- [ ] 验证任务获取流程

---

## 相关 Agent

| Agent | 服务器 | 角色 |
|-------|--------|------|
| yunjiang | Ubuntu2 | 云匠 / 开发 |
| yunzhi | Ubuntu2 | 云织 / CI/CD |
| yunhan | Ubuntu2 | 云瀚 / 监控 |
| yunce | Ubuntu2 | 云策 / 架构 |

---

## 备注

- 2026-03-18：初始设计
- 2026-03-19：补充数据库 Relation 设计、先从云系测试、验收后续再定
