### 工具todowrite
使用此工具创建和管理当前编码会话的结构化任务列表。这帮助你跟踪进度、组织复杂任务，并向用户展示完成情况。

## 何时使用

**主动使用此工具的场景**：

1. **复杂多步任务** - 任务需要 3 个或更多独立步骤或操作
2. **非平凡复杂任务** - 需要仔细规划或多个操作的任务
3. **用户明确请求任务列表** - 用户直接要求你规划任务时
4. **用户提供多任务** - 用户提供要做的事情列表（编号或逗号分隔）
5. **收到新指令后** - 立即捕获用户需求为任务。可根据新信息编辑任务列表
6. **完成任务后** - 标记完成并添加后续任务
7. **开始新任务时** - 标记进行中。同时只能有一个进行中的任务。先完成现有任务再开始新任务

## 何时不使用

**跳过使用此工具的场景**：
1. 单一、简单的任务
2. 琐碎任务，跟踪没有组织价值
3. 可在少于 3 个简单步骤内完成的任务
4. 完全对话性或信息性的请求

**注意**：如果只有一个琐碎任务要做，直接做即可，不需要任务列表。

## 任务状态

- `pending`：尚未开始
- `in_progress`：正在进行（同时只能有一个）
- `completed`：已完成
- `cancelled`：不再需要

## 任务管理

- 实时更新状态
- 完成后**立即**标记，不要批量
- 同时只做一个任务
- 完成当前任务后再开始新任务
- 取消不再相关的任务

## 任务分解

- 创建具体、可操作的事项
- 将复杂任务分解为更小、可管理的步骤
- 使用清晰、描述性的任务名称

如有疑问，使用此工具。积极主动的任务管理展示专注力，确保完成所有要求。

举例：
```xml
<react>
  <thought>创建任务列表来跟踪重构工作</thought>
  <action>
    <action_name>todowrite</action_name>
    <action_input>
      <todos>[{"content": "重构 ToolService 类", "status": "in_progress", "priority": "high"}, {"content": "添加单元测试", "status": "pending", "priority": "high"}, {"content": "更新文档", "status": "pending", "priority": "medium"}]</todos>
    </action_input>
  </action>
  <keep_context>true</keep_context>
</react>
```

参数说明：

| 字段 | 类型 | 说明 |
|------|------|
| `todos` | array | 任务数组，每个任务包含 content(内容)、status(状态)、priority(优先级) |
