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 派发)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
本阶段是后续所有真实任务操作的基础。
|