# 任务栏目 (Column) 支持方案
## 1. 背景
在滴答清单的看板视图 (Kanban View) 项目中,任务被组织在不同的栏目 (Column) 中。目前 MCP 工具仅支持将任务添加到项目,默认进入第一个栏目。为了支持将任务添加到特定栏目(如 "Doing", "Done"),需要扩展 `create_task` 工具。
## 2. 逻辑流程
### 用户指令
用户希望将任务添加到特定栏目,例如:
> "在 '📚 学习' 项目的 '论文1' 栏目中创建一个新任务 '阅读文献'"
### 内部处理流程
```mermaid
graph TD
A[用户调用 create_task] -->|带参数 project_name, column_name| B(解析参数)
B --> C{是否有 column_name?}
C -->|否| D[按原有逻辑创建任务]
C -->|是| E[获取项目详情]
E --> F[GET /project/{projectId}/data]
F --> G[获取 Columns 列表]
G --> H[查找匹配的 columnId]
H --> I{找到 columnId?}
I -->|否| J[报错或使用默认栏目]
I -->|是| K[构造请求体]
K --> L[POST /task (带 columnId)]
L --> M[任务创建成功]
```
## 3. 数据结构
### Column 接口
```typescript
interface Column {
id: string;
projectId: string;
name: string;
sortOrder: number;
}
```
### API 交互
1. **获取栏目**: 通过 `GET /open/v1/project/{projectId}/data` 获取 `columns` 数组。
2. **创建任务**: 在 `POST /open/v1/task` 请求体中增加 `columnId` 字段。
## 4. 示例
### 请求
```json
{
"title": "阅读文献",
"projectId": "693294dde4b062be120bfdd2",
"columnId": "69548487ebcf7d000000008a" // 对应 "论文1"
}
```
### 响应
任务对象将包含 `columnId`,表明任务已正确创建在指定栏目。