目标系统
目标是跨会话持久存在的任务目标。它们为代理提供长期方向,并可以触发带有预算跟踪的自动续行运行。
目标生命周期
目标在以下状态之间流转:set(活跃目标)、paused(已暂停)、resumed(已恢复)、done(已完成)或 cancelled(已取消)。目标状态是持久化的——重启服务器不会丢失状态。
CLI 命令
# Set a new goal
jaw goal set "Migrate the auth module to JWT tokens"
# Check goal status
jaw goal status
# Pause the current goal
jaw goal pause
# Resume a paused goal
jaw goal resume
# Mark goal as done (this is an API call, not a CLI command)
jaw goal done
# Cancel the goal
jaw goal cancel
# Reset goal state
jaw goal reset
斜杠命令
| 命令 | 说明 |
|---|---|
/goal set <objective> | 设置新的目标 |
/goal status | 显示当前目标状态 |
/goal run start | 启动带预算跟踪的有界自动续行运行 |
/goal run stop | 停止当前目标运行 |
/goal pause | 暂停目标 |
/goal resume | 恢复已暂停的目标 |
/goal done | 将目标标记为已完成 |
/goal cancel | 取消目标 |
/goal clear | 清除目标状态 |
/goal reset | 完全重置 |
目标运行(自动续行)
/goal run start 命令启动一个有界的自动续行会话。代理朝着目标方向工作,每次响应后自动继续,直到目标被标记为完成或运行被停止。
预算限制目前仅用于跟踪。系统会跟踪运行时长和续行次数,但尚未强制执行硬性预算限制。
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/goal | 获取当前目标状态 |
| GET | /api/goal/history | 获取目标历史记录 |
| POST | /api/goal | 设置、更新、完成、取消、暂停或恢复目标 |
| GET | /api/goal-run | 获取当前目标运行状态 |
| GET | /api/goal-run/preflight | 启动运行前的预检查 |
| POST | /api/goal-run | 启动、暂停、恢复或停止目标运行 |
WebSocket 事件
目标生命周期变更会发出 WebSocket 事件,供 Web UI 消费:
goal_done-- 目标已完成goal_cancel-- 目标已取消goal_continuation-- 触发了自动续行goal_continuation_failed-- 续行尝试失败goal_continuation_limit-- 达到续行预算上限
目标与 PABCD 集成
目标与 PABCD 编排协同工作。您可以设置一个目标,然后使用 PABCD 阶段将其分解。在活跃的 PABCD 阶段中允许目标续行,因此代理可以在编排框架内继续处理目标驱动的任务。