Repository navigation
Goal
github-actions[bot] edited this page Oct 29, 2026
·
11 revisions
英文名:
goal· 领域:界面与交互 · 返回功能索引
平时 Claude 回答完一轮就停下来等你。有时你希望它一直做到某个结果为止,比如「所有测试通过」「lint 没有错误」。/goal 就是干这个的:
- 你用一句话写下完成条件;
- Claude 每次准备停下时,另一次模型调用读一遍对话记录,判断条件是否满足;
- 没满足:把「还差什么」告诉 Claude,让它继续;满足了:停下,并显示用了多久、几轮、多少 token。
1. 设定目标:
/goal all tests pass
Claude 开始工作。每轮结束时如果判断还没达成,会显示 Goal not yet met… continuing,然后自动继续:

为了防止死循环,连续 9 次没达成就强制结束本轮,并提示可用 CLAUDE_CODE_STOP_HOOK_BLOCK_CAP 调大上限。目标仍然保留,你补充信息后它会接着检查。
2. 达成时显示 ✔ Goal achieved,括号里是耗时、轮数和 token;按 ctrl+o 能看到判断依据(Reason: …,会引用对话里的证据):

3. 随时查看: 单独输入 /goal 打开状态视图,显示目标、状态、耗时、轮数、token 和最近一次检查的原因:

4. 提前取消: /goal clear。
❯ /goal clear
⎿ Goal cleared: make tests pass
判断只看对话记录,所以条件要能在记录里找到证据:
| 好的写法 | 不好的写法 |
|---|---|
all tests pass(测试输出会出现在记录里) |
the code is good(无法判断) |
bun test src/parser exits with 0 |
fix everything |
lint reports no errors |
deploy succeeds(如果 Claude 看不到部署结果) |
条件永远不可能满足时(例如要求的文件不存在),判断会返回「impossible」并停止。
-
恢复会话后目标还在:目标和检查状态写在会话记录里,
--resume/--continue后恢复。 -
Claude 也能自己设目标:通过
Goal工具(action: "set"/"clear"),效果相同。 -
底部状态:目标进行中,状态栏右侧显示
Goal is set;自定义状态栏脚本可以读goal.active(见 branding.md)。
| 命令 | 作用 |
|---|---|
/goal <条件> |
设定目标并开始 |
/goal |
查看状态 |
/goal clear |
取消目标 |
画面来自实际运行,模型回复和目标判断由测试用假 API 生成(FAKE_DONE;假判断器在对话里出现 GOALDONE 时判为达成)。
本页由 docs/features/goal.md 自动同步,请在仓库中修改。
- Agent SDK 与 stream-json 控制协议
- Agent Teams
- Agent 与后台任务
- 自动模式(Auto mode)
- 背景会话、daemon 与 agents 视图
- 自定义 UI / Branding 与 Status line
- 构建、发布与终端验收工具
- Channels
- Codex Apps
- 自动压缩窗口
- 调试日志
- /diff 视图
- Direct Connect
- Effort 档位
- 自主 Goal
- Hooks 事件、匹配与输出校验
- 快捷键与 Vim 模式
- MCP 配置与认证
- 记忆:auto memory 与 SQLite FTS5 检索
- 模型自动发现与 Gateway
- Mods 远程客户端(stream-json)
- Mods / Function Hooks
- Monitor 工具
- OpenAI / Codex provider
- 独立会话通信
- 权限规则、权限模式与 Safe mode
- 插件与 Marketplace
- Prompt context 与 Tool search
- 请求韧性:重试、回退模型与默认模型
- Bash 沙箱
- 定时任务:Cron、/loop 与 ScheduleWakeup
- 会话命令
- Skills
- SSH Remote
- 遥测与反馈
- 终端程序状态(OSC 7501)
- Terminal 工具
- 用量、成本与状态
- VS Code 插件
- Dynamic Workflow