> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoder.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 持续完成目标（Goal）

# 概述

Goal（目标）是 Qoder CLI 的一种自主执行方式。当你有一个明确的完成条件、希望 Qoder 持续工作直到达成时，用 Goal 最合适。设置目标后，Qoder 会把目标拆解成步骤并持续执行，尽量减少中途打扰，直到目标完成或你主动停止。

Goal 适合"把测试全部修绿""完成某个重构直到构建通过""按需求实现某个功能并自测通过"这类有清晰终点的任务。

# 设置目标

在交互式会话中，用 `/goal set` 创建目标：

```shell theme={null}
/goal set <目标描述>
```

例如：

```shell theme={null}
/goal set 修复所有失败的单元测试，直到 npm test 全部通过
```

设置目标后：

* Qoder 会开始朝目标持续工作，必要时把目标拆解成多个步骤。
* 权限模式会**自动切换到 `auto`** 并锁定 Shift+Tab 切换，以减少执行过程中的确认打扰。切换前的权限模式会被记录，在你清除或暂停目标时自动恢复。
* 界面会显示目标状态标识。

## 限制最大轮数

用 `--turns` 参数限制目标执行的最大对话轮数，达到上限后 Qoder 会停下来等待你的指示：

```shell theme={null}
/goal set 重构支付模块并保证测试通过 --turns 30
```

`--turns` 的值必须是正整数，否则该参数会被忽略。

# 查看目标状态

用 `/goal status` 查看当前目标的进展：

```shell theme={null}
/goal status
```

它会显示：

* **目标**：目标描述。
* **状态**：Active（进行中）、Paused（已暂停）或 TurnLimited（达到轮数上限）。
* **轮数**：已使用的轮数，如果设置了上限则显示为"已用 / 上限"。
* **时间**：目标已消耗的时间。

目标完成时会被自动清除，之后运行 `/goal status` 会提示当前没有活跃目标。

如果目标由另一个会话持有，状态里会提示，你可以用 `/goal take` 接管。

# 暂停与恢复

需要临时中断目标去处理别的事情时，用 `/goal pause` 暂停：

```shell theme={null}
/goal pause
```

暂停时，Qoder 会恢复到设置目标前的权限模式。之后用 `/goal resume` 继续：

```shell theme={null}
/goal resume
```

恢复时，Qoder 会重新进入自动化执行状态并继续朝目标工作。如果目标在暂停前处于 Plan 状态，恢复时也会一并恢复。

# 接管目标

目标可以跨会话持久化。如果一个目标是由另一个会话创建并持有的，当前会话默认不能直接更新它。用 `/goal take` 把目标的所有权认领到当前会话：

```shell theme={null}
/goal take
```

接管后，当前会话就成为目标的持有者，可以继续推进和更新它。

# 清除目标

目标完成，或你不再需要它时，用 `/goal clear` 清除：

```shell theme={null}
/goal clear
```

清除目标时，Qoder 会恢复到设置目标前的权限模式。

> 当 Qoder 判断目标已经达成时，也会自动把目标标记为完成并清除，无需你手动清除。

# 与 Plan 配合

Goal 可以和 Plan 配合使用：先用 Plan 分析问题、确认方案，再进入 Goal 让 Qoder 自主执行到完成。如果进入 Goal 前 Plan 处于激活状态，Qoder 在恢复目标时会重新进入 Plan 状态，保持一致的工作方式。

Plan 的详细说明见 [先规划再执行（Plan）](https://docs.qoder.com/zh/cli/03-使用QoderCLI/01-开始一个任务/plan.md)。

# 命令速览

| 命令 | 作用 |
| :- | :- |
| `/goal set <描述> [--turns <n>]` | 创建或更新目标，可选限制最大轮数 |
| `/goal status` | 查看当前目标状态 |
| `/goal pause` | 暂停当前目标 |
| `/goal resume` | 恢复已暂停的目标 |
| `/goal take` | 为当前会话接管目标所有权 |
| `/goal clear` | 清除当前目标 |

完整的命令参数说明见 Goal 命令参考。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.