mirror of
https://github.com/anomalyco/opencode.git
synced 2026-04-25 15:24:58 +00:00
391 lines
6.9 KiB
Plaintext
391 lines
6.9 KiB
Plaintext
---
|
||
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` 环境变量中指定的编辑器。
|
||
|
||
<Tabs>
|
||
<TabItem label="Linux/macOS">
|
||
```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` 等
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="Windows (CMD)">
|
||
```bash
|
||
set EDITOR=notepad
|
||
|
||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||
# include --wait
|
||
set EDITOR=code --wait
|
||
```
|
||
|
||
要使其永久化,请使用 **系统属性** > **环境
|
||
变量**。
|
||
|
||
</TabItem>
|
||
|
||
<TabItem label="Windows (PowerShell)">
|
||
```powershell
|
||
$env:EDITOR = "notepad"
|
||
|
||
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.
|
||
# include --wait
|
||
$env:EDITOR = "code --wait"
|
||
```
|
||
|
||
要使其永久化,请将其添加到您的 PowerShell 配置文件中。
|
||
|
||
</TabItem>
|
||
</Tabs>
|
||
|
||
流行的編輯器選項包括:
|
||
|
||
- `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 会话中被记住
|