待办系统
概述
两种互补的待办能力:
| 系统 | 位置 | 触发方式 |
|---|---|---|
| AI 智能体待办 | 对话面板组件 | AI 在对话过程中调用 manage_todo_list 工具 |
| 独立待办 | Bug/TODO 弹窗 | 从统计栏手动添加 |
AI 智能体待办组件
当 AI 智能体调用 manage_todo_list 工具时,待办列表会以内联组件的形式出现在聊天消息与输入区之间:
┌─ 📋 Todo List 1/3 [Clear] ────────┐
│ 🔄 Analyze issue (in-progress) │
│ ✅ Edit config file (completed) │
│ ⬜ Write unit tests (not-started) │
└────────────────────────────────────┘
工作原理
- AI 决定跟踪任务 → 调用
manage_todo_list工具调用 - 后端
executeManageTodoList()更新会话的todos[],并发出__TODO_UPDATE__前缀 - 处理器转换为
todosSSE 事件 → 前端渲染组件 - 待办列表持久化到会话 JSON(
todos字段) - AI 每次发送完整列表来添加、更新状态和移除条目
待办状态
| 状态 | 图标 | 含义 |
|---|---|---|
not-started | ⬜ | 待处理 |
in-progress | 🔄 | 正在进行(允许多个) |
completed | ✅ | 已完成 |
组件操作
- Clear 按钮——移除所有待办(智能体运行期间禁用)
- 进度计数——
已完成/总数格式 - 自动刷新——每次 AI 工具调用时自动更新
- 折叠开关——显示/隐藏待办列表
- 双击编辑——点击标题或内容即可内联编辑待办
- 状态图标——每种状态对应 SVG 图标(☐/🔄/✅)
独立待办面板
点击统计栏中的 Known Bugs / TODO 卡片打开独立面板。左栏:Bug 列表,右栏:TODO 列表。写入操作需要登录。
内联编辑
双击任意待办标题或内容即可内联编辑。按 Enter 保存,Esc 取消。后端 PUT /api/todos/:id 支持同时更新 title 和 content 字段。
排序
待办按 created_at 降序排列:未解决项在前,已完成项在后。