Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
112 lines
2.5 KiB
Markdown
112 lines
2.5 KiB
Markdown
# Phase TS-1:业务任务模型扩展
|
||
|
||
日期:2026-04-08
|
||
状态:待实施
|
||
|
||
---
|
||
|
||
## 1. 阶段目标
|
||
|
||
补齐业务级 Task / SubTask / 分配 / 派发字段,为 Today Status、Schedule Center、Chat 创建、Commander 派发提供统一的数据主模型。
|
||
|
||
本阶段重点是“把业务模型补齐”,而不是直接接 commander runtime。
|
||
|
||
---
|
||
|
||
## 2. 详细任务
|
||
|
||
### 2.1 扩展 Task 模型
|
||
|
||
**文件**:
|
||
- `backend/app/models/task.py`
|
||
- `backend/app/schemas/task.py`
|
||
|
||
建议新增字段:
|
||
- `source`
|
||
- `conversation_id`
|
||
- `quadrant`
|
||
- `assignee_type`
|
||
- `assignee_id`
|
||
- `dispatch_status`
|
||
- `dispatch_run_id`
|
||
- `result_summary`
|
||
- `started_at`
|
||
- `last_synced_at`
|
||
|
||
### 2.2 新增业务级 TaskSubTask
|
||
|
||
**文件**:
|
||
- 新增 TaskSubTask 模型文件或在任务模型模块中补充
|
||
- `backend/app/schemas/task.py`
|
||
|
||
建议字段:
|
||
- `task_id`
|
||
- `title`
|
||
- `description`
|
||
- `status`
|
||
- `order_index`
|
||
- `assignee_type`
|
||
- `assignee_id`
|
||
- `dispatch_status`
|
||
- `dispatch_run_id`
|
||
- `completed_at`
|
||
|
||
### 2.3 扩展 TaskHistory 语义
|
||
|
||
建议新增 action:
|
||
- `created_from_chat`
|
||
- `assigned`
|
||
- `subtask_created`
|
||
- `subtask_reordered`
|
||
- `dispatched_to_commander`
|
||
- `dispatch_status_changed`
|
||
|
||
### 2.4 设计 migration
|
||
|
||
需要新增 migration,确保:
|
||
- 旧 task 可兼容新字段
|
||
- 新 subtasks 表可按 task_id 关联
|
||
- 必要索引可支撑按日期 / 象限 / assignee / dispatch 状态查询
|
||
|
||
---
|
||
|
||
## 3. 设计原则
|
||
|
||
1. **业务 task 与 runtime task 分层**
|
||
- 不能直接把 runtime 的 `owner_agent_id / parent_task_id` 作为业务主模型。
|
||
2. **SubTask 必须是业务实体**
|
||
- 不能继续停留在前端本地数组。
|
||
3. **先支持显式字段,再做自动推导**
|
||
- `quadrant`、`assignee_type` 等优先用显式字段,不做复杂推断。
|
||
|
||
---
|
||
|
||
## 4. 核心文件清单
|
||
|
||
| 文件 | 操作 | 说明 |
|
||
|------|------|------|
|
||
| `backend/app/models/task.py` | 修改 | 扩展 Task 字段 |
|
||
| `backend/app/schemas/task.py` | 修改 | 扩展 TaskCreate/TaskUpdate/TaskOut/SubTask schema |
|
||
| migration 文件 | 新增 | 数据库结构迁移 |
|
||
|
||
---
|
||
|
||
## 5. 验收标准
|
||
|
||
- [ ] Task 可表达来源、象限、分配对象、派发状态
|
||
- [ ] 有独立的业务级 SubTask 模型
|
||
- [ ] TaskHistory 能记录关键业务动作
|
||
- [ ] migration 方案清晰且可兼容旧数据
|
||
|
||
---
|
||
|
||
## 6. 依赖关系
|
||
|
||
```text
|
||
本阶段 → Phase TS-2(API)
|
||
→ Phase TS-4(详情编辑器)
|
||
→ Phase TS-5(Commander 派发)
|
||
```
|
||
|
||
本阶段是后续所有真实任务操作的基础。
|