Skip to content

plugin-todo-list — 任务计划 ​

包名: @aalis/plugin-todo-list
源码: packages/plugin-todo-list/src/index.ts
契约: api-todo-list(服务描述符 todoList、TodoItem、todo:updated 事件)

概述 ​

会话级待办事项管理工具,AI 在执行复杂任务时可创建和跟踪任务列表。配合子任务使用时,工具描述要求父会话把「创建子任务」「等待子任务完成」「整合结果」列为计划步骤,避免遗漏等待或丢失结果。

待办经 memory 服务的 metadata 接口持久化(namespace todo-list,key 为会话 ID)。memory 未装时不报错,但待办只存活于本次装载的内存缓存:插件卸载或重装即清空。

待办属于会话级短期上下文,以 context 类型参与 memory:clear:会话级清理(/clear 与删除会话)删除本会话的待办,全局清理(/clear all)删除全部会话的待办。

插件提供 todo-list 服务:get(sessionId) 读当前待办,clear(sessionId) 清空并发空清单的 todo:updated。会话服务用它给订阅的快照带上当前计划、执行 plan/clear;记忆摘要压缩时按它写工作模板的待办。服务不随 enabled 开关:工具关掉之后,之前留下的待办照样读得到、清得掉。

插件声明 ​

typescript
export default definePlugin({
  name: '@aalis/plugin-todo-list',
  displayName: '任务计划',
  subsystem: 'scheduler',
  provides: [todoList],
  uses: {
    tools: optional(tools),
    events,
    config,
    logger,
    provide,
    memory: optional(memory),
    hooks: optional(hooks),
  },
  apply(caps) { /* 见源码 */ },
});

配置 ​

字段类型默认值说明
enabledbooleantrue启用任务计划工具

注册工具 ​

工具说明
manage_todo_list以完整数组整体替换当前会话的待办列表(最多 50 项,标题不超过 120 字符),属于工具分组 todo

待办项状态 ​

状态说明
not-started尚未开始
in-progress进行中(工具描述要求模型同一时间只标一项,插件本身不强制)
completed已完成

事件 ​

事件载荷说明
todo:updated(sessionId: string, items: TodoItem[])manage_todo_list 写入、服务的 clear(会话协议的 plan/clear 经它)或 memory:clear 清理时触发(后两者 items 为 [],全局清理时每个被清的会话各触发一次)

事件声明在 api-todo-list。会话服务把它推成会话协议的 plan 条目。

配置校验 ​

enabled 显式写成非布尔值时会报配置错误,避免无效值把已关闭的工具意外启用。

文档对应 dev@c4e046e41,core 0.21.0,构建于 2026-11-02
基于 MIT 许可发布