> ## 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="usage">
  ## 用法
</div>

```bash theme={null}
devin [OPTIONS] [prompt]
```

传入可选的提示，即可用一条初始消息开启会话；也可以不带任何参数，以交互方式启动。

你也可以在终端中通过 `man devin` 查看这些说明。

***

<div id="global-flags">
  ## 全局参数
</div>

| Flag                        | Short | Description                               |
| --------------------------- | ----- | ----------------------------------------- |
| `--model <MODEL>`           |       | 为当前会话设置 AI 模型                             |
| `--permission-mode <MODE>`  |       | 权限模式 (`normal`、`dangerous`、`bypass`)      |
| `--continue`                | `-c`  | 在当前目录中恢复最近一次会话                            |
| `--resume <SESSION_ID>`     | `-r`  | 按 ID 恢复指定会话                               |
| `--print [PROMPT]`          | `-p`  | 输出响应并退出 (非交互模式) 。可选接收内联提示。                |
| `--prompt-file <FILE>`      |       | 从文件中加载初始提示                                |
| `--config <PATH>`           |       | 配置文件路径                                    |
| `--export [PATH]`           |       | 每轮交互后将对话导出到文件 (ATIF 格式) 。如果未提供路径，则使用默认路径。 |
| `--respect-workspace-trust` |       | 是否遵循工作区信任设置                               |

**示例：**

```bash theme={null}
devin -- add a login page
devin --model opus -- refactor the auth module
devin -c                              # 恢复上一个会话
devin -r abc12345                     # 恢复指定会话
devin -p "list all TODO comments"    # 打印响应并退出
devin -p -- list all TODO comments    # 同上，使用 -- 分隔符（同样有效）
devin --export -- fix the tests       # 将对话导出至默认路径
devin --export out.json -- fix tests   # 导出至指定文件
```

***

<div id="subcommands">
  ## 子命令
</div>

<div id="devin-auth">
  ### devin auth
</div>

与身份验证相关的命令。

| 命令                  | 描述          |
| ------------------- | ----------- |
| `devin auth login`  | 登录你的账户      |
| `devin auth logout` | 登出并删除已存储的凭据 |
| `devin auth status` | 查看身份验证状态    |

**`devin auth login` 的选项：**

* `--force-manual-token-flow` — 跳过基于浏览器的身份验证，手动粘贴令牌 (对远程/SSH 会话 很有用)

<div id="devin-mcp">
  ### devin mcp
</div>

连接到 Model Context Protocol 服务器并登录。

| 命令                         | 说明                       |
| -------------------------- | ------------------------ |
| `devin mcp add <name>`     | 添加新的 MCP 服务器             |
| `devin mcp list`           | 列出所有已配置的 MCP 服务器         |
| `devin mcp get <name>`     | 显示特定 MCP 服务器的详细信息        |
| `devin mcp remove <name>`  | 移除已配置的 MCP 服务器           |
| `devin mcp login <name>`   | 通过 OAuth 对 MCP 服务器进行身份验证 |
| `devin mcp logout <name>`  | 删除为 MCP 服务器存储的 OAuth 凭据  |
| `devin mcp enable <name>`  | 启用已禁用的 MCP 服务器           |
| `devin mcp disable <name>` | 禁用 MCP 服务器而不将其移除         |

**`devin mcp add` 的选项：**

* `-t, --transport <stdio|http>` — 传输类型 (可选；根据 URL 推断为 http，根据后续参数推断为 stdio)
* `-s, --scope <local|project|user>` — 配置作用域 (默认：`local`)
* `--url <URL>` — HTTP 传输使用的 URL (也可作为名称后的位置参数传入)
* `--command <CMD>` — stdio 传输使用的命令 (提供后续参数时可省略)
* `-e, --env <KEY=VALUE>` — 环境变量 (可重复)
* `-H, --header <HEADER: VALUE>` — HTTP 标头 (可重复)
* `--scopes <SCOPE,SCOPE>` — 要请求的 OAuth 作用域 (逗号分隔)
* `<URL>` — HTTP 的位置 URL 参数 (可替代 `--url`)
* `-- <COMMAND> [ARGS...]` — stdio 的命令及参数 (省略 `--command` 时，第一个参数为命令)

<Note>
  HTTP 服务器会先尝试 Streamable HTTP，在出现 4xx 错误时回退到旧版 SSE (根据 [MCP 规范](https://spec.modelcontextprotocol.io/specification/2025-03-26/basic/transports/#backwards-compatibility)) 。你也可以显式设置 `"transport": "sse"`。请参阅 [MCP 配置 → 故障排查](/zh/cli/extensibility/mcp/configuration#troubleshooting)。
</Note>

**示例：**

```bash theme={null}
# stdio 服务器
devin mcp add my-server -- npx @company/mcp-server --port 3000

# HTTP 服务器（位置参数 URL）
devin mcp add notion https://mcp.notion.com/mcp
devin mcp add --transport http datadog-mcp https://mcp.datadoghq.com/api/unstable/mcp-server/mcp

# HTTP 服务器（--url 标志，同样适用）
devin mcp add notion --url https://mcp.notion.com/mcp

# 使用环境变量和作用域
devin mcp add -e GITHUB_TOKEN=ghp_xxx github -- npx -y @modelcontextprotocol/server-github
devin mcp add -s project sentry https://mcp.sentry.dev/mcp
```

**`devin mcp remove` 的选项：**

* `-s, --scope <local|project|user>` — 配置作用域 (默认值：`local`)

**`devin mcp login` 的选项：**

* `--scopes <SCOPE,SCOPE>` — 要请求的 OAuth 作用域 (以逗号分隔)

**`devin mcp enable` 的选项：**

* `-s, --scope <local|project|user>` — 配置作用域 (默认值：`local`)

**`devin mcp disable` 的选项：**

* `-s, --scope <local|project|user>` — 配置作用域 (默认值：`local`)

详见 [MCP 配置](/zh/cli/extensibility/mcp/configuration)。

<div id="devin-rules">
  ### devin rules
</div>

管理 Agent 规则 (始终生效的上下文块) 。

| 命令                        | 说明          |
| ------------------------- | ----------- |
| `devin rules list`        | 列出所有可用规则    |
| `devin rules show <name>` | 显示特定规则的详细信息 |
| `devin rules paths`       | 显示规则目录的位置   |

**`devin rules list` 的选项：**

* `--provider <cursor\|windsurf>` — 按规则提供方筛选

详见 [规则](/zh/cli/extensibility/rules)。

<div id="devin-skills">
  ### devin skills
</div>

管理 Agent 技能 (斜杠命令和由 Agent 触发的上下文数据块) 。

| 命令                         | 说明          |
| -------------------------- | ----------- |
| `devin skills list`        | 列出所有可用的技能   |
| `devin skills show <name>` | 显示指定技能的详细信息 |
| `devin skills paths`       | 显示技能目录的位置   |

**`devin skills list` 的选项：**

* `--trigger <user\|model>` — 按触发类型筛选

详见 [Skills](/zh/cli/extensibility/skills/overview)。

<div id="devin-list">
  ### devin list
</div>

列出当前目录中的会话。别名：`devin ls`

| 命令                         | 描述            |
| -------------------------- | ------------- |
| `devin list`               | 交互式会话选择器 (默认) |
| `devin list --format json` | 以 JSON 格式输出会话 |
| `devin list --format csv`  | 以 CSV 格式输出会话  |

<div id="devin-version">
  ### devin version
</div>

输出当前版本并退出。

```bash theme={null}
devin version
```

这相当于 `devin --version`。

<div id="devin-acp">
  ### devin acp
</div>

通过 stdio 将 Devin 作为 [Agent Client Protocol (ACP)](https://agentclientprotocol.com/) server 运行。此子命令供支持 ACP 的编辑器或 IDE (如 Windsurf 或 Zed) 以子进程方式调用——它通过 stdin/stdout 使用 JSON-RPC 通信，不适合交互式运行。

```bash theme={null}
devin acp
```

ACP 服务器会在已设置 `WINDSURF_API_KEY` 时从中读取凭据，否则会从 `devin auth login` 存储的凭据中读取。它也可以在运行时通过 ACP 的 `authenticate` 请求接收凭据。

<div id="devin-update">
  ### devin update
</div>

检查更新，并可选择安装更新。

```bash theme={null}
devin update
```

即使已经是最新版本，也可使用 `--force` 重新安装：

```bash theme={null}
devin update --force
```

<div id="devin-shell">
  ### devin shell
</div>

\[功能预览] Shell 集成命令。完整信息请参阅 [Shell 集成](/zh/cli/shell-integration)。

| 命令                          | 描述                                    |
| --------------------------- | ------------------------------------- |
| `devin shell setup`         | 将 Shell 集成安装到你的 shell 配置文件中           |
| `devin shell setup <shell>` | 为指定的 shell 安装 (`bash`、`zsh` 或 `fish`) |

<div id="devin-sandbox">
  ### devin sandbox
</div>

\[研究预览版] 管理 exec 工具的操作系统级进程沙盒隔离。传入全局 `--sandbox` 开关，即可在强制启用沙盒的情况下运行会话。

<div id="devin-sandbox-setup">
  #### devin sandbox setup
</div>

显示当前平台的沙盒前置要求。

使用 `--sandbox` 运行时的要求：

* **Linux**：需要 bubblewrap (`bwrap`) 和 `socat`。如果缺少任一项，沙盒会话将无法启动，并显示安装指示——即使是在全新的 WSL 发行版中也是如此。
* **macOS**：通过 Seatbelt 开箱即用；无需额外软件包。
* **Windows**：原生 Windows 无法运行沙盒。请[安装 WSL 2](https://learn.microsoft.com/windows/wsl/install)，并在 WSL 发行版中运行 Devin。

```bash theme={null}
devin sandbox setup
```

<div id="devin-setup">
  ### devin setup
</div>

用于身份验证和配置 MCP 的交互式设置向导。

```bash theme={null}
devin setup
devin setup --force-manual-token-flow  # 适用于远程/SSH 会话
```

<div id="devin-uninstall">
  ### devin uninstall
</div>

卸载 Devin CLI，并可选择删除所有数据。

| 选项        | 说明                     |
| --------- | ---------------------- |
| `--clean` | 删除所有数据，包括配置、历史记录和自定义数据 |
| `--force` | 跳过确认提示                 |

***

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

这些命令可在交互式会话中使用。请在提示符处输入。

<div id="mode-model">
  ### 模式与模型
</div>

| 命令                                                              | 说明                                   |
| --------------------------------------------------------------- | ------------------------------------ |
| `/mode [normal\|accept-edits\|plan\|bypass]`                    | 显示或切换当前模式 (`autonomous` 可用于沙盒会话)     |
| `/normal`                                                       | 切换到 Normal 模式 (默认)                   |
| `/accept-edits`                                                 | 切换到 Accept Edits 模式 (自动批准对工作区中文件的编辑) |
| `/plan`                                                         | 切换到 Plan mode (只读规划)                 |
| `/ask <question>`                                               | 在不进行代码修改的情况下提问 (单次)                  |
| `/bypass`                                                       | 切换到 Bypass 模式 (自动批准所有操作)             |
| `/model [name]`                                                 | 显示或更改当前模型                            |
| `/fast`                                                         | 切换到 SWE-1.6 Fast                     |
| `/theme [dark\|light\|terminal-dark\|terminal-light\|no-color]` | 在各主题间切换 (深色、浅色、终端深色、终端浅色、无颜色)        |

<Note>
  `/bypass` 的别名有 `/yolo` 和 `/dangerous`，三者作用相同。
</Note>

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

| 命令                            | 说明                                                        |
| ----------------------------- | --------------------------------------------------------- |
| `/clear`                      | 清空对话历史并开始新会话。别名：`/new`                                    |
| `/continue [session-id]`      | 继续之前的会话                                                   |
| `/fork [step]`                | 从当前会话派生一个新会话。也可选择从特定步骤派生 (见 `/steps`) 。                   |
| `/steps`                      | 列出对话步骤 (与 `/fork` 和 `/revert` 搭配使用)                       |
| `/revert <step>`              | 回退从特定步骤开始的文件更改，并将对话退回到该步骤之前                               |
| `/resume [session-id]`        | 打开交互式会话选择器，或按 ID 恢复指定会话                                   |
| `/ls [--all]`                 | 列出最近的会话 (默认仅显示当前目录) 。别名：`/list-sessions`                  |
| `/rename-session <new title>` | 重命名当前会话                                                   |
| `/rm-session <session-id>`    | 永久删除某个会话及其所有数据，此操作不可撤销                                    |
| `/export`                     | 显示导出信息。使用 `--export` CLI 标志启用对话导出。                        |
| `/exit`                       | 退出应用程序 (别名：`/quit`) 。你也可以直接输入 `exit` 或 `quit`，无需加 `/` 前缀。 |

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

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

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

| 命令               | 说明                                                            |
| ---------------- | ------------------------------------------------------------- |
| `/loop <prompt>` | 运行提示，然后循环自动审查 diff                                            |
| `/btw <prompt>`  | 提一个简短的题外问题。它会利用当前对话上下文运行一个 sidechain，并将答案显示在框中，同时不会把该问题加入主对话。 |

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

| 命令       | 描述                            |
| -------- | ----------------------------- |
| `/hooks` | 列出所有已加载的 hook，包括其 ID、事件类型和源路径 |

<div id="utilities">
  ### 实用命令
</div>

| 命令                   | 描述                                        |
| -------------------- | ----------------------------------------- |
| `/help`              | 显示可用的斜杠命令                                 |
| `/shortcuts`         | 在按类别分组的交互式可搜索列表中浏览键盘快捷键                   |
| `/bug [description]` | 向 Devin CLI 开发者报告 bug                     |
| `/update [--force]`  | 检查并安装更新。传入 `--force` 后，即使当前已是最新版本，也会重新安装。 |
| `/upgrade`           | 升级你的订阅套餐                                  |
| `/login`             | 使用你的账户登录                                  |
| `/logout`            | 清除已存储的凭据并退出                               |
| `/context`           | 显示上下文窗口用量                                 |
| `/usage`             | 显示该会话预估的 credit/ACU 用量，包括恢复会话此前打开时产生的用量   |
| `/compact`           | 强制压缩会话                                    |

<div id="cloud-sessions-insiders-only">
  ### 云端会话 (仅限 insiders)
</div>

| Command                      | Description                                                                               |
| ---------------------------- | ----------------------------------------------------------------------------------------- |
| `/cloud-sessions [--all]`    | 打开一个交互式选择器，列出你最近的云端 Devin 会话。使用方向键移动，输入以筛选，按 Enter 可附加，按 Esc 取消。传入 `--all` 可查看整个组织范围内的会话。 |
| `/cloud-attach <session-id>` | 附加到一个云端 Devin 会话，并提供完整的 TUI 渲染和双向输入。                                                      |

***

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

模式通过将权限模式与 Agent Profile 组合起来，控制 Agent 的自主程度。

<Tabs>
  <Tab title="Normal（默认）">
    为复杂编码任务提供完全自主能力。Agent 可以在常规权限检查下读取、写入并执行命令。

    * **Permission mode:** Normal
    * **Profile:** Normal
    * **Use for:** 多文件重构、功能实现、bug 修复
  </Tab>

  <Tab title="套餐">
    仅用于规划——Agent 会提出变更建议，但不会实际执行。只读工具访问可确保不会修改任何代码。

    * **Permission mode:** Normal
    * **Profile:** 套餐 (只读工具)
    * **Use for:** 架构设计、理解代码库、实施前规划
  </Tab>

  <Tab title="Bypass">
    所有权限提示都会自动批准。Agent 可直接执行，无需请求确认。

    * **Permission mode:** 危险
    * **Profile:** Normal
    * **Use for:** 适用于你信任且不希望中断拖慢进度的任务

    <Warning>
      仅在你完全信任任务时使用 Bypass 模式。所有工具调用 (包括破坏性命令) 都会自动批准。
    </Warning>
  </Tab>
</Tabs>

使用 `/mode` 在不同模式间切换，或者直接使用 `/normal`、`/accept-edits`、`/plan` 或 `/bypass` 切换。使用 `/ask <question>` 作为一次性命令提问，而无需切换模式。

***

<div id="profiles">
  ## Profiles
</div>

Profile 决定 Agent 可使用的工具及其行为。切换模式时，Profile 会自动设置。

| Profile  | 描述                                           | 工具访问权限                                                          |
| -------- | -------------------------------------------- | --------------------------------------------------------------- |
| `normal` | 完整的编码助手 (用于 Normal、Accept Edits 和 Bypass 模式) | 所有工具                                                            |
| `plan`   | 结构化规划工作流程 (用于 套餐 模式)                         | 只读工具 (grep、glob、read、todo、ask\_user\_question、exit\_plan\_mode) |
| `ask`    | 问答 (用于 `/ask` 命令)                            | 只读工具 (grep、glob、read、todo、ask\_user\_question)                  |
