创建任务 (TODO)
标题 / 描述 / 优先级 / 标签 / baseBranch
点击「执行」
startPtyExecution()
创建 TaskExecution (PENDING → RUNNING)
Task: TODO → IN_PROGRESS
创建 Git Worktree (如有 baseBranch)
加载 CliProfile · 注入 TOWER_TASK_ID
创建 PTY 会话 (session-store)
运行中 (IN_PROGRESS)
Claude CLI 在终端运行 · 用户可交互输入
WebSocket 中继 I/O → xterm.js 实时显示
SessionStart Hook → 上报 sessionId
PostToolUse Hook → 捕获文件变更
exitCode?
进程退出
!= 0 重试
== 0 成功
评审阶段 (IN_REVIEW)
生成小总结 + Dreaming 洞察
查看 Diff (worktree vs base branch)
DONE ✓
合并 · 清理 Worktree
重新执行
CANCELLED
恢复执行
--resume sessionId
--continue (最近会话)
执行流程
创建→执行→运行→退出→评审→完成
自动化
Worktree 自动创建
环境变量注入 · Hook 捕获 sessionId
恢复机制
--resume 恢复指定会话
--continue 继续最近会话
TODO
IN_PROGRESS
IN_REVIEW
DONE
CANCELLED
Tower Task Lifecycle · 5 Status States