目标
目标是附加到当前 OpenClaw 会话的一项持久目标。 它让智能体和操作员能够为长期工作设定共同目标, 而不会将该目标变成后台任务、提醒、定时任务或 长期指令。 目标属于会话状态:它们随会话键一起移动,可在进程 重启后保留,并显示在/goal、面向模型的目标工具以及 TUI
页脚中。
分离命令的完成结果会返回最初面向用户的线程,因此
即使命令执行使用了单独的沙箱策略会话,下一轮仍会看到
同一个目标。
快速开始
start 是可选的:/goal get CI green for PR 87469 也会创建目标,
因为 /goal 后面任何不是已知操作词的文本都会被视为
新目标。
目标的用途
当会话有一个应在多个轮次中始终可见的具体结果时, 可以使用目标:- PR 收尾:修复、验证、自动审查、推送,然后创建或更新 PR。
- 调试过程:复现错误、确定归属的功能面、应用补丁并 证明修复有效。
- 文档处理:阅读相关文档、编写新页面、添加交叉链接并 验证文档构建。
- 维护任务:检查当前状态、进行有界变更、运行 正确的检查,并报告变更内容。
命令参考
不带参数的/goal 会输出当前目标摘要:
每个会话同时只能存在一个目标。在清除当前目标之前,启动第二个目标会失败,
并显示
Goal error: goal already exists。
/goal start 不接受 Token 预算标志;预算只能通过
面向模型的 create_goal 工具设置。
状态
active:会话正在推进目标。paused:操作员暂停了目标;/goal resume会使其再次变为活跃状态。blocked:智能体或操作员报告了真实的阻塞因素;当有新信息或状态可用时,/goal resume会使其再次变为活跃状态。budget_limited:已达到配置的 Token 预算;/goal resume会使用新的预算窗口,从同一目标重新开始推进。usage_limited:为未来的用量限制停止状态保留;/goal resume会以相同方式重新开始推进。complete:目标已达成。已完成的目标是终止状态;开始另一个目标前请使用/goal clear。
/new 和 /reset 会清除当前会话目标,因为它们有意
从新的会话上下文开始。
Token 预算
目标可以设置可选的正数 Token 预算,通过create_goal 工具的 token_budget 参数进行设置。预算从
创建目标时会话的最新 Token 计数开始计算。如果目标启动时,会话只有
过期或未知的 Token 快照,OpenClaw 会等待下一个
最新快照并将其用作基线,因此目标存在之前消耗的 Token
不会计入其中。
当用量达到预算时,目标会转为 budget_limited。这
不会删除目标或清除目标内容;它会告知操作员和
智能体,在恢复或清除目标之前,不再主动推进该目标。
恢复目标会以当前最新 Token
计数为起点启动新的预算窗口。
Token 预算是会话目标的护栏,而不是计费上限。提供商
配额、费用报告和上下文窗口行为仍使用 OpenClaw 的常规
用量和模型控制。
模型工具
OpenClaw 向 Agent harnesses 提供三个目标工具:
模型不能在不作说明的情况下暂停、恢复、清除或替换目标。这些操作仍然是
操作员/会话通过
/goal 和重置命令执行的控制,因此智能体
可以报告目标已达成或存在真实阻塞,而不会悄然
改变目标。
仅当目标确实达成时,update_goal 才应将其标记为
complete。仅当同一阻塞条件至少连续出现
三个目标轮次后,才应将目标标记为 blocked,不能因为
一般困难或尚未完善而这样做。
每一轮中的目标上下文
每个具有活跃目标的用户/聊天轮次都会包含以下用户角色上下文行:Control UI
Web Control UI 会在聊天编辑器上方以紧凑胶囊形式显示目标: 包括状态图标、状态标签(例如Pursuing goal)、截断后的
目标内容和实时计时器。
胶囊包含内联控件:
- 铅笔会在编辑器中预填
/goal edit <objective>,以便 重新表述并提交目标。 - 暂停/恢复会根据当前状态在
/goal pause和/goal resume之间 切换。 - 垃圾桶会发送
/goal clear。 - 箭头会展开胶囊,显示完整目标、最新状态 说明、Token 用量和已用时间。
TUI
TUI 页脚会将活跃会话的目标显示在智能体、 会话和模型字段旁边,并置于 Token/模式指示器之前。 页脚示例:Pursuing goal (12k/50k)表示具有 Token 预算的活跃目标。Goal paused (/goal resume)表示已暂停的目标。Goal blocked (/goal resume)表示已阻塞的目标。Goal hit usage limits (/goal resume)表示用量受限的目标。Goal unmet (50k/50k)表示预算受限的目标。Goal achieved (42k)表示已完成的目标。
/goal 可查看完整目标、
说明、Token 预算和可用命令。
渠道行为
/goal 可在支持命令的 OpenClaw 会话中使用,包括 TUI 和
允许文本命令的聊天界面。目标状态附加到
会话键而非传输协议,因此共享同一会话键的两个界面会看到
同一个目标。
目标状态不是交付指令:它不会强制通过某个
渠道回复、改变队列行为、批准工具或安排工作。
故障排查
如果 Token 用量显示
0 或看起来已过期,活跃会话可能尚无
最新的 Token 快照。OpenClaw 记录会话用量
和根据对话记录得出的总量时,用量会随之刷新。