Plan 任务计划

wescode 内置 Plan 系统,帮助 AI 将复杂任务分解为可追踪的步骤。


什么是 Plan

Plan 是 AI 用来组织多步任务的线性清单。当用户提出复杂需求时,AI 会创建一个 Plan 来跟踪进度。

基本流程

用户:"重构 UserService,拆分成独立模块"

AI 创建 Plan:
  □ 分析现有 UserService 结构
  □ 设计新的模块划分方案
  □ 创建新文件和接口
  □ 迁移代码到新模块
  □ 更新所有调用方
  □ 运行测试确认无回归
  □ 清理旧代码

Plan 状态

生命周期

planning → active → completed / terminated
状态含义
planning正在制定计划
active正在执行步骤
completed所有步骤完成
terminated异常终止(中断/预算用尽)

步骤状态

状态含义
pending等待执行
in_progress正在执行
done已完成
skipped已跳过

Plan 工具

创建计划

plan(action=create, steps=[
  "分析现有代码结构",
  "设计新的模块划分",
  "创建文件并迁移代码",
  "更新调用方",
  "运行测试",
  "清理旧代码"
])

更新步骤

plan(action=update, task_id=0, status=done)
plan(action=update, task_id=1, status=in_progress)

完成计划

plan(action=complete)

前端展示

Plan 面板

在 Chat 面板中查看 Plan 进度:

状态图标

图标含义
○待执行
◉执行中
●已完成
⊘已跳过

Plan 与 Run 的关系

Plan 不终止 Run

plan(action=complete) 标记计划完成,但 不会终止 当前 Run。AI 可以在完成计划后继续工作。

异常终止

当 Run 异常终止时,Plan 会被标记为 terminated:

终止原因Plan 行为
用户中断terminated (run_interrupted)
预算用尽terminated (budget_exhausted)
循环检测terminated (cycle_detected)
引擎错误terminated (各种错误码)

Nudge 机制

Run 准备结束但还有待执行步骤时:

  1. AI 收到提醒(最多 3 次)
  2. 提醒包含待执行步骤列表
  3. 3 次提醒后仍未完成 → Run 正常终止,步骤保留原状

Plan 持久化

保存位置

Plan 作为 SessionState 的子字段持久化:

~/Library/Application Support/wescode/
  cells/ws-{hash}/
    .plans/           ← Plan artifact
    state.db          ← Plan 状态

跨会话恢复


使用场景

适合使用 Plan 的任务

场景示例
大型重构拆分模块、迁移架构
新功能开发多文件多步骤实现
Bug 调查系统性排查步骤
代码审查逐模块审查清单
项目初始化搭建项目骨架

不需要 Plan 的任务


高级特性

委派与 Plan

使用 delegate_task 时,子 Agent 可以有自己的 Plan:

主 Plan:重构数据层
  1. ✓ 分析现有结构
  2. → 委派:重构 UserRepository(子 Agent Plan)
  3. → 委派:重构 OrderRepository(子 Agent Plan)
  4. □ 整合测试

Plan 与 QualityGate

done 状态的步骤会触发验证:


注意事项