> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trae.cn/llms.txt?lang=zh
> Use this file to discover all available pages before exploring further.

本文介绍 TraeCode CLI 2.0 支持的命令行参数及用法。

## 基本用法 {#habuWd8sV}

```Plain Text
traecli [选项] [PROMPT]              # 启动交互式 TUI（可直接带初始提示）
traecli [选项] <子命令> [参数]        # 运行某个子命令
```

* `traecli` — 启动交互式界面
* `traecli "帮我修复登录的 bug"` — 启动界面并发送一条初始提示
* `traecli exec "..."` — 非交互式（脚本 / CI）运行
* 大多数接受 `PROMPT` 的命令，当 `PROMPT` 省略或为 `-` 时会从标准输入读取

## 通用选项（交互式与 exec 共用） {#hal7bh5dv}

<!-- @cols-width: 364,549 -->
| **选项**  | **描述**  |
| --- | --- |
| `-m, --model <MODEL>`  | 指定使用的模型。  |
| `-i, --image <FILE>`  | 给初始提示附加图片（可逗号分隔多个）。  |
| `-p, --profile <NAME>`  | 使用 `traecli.toml` 里的某个配置 profile。  |
| `-s, --sandbox <MODE>`  | 沙箱策略：`read-only` / `workspace-write` / `danger-full-access`。  |
| `-a, --ask-for-approval <MODE>`  | 审批策略：`never` / `on-request` / `untrusted`。  |
| `--permission-mode <MODE>`  | 权限模式预设: `default` / `auto` / `bypass_permissions`。  |
| `-C, --cd <DIR>`  | 把指定目录作为工作根目录。  |
| `--add-dir <DIR>`  | 额外的可写目录（可多次指定）。  |
| `-y, --dangerously-bypass-approvals-and-sandbox`  | 跳过所有确认且不沙箱（别名 `--yolo`），极度危险，仅用于已被外部隔离的环境。  |

## 全局开关 {#hcEHn2EXM}

<!-- @cols-width: 389,522 -->
| **选项**  | **描述**  |
| --- | --- |
| `-c, --config <key=value>`  | 覆盖任意配置项，支持点号路径（如 `-c model="o3"`），可多次指定。  |
| `--enable <FEATURE>` / `--disable <FEATURE>`  | 开/关功能 flag，可多次。  |
| `-V, --version`  | 打印版本号。  |
| `-h, --help`  | 显示帮助。  |

## 交互模式专属选项 {#hQSWcY1ti}

<!-- @cols-width: 331,580 -->
| **选项**  | **描述**  |
| --- | --- |
| `-a, --ask-for-approval <POLICY>`  | 审批策略：`untrusted` / `on-failure` / `on-request` / `never`。  |
| `--search`  | 启用实时联网搜索（开启原生 web_search 工具，无需逐次审批）。  |
| `--no-alt-screen`  | 内联模式运行 TUI，保留终端滚动历史（不切到备用屏）。  |
| `--allowed-tool <TOOL>`  | 本会话允许某工具（可多次指定）。  |
| `--disallowed-tool <TOOL>`  | 本会话禁止某工具（可多次指定）。  |
| `-w, --worktree[=NAME]`  | 在全新 git worktree 中隔离运行。  |
| `--resume[=SESSION_ID]`  | 恢复本地会话；不带 ID 则自动恢复最近一次。  |
| `--remote <ADDR>`  | 连接远端 app server，如 `ws://host:port`。  |

## exec — 非交互式 {#hju3jNlEP}

```Plain Text
traecli exec [选项] [PROMPT]
```

除通用选项外，exec 还支持：

<!-- @cols-width: 425,490 -->
| **选项**  | **描述**  |
| --- | --- |
| `--json`  | 把事件以 JSONL 流式打印到 stdout。  |
| `-o, --output-last-message <FILE>`  | 把智能体最后一条消息写入文件。  |
| `--output-schema <FILE>`  | 用 JSON Schema 约束最终响应的结构。  |
| `--color <always|never|auto>`  | 输出着色。  |
| `--skip-git-repo-check`  | 允许在非 git 仓库中运行。  |
| `--ephemeral`  | 不把会话文件写入磁盘。  |
| `--ignore-user-config`  | 不加载用户的 traecli.toml。  |
| `--allowed-tool` / `--disallowed-tool`  | 同交互模式的工具允许/禁止。  |

示例：

```Bash
# 在 CI 里跑一次性任务，结果以 JSONL 输出
traecli exec --json --sandbox workspace-write "运行测试并修复失败用例"

# 从管道读取提示，并把最终答复写到文件
echo "总结这个仓库的架构" | traecli exec -o out.md
```

## review — 代码评审 {#hBlPDPSMl}

```Bash
traecli review --uncommitted
traecli review --base main
traecli review --commit <commit-sha>
```

<!-- @cols-width: 240,675 -->
| **选项**  | **描述**  |
| --- | --- |
| `--uncommitted`  | 评审已暂存 + 未暂存 + 未跟踪的改动。  |
| `--base <BRANCH>`  | 与某基线分支对比评审。  |
| `--commit <SHA>`  | 评审某次提交引入的改动。  |
| `[PROMPT]`  | 自定义评审指令（`-` 从 stdin 读取）。  |

## resume / fork — 恢复与复刻会话 {#hZll9cWDV}

```Bash
traecli resume [SESSION_ID] [--last] [--all]
traecli fork   [SESSION_ID] [--last] [--all]
```

* 不带 SESSION_ID 时默认弹出会话选择器；`--last` 直接恢复最近一次。
* `--all` 显示所有会话（关闭按当前目录过滤）。

## login / logout — 登录管理 {#hD09klQt1}

```Bash
traecli login            # 默认登录
traecli login --with-trae-pat  # PAT 登录
traecli login status     # 查看登录状态
traecli logout           # 退出登录
```

## update — 更新 {#hqDAtnbgj}

```Bash
traecli update                  # 安装最新版本
traecli update --version X.Y.Z  # 安装指定版本
traecli update check            # 仅检查是否有新版本
```

## 子命令总览 {#hxIbyZt8L}

<!-- @cols-width: 225,690 -->
| **子命令**  | **描述**  |
| --- | --- |
| `exec`  | 非交互式运行。  |
| `review`  | 非交互式代码评审。  |
| `resume`  | 恢复历史会话。  |
| `fork`  | 复刻历史会话。  |
| `login` / `logout`  | 登录管理。  |
| `update`  | 检查并安装更新。  |
| `mcp`  | 管理 MCP 服务器。  |
| `mcp-server`  | 以 MCP server（stdio）方式启动 CLI，供外部工具调用。  |
| `plugin`  | 管理插件。  |
| `acp`  | 以 ACP（Agent Client Protocol）server 运行，供外部客户端接入。  |
| `app-server`  | 运行 app server（远程连接）。  |
| `apply`  | 把最近生成的 diff 以 git apply 应用到工作区。  |
| `sandbox`  | 在沙箱里运行命令。  |
| `completion <shell>`  | 生成 shell 补全脚本。  |
| `doctor`  | 收集诊断信息。  |
| `features`  | 查看或开关功能 flag。  |
