--- title: TUI description: 使用 OpenCode 终端用户界面。 --- import { Tabs, TabItem } from "@astrojs/starlight/components" OpenCode 提供交互式终端介面或 TUI,以便使用 LLM 处理您的专案。 执行OpenCode启动当前目录的TUI。 ```bash opencode ``` 或者您可以為特定的工作目錄啟動它。 ```bash opencode /path/to/project ``` 进入TUI后,您可以查看消息进行提示。 ```text Give me a quick summary of the codebase. ``` --- ## 檔案參考 您可以使用 `@` 在訊息中引用檔案。這會在當前工作目錄中進行模糊檔案搜尋。 :::tip 您還可以使用 `@` 來引用訊息中的檔案。 ::: ```text "@packages/functions/src/api/index.ts" How is auth handled in @packages/functions/src/api/index.ts? ``` 檔案的內容會自動新增到對話中。 --- ## bash 命令 以`!`开始一条消息以执行shell命令。 ```bash frame="none" !ls -la ``` 命令的輸出將作為工具結果新增到對話中。 --- ## 命令 使用 OpenCode TUI 时,您可以输入 `/` 后跟命令名称来快速执行操作。例如: ```bash frame="none" /help ``` 大多数命令还是以使用 `ctrl+x` 作为主键的键系结,其中 `ctrl+x` 是默认主键。 [了解更多](/docs/keybinds)。 以下是所有可用的斜槓命令: --- ### 連線 将新增到 OpenCode。允许您从可用的成功中进行选择并新增他们的 API 重要。 ```bash frame="none" /connect ``` --- ### 袖珍的 压缩当前会话。_别名_: `/summarize` ```bash frame="none" /compact ``` ** 按键系结:** `ctrl+x c` --- ### 細節 切換工具執行詳細資訊。 ```bash frame="none" /details ``` ** 按键系结:** `ctrl+x d` --- ### 編輯 开启外部编辑器来编写消息。使用`EDITOR`环境变量中设定的编辑器。 [了解更多](#editor-setup)。 ```bash frame="none" /editor ``` ** 按键系结:** `ctrl+x e` --- ### 出口 退出OpenCode。 _别名_:`/quit`、`/q` ```bash frame="none" /exit ``` ** 按键系结:** `ctrl+x q` --- ### 出口 将当前对话汇出到 Markdown 并在默认编辑器中开启。使用 `EDITOR` 环境变数中设定的编辑器。 [了解更多](#editor-setup)。 ```bash frame="none" /export ``` ** 按键系结:** `ctrl+x x` --- ### 幫助 顯示幫助對話方塊。 ```bash frame="none" /help ``` ** 按键系结:** `ctrl+x h` --- ### 初始化 Create or update `AGENTS.md` file. [Learn more](/docs/rules). ```bash frame="none" /init ``` ** 按键系结:** `ctrl+x i` --- ### 型號 列出可用型號。 ```bash frame="none" /models ``` ** 按键系结:** `ctrl+x m` --- ### 新的 开始新的会话。 _别名_: `/clear` ```bash frame="none" /new ``` ** 按键系结:** `ctrl+x n` --- ### 重做 删除之前重做消除的讯息。仅在使用`/undo`后可用。 :::tip 任何檔案更改也將被恢復。 ::: 在内部,这使用 Git 来管理文件更改。所以你的专案**需要 是一个Git存储库**。 ```bash frame="none" /redo ``` ** 按键系结:** `ctrl+x r` --- ### 會議 上市会话并在会话之间切换。 _别名_:`/resume`、`/continue` ```bash frame="none" /sessions ``` ** 按键系结:** `ctrl+x l` --- ### 分享 共享当前会话。 [了解更多](/docs/share)。 ```bash frame="none" /share ``` ** 按键系结:** `ctrl+x s` --- ### 主題 列出可用的主題。 ```bash frame="none" /theme ``` ** 按键系结:** `ctrl+x t` --- ### 思維 切换对话中 thinking/reasoning 块的可视性。启用后,您可以看到支持增强套件思维的模型的推理过程。 :::note 该命令仅控制是否**显示** - 不启用或取消模型的推理功能。要切换实际推理功能,请使用 `ctrl+t` 回圈切换模型变体。 ::: ```bash frame="none" /thinking ``` --- ### 撤消 撤消對話中的最後一條訊息。刪除最近的使用者訊息、所有後續響應以及任何檔案更改。 :::tip 所做的任何檔案更改也將被恢復。 ::: 在内部,这使用 Git 来管理文件更改。所以你的专案**需要 是一个Git存储库**。 ```bash frame="none" /undo ``` ** 按键系结:** `ctrl+x u` --- ### 取消共享 取消共享当前会话。 [了解更多](/docs/share#un-sharing)。 ```bash frame="none" /unshare ``` --- ## 編輯器設定 `/editor` 和 `/export` 命令都使用 `EDITOR` 环境变量中指定的编辑器。 ```bash # Example for nano or vim export EDITOR=nano export EDITOR=vim # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait export EDITOR="code --wait" ``` 要使其永久存在,请将其添加到您的 shell 配置文件中; `~/.bashrc`、`~/.zshrc` 等 ```bash set EDITOR=notepad # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait set EDITOR=code --wait ``` 要使其永久化,请使用 **系统属性** > **环境 变量**。 ```powershell $env:EDITOR = "notepad" # For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc. # include --wait $env:EDITOR = "code --wait" ``` 要使其永久化,请将其添加到您的 PowerShell 配置文件中。 流行的編輯器選項包括: - `code` - Visual Studio 程序代码 - `cursor` - 游标 - `windsurf` - 风帆冲浪 - `nvim` - Neo 的编辑器 - `vim` - Vim 编辑器 - `nano` - 奈米编辑器 - `notepad` - Windows 文章书 - `subl` - 崇高文字 :::note 一些编辑器如 VS Code 需要以 `--wait` 标志启动。 ::: 某些编辑器需要命令列引数才能在阻止模式下执行。 `--wait` 标志使编辑器程序阻塞直至关闭。 --- ## 配置 您可以使用 OpenCode 配置文件自定义 TUI 行为。 ```json title="opencode.json" { "$schema": "https://opencode.ai/config.json", "tui": { "scroll_speed": 3, "scroll_acceleration": { "enabled": true } } } ``` ### 選項 - `scroll_acceleration` - 启用 macOS 式滚动加速以实现平滑、自然的滚动。启用后,滚动速度会随着快速滚动滚动而增加,并在较慢的移动时保持精确。 **此设定优先于 `scroll_speed` 并在启用时覆盖它。 ** - `scroll_speed` - 控制使用滚动控制器时 TUI 滚动的速度(简单:`1`)。默认为 `3`。 **注意:如果 `scroll_acceleration.enabled` 设置为 `true`,则忽略此设置。 ** --- ## 定製化 您可以使用命令选项板(`ctrl+x h` 或 `/help`)自定义 TUI 检视的各个方面。这些设置在重新启动后仍然存在。 --- #### 使用者名稱顯示 切換您的使用者名稱是否出現在聊天訊息中。透過以下方式訪問: - 命令面板:搜尋“使用者名稱”或“隱藏使用者名稱” - 该设置会自动保留,放在 TUI 会话中被记住