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

# 必备命令

> 如果你只记住一件事……

<div id="starting-devin-cli">
  ## 启动 Devin CLI
</div>

默认情况下，会话会在 REPL 中进行。REPL 是一种图形化终端界面，你可以在其中来回对话并观察 Devin 的操作。

```bash theme={null}
devin                            # 启动交互式 REPL（无提示）
devin -- your prompt here        # 启动带初始提示的 REPL
devin -p "prompt"                # 单轮模式，无 REPL：将响应输出到标准输出并退出
devin -p -- prompt words here    # 同上，使用 -- 分隔符（同样有效）
```

<Note>
  在提示前加上 `--`，这样它会被识别为提示，而不是子命令。
</Note>

<Tip>
  单轮模式 (`-p`) 非常适合脚本和自动化。
</Tip>

<Note>
  在提示输入框中键入 `@`，即可打开本地文件/目录的自动补全。选择一项后，会将其作为上下文添加到你的消息中。
</Note>

<Tip>
  你可以用 **Ctrl+V** 从剪贴板粘贴图片。附加的图片会显示在输入区域中，可使用 **左/右方向键** 切换，并用 **Backspace** 删除。
</Tip>

<div id="running-shell-commands">
  ## 运行 shell 命令
</div>

Devin 在工作过程中可能会运行 shell 命令。如果某个命令在默认等待时间过后仍未结束，Devin 会将其转入后台，并显示已等待的时长以及后台 shell ID。这样，Devin 就可以继续工作，并在稍后检查该命令的输出。

***

<div id="modes">
  ## 模式
</div>

Devin CLI 有 4 种内置权限模式：**Normal**、**Accept Edits**、**Bypass** 和 **Autonomous**，以及 3 种 Agent 模式：**Normal**、**Plan** 和 **Ask**。如需使用 Plan 和 Ask，请使用 `/plan` 和 `/ask`。

<AccordionGroup>
  <Accordion title="Normal" defaultOpen icon="robot">
    会自动批准当前目录内的只读工具，并在执行写入/执行操作时请求权限。

    ```bash theme={null}
    /normal
    # 或
    /mode normal
    ```

    这是默认模式。
  </Accordion>

  <Accordion title="Accept Edits" icon="check">
    会自动批准 `工作区` 内的文件编辑，但仍会对 shell 命令和其他操作进行提示。我们预计用户大多数时间都会使用这个模式。

    ```bash theme={null}
    /accept-edits
    # 或
    /mode accept-edits
    ```
  </Accordion>

  <Accordion title="Bypass" icon="bolt">
    <Warning>
      会自动批准**所有**工具调用，包括写入和 shell 命令。
    </Warning>

    ```bash theme={null}
    /bypass
    # 或
    /mode bypass
    ```

    你也可以以 bypass 模式启动：

    ```bash theme={null}
    devin --permission-mode bypass
    ```

    别名：`/yolo`、`/dangerous`

    <Note>
      Bypass 模式**绝不会**覆盖你的 Admin 通过 [团队设置](/zh/cli/enterprise/team-settings) 配置的组织级权限。由 Admin 强制执行的 deny 和 ask 规则**始终**优先。
    </Note>
  </Accordion>

  <Accordion title="Autonomous" icon="robot">
    大致相当于在当前 `工作区` 中使用 Accept Edits，并额外支持在 [OS-level 沙盒](/zh/cli/reference/configuration/config-file#sandbox) 内运行任意 shell 命令 (以限制这些命令实际能够访问的内容) 。

    ```bash theme={null}
    devin --sandbox --permission-mode autonomous
    ```

    使用 `--sandbox` 运行时，Autonomous 是**唯一**可用的权限模式，并会自动选中——Normal、Accept Edits 和 Bypass 会在 沙盒 session 中隐藏。

    在 Autonomous 模式下...

    * 系统会针对**能力而非命令**向你发出提示。
      * 命令会通过文件系统沙盒遵循 `Write` 和 `Read` 作用域。
      * 当命令尝试连接网络资源时，系统会提示你。
    * 当前目录内的只读操作会自动批准。

    <Note>
      Autonomous 依赖 沙盒 来保障安全。未启用 `--sandbox` 时，此模式不可用——如果你希望在没有 OS 级隔离的情况下进行无人值守执行，请使用 Bypass。有关直接对比，请参阅下方的 [Bypass vs Autonomous](#bypass-vs-autonomous)。
    </Note>
  </Accordion>
</AccordionGroup>

<div id="bypass-vs-autonomous">
  ### Bypass 与 Autonomous 的区别
</div>

Bypass 和 Autonomous 都能减少审批提示，但它们采用的安全机制不同：

|                                                   | Bypass      | Autonomous                                                               |
| ------------------------------------------------- | ----------- | ------------------------------------------------------------------------ |
| 需要 `--sandbox`                                    | 否           | 是 (仅在 沙盒 会话中可用)                                                          |
| Shell 命令                                          | 自动批准，不受限制   | 自动批准，但受 沙盒 约束                                                            |
| 通过 `edit`/`write` 工具写入文件                          | 在任何位置都会自动批准 | 仍会提示 (授予某个作用域会扩展 沙盒)                                                     |
| 网络访问                                              | 不受限制        | 受 沙盒 的[域名允许/拒绝列表](/zh/cli/reference/configuration/config-file#sandbox)过滤 |
| 遵循 Admin [团队设置](/zh/cli/enterprise/team-settings) | 是           | 是                                                                        |

当你信任 Agent 操作整台机器时，选择 Bypass。若你希望无人值守执行，同时由操作系统强制限制 Agent 可访问的文件和域名，请选择 `--sandbox` (这会启用 Autonomous) 。如果你喜欢 bypass 的使用体验，但又希望 Agent 拥有自己独立的电脑，不妨试试 cloud Devin！

<div id="session-history">
  ## 会话历史
</div>

你的对话历史会被保存，以便你稍后继续之前的会话。

```bash theme={null}
devin -c              # 继续当前目录中最近的会话
devin --continue

devin -r              # 从最近的会话中选择
devin --resume
devin -r brisk-otter  # 通过 ID 恢复指定会话
```

***

<div id="slash-commands">
  ## 斜杠命令
</div>

你可以在当前会话中使用这些命令。

<div id="navigation-control">
  ### 导航与控制
</div>

| 命令                 | 描述            |
| ------------------ | ------------- |
| `/help`            | 查看所有可用命令      |
| `/exit` or `/quit` | 退出应用          |
| `/clear` or `/new` | 清除对话历史 (重新开始) |

<Tip>
  你也可以直接输入 `exit` 或 `quit` 作为普通文本 (不带 `/` 前缀) 来退出。
</Tip>

<div id="mode-switching">
  ### 模式切换
</div>

| 命令                | 说明                                                                     |
| ----------------- | ---------------------------------------------------------------------- |
| `/mode`           | 显示当前模式                                                                 |
| `/mode <name>`    | 切换模式 (`normal`、`accept-edits`、`plan`、`bypass`；在沙盒会话中还可使用 `autonomous`) |
| `/normal`         | 切换到 Normal 模式 (默认)                                                     |
| `/plan`           | 切换到 Plan 模式                                                            |
| `/ask <question>` | 仅提问而不进行代码修改 (oneshot)                                                  |
| `/bypass`         | 切换到 Bypass 模式 (别名：`/yolo`、`/dangerous`)                                |

<div id="model-switching">
  ### 模型切换
</div>

| 命令       | 说明      |
| -------- | ------- |
| `/model` | 显示模型选择器 |

<div id="session-management">
  ### 会话管理
</div>

| 命令                 | 描述                                 |
| ------------------ | ---------------------------------- |
| `/resume`          | 打开交互式会话选择器                         |
| `/resume <id>`     | 按 ID 恢复会话                          |
| `/ls`              | 列出当前目录中最近的会话 (别名：`/list-sessions`) |
| `/ls --all`        | 列出所有目录中的会话                         |
| `/continue`        | 恢复最近一次会话                           |
| `/continue <id>`   | 按 ID 恢复会话                          |
| `/rm-session <id>` | 按 ID 永久删除会话                        |

<div id="workspace">
  ### 工作区
</div>

| 命令                     | 描述                         |
| ---------------------- | -------------------------- |
| `/workspace`           | 列出工作区目录 (别名：`/workspaces`) |
| `/add-dir <path>`      | 添加额外的工作区目录                 |
| `/undo-add-dir <path>` | 移除工作区目录                    |

<div id="automation">
  ### 自动化
</div>

| 命令               | 说明                                   |
| ---------------- | ------------------------------------ |
| `/loop <prompt>` | 运行提示，并循环自动审查 diff (开始前要求 git 处于干净状态) |

<div id="extensibility">
  ### 可扩展性
</div>

| 命令       | 说明                              |
| -------- | ------------------------------- |
| `/hooks` | 列出所有已加载的 hook，以及它们的 ID、事件类型和源路径 |

<div id="account-system">
  ### 账户与系统
</div>

| 命令         | 说明                    |
| ---------- | --------------------- |
| `/login`   | 登录 Devin              |
| `/logout`  | 清除已存储的凭据并退出           |
| `/update`  | 检查并安装更新               |
| `/upgrade` | 升级你的订阅套餐              |
| `/bug`     | 向 Devin CLI 开发者报告 bug |
| `/compact` | 强制压缩会话                |

<Note>
  如果你通过 Homebrew 安装了终端版 Devin，`/update` 会提示你改用 `brew upgrade devin`，而不是执行自更新。
</Note>

***

<div id="keyboard-shortcuts">
  ## 键盘快捷键
</div>

以下是最重要的键盘快捷键。更多快捷键请参见 [键盘快捷键](/zh/cli/reference/keyboard-shortcuts)。

| 快捷键                       | 描述                                                     |
| ------------------------- | ------------------------------------------------------ |
| `Shift+Tab`               | 在各模式间循环切换 (Normal、Accept Edits、Plan、Bypass、Autonomous) |
| `Ctrl+C`                  | 清除输入文本，或取消正在运行的 Agent                                  |
| `Esc`                     | 取消正在运行的 Agent                                          |
| `Shift+Enter`             | 插入换行 (多行输入)                                            |
| `Ctrl+V` 或 `Shift+Insert` | 从剪贴板粘贴                                                 |
| `Ctrl+G`                  | 打开外部编辑器                                                |
| `Ctrl+O`                  | 打开全屏思考轨迹查看器                                            |
| `@`                       | 提及文件，将其添加到上下文中                                         |
