TUI
使用 OpenCode 終端機使用者介面。
OpenCode 提供了一個互動式終端機介面(TUI),用於配合 LLM 處理您的專案。
執行 OpenCode 即可啟動當前目錄的 TUI。
opencode或者您可以為指定的工作目錄啟動它。
opencode /path/to/project進入 TUI 後,您可以輸入訊息進行提示。
Give me a quick summary of the codebase.檔案參考
您可以使用 @ 在訊息中參考檔案。這會在當前工作目錄中進行模糊檔案搜尋。
How is auth handled in @packages/functions/src/api/index.ts?檔案的內容會自動新增到對話中。
Bash 指令
以 ! 開頭的訊息會作為 shell 指令執行。
!ls -la指令的輸出會作為工具結果新增到對話中。
指令
使用 OpenCode TUI 時,您可以輸入 / 後跟指令名稱來快速執行操作。例如:
/help大多數指令還支援以 ctrl+x 作為前導鍵的快速鍵,其中 ctrl+x 是預設前導鍵。了解更多。
以下是所有可用的斜線指令:
connect
將供應商新增到 OpenCode。允許您從可用的供應商中選擇並新增其 API 金鑰。
/connectcompact
壓縮當前工作階段。別名:/summarize
/compact快速鍵: ctrl+x c
details
切換工具執行詳情的顯示。
/details快速鍵: ctrl+x d
editor
開啟外部編輯器來撰寫訊息。使用 EDITOR 環境變數中設定的編輯器。了解更多。
/editor快速鍵: ctrl+x e
exit
退出 OpenCode。別名:/quit、/q
/exit快速鍵: ctrl+x q
export
將當前對話匯出為 Markdown 並在預設編輯器中開啟。使用 EDITOR 環境變數中設定的編輯器。了解更多。
/export快速鍵: ctrl+x x
help
顯示說明對話框。
/help快速鍵: ctrl+x h
init
建立或更新 AGENTS.md 檔案。了解更多。
/init快速鍵: ctrl+x i
models
列出可用模型。
/models快速鍵: ctrl+x m
new
開始新的工作階段。別名:/clear
/new快速鍵: ctrl+x n
redo
重做之前復原的訊息。僅在使用 /undo 後可用。
在內部,這使用 Git 來管理檔案變更。因此您的專案需要是一個 Git 儲存庫。
/redo快速鍵: ctrl+x r
sessions
列出工作階段並在工作階段之間切換。別名:/resume、/continue
/sessions快速鍵: ctrl+x l
share
分享當前工作階段。了解更多。
/share快速鍵: ctrl+x s
themes
列出可用主題。
/theme快速鍵: ctrl+x t
thinking
切換對話中思考/推理區塊的可見性。啟用後,您可以看到支援擴充思考的模型的推理過程。
/thinkingundo
復原對話中的最後一條訊息。移除最近的使用者訊息、所有後續回應以及所有檔案變更。
在內部,這使用 Git 來管理檔案變更。因此您的專案需要是一個 Git 儲存庫。
/undo快速鍵: ctrl+x u
unshare
取消分享當前工作階段。了解更多。
/unshare編輯器設定
/editor 和 /export 指令都使用 EDITOR 環境變數中指定的編輯器。
# Example for nano or vimexport EDITOR=nanoexport EDITOR=vim
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --waitexport EDITOR="code --wait"要使其永久生效,請將其新增到您的 shell 設定檔中;
~/.bashrc、~/.zshrc 等。
set EDITOR=notepad
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --waitset EDITOR=code --wait要使其永久生效,請使用系統內容 > 環境變數。
$env:EDITOR = "notepad"
# For GUI editors, VS Code, Cursor, VSCodium, Windsurf, Zed, etc.# include --wait$env:EDITOR = "code --wait"要使其永久生效,請將其新增到您的 PowerShell 設定檔中。
常用的編輯器選項包括:
code- Visual Studio Codecursor- Cursorwindsurf- Windsurfnvim- Neovim 編輯器vim- Vim 編輯器nano- Nano 編輯器notepad- Notepad(Windows 記事本)subl- Sublime Text
某些編輯器需要命令列參數才能以阻塞模式執行。--wait 旗標使編輯器程序阻塞直到關閉。
設定
您可以透過 tui.json(或 tui.jsonc)自訂 TUI 行為。
{ "$schema": "https://opencode.ai/tui.json", "theme": "opencode", "keybinds": { "leader": "ctrl+x" }, "scroll_speed": 3, "scroll_acceleration": { "enabled": true }, "diff_style": "auto"}這與設定伺服器/執行時行為的 opencode.json 是分開的。
選項
theme- 設定您的 UI 主題。了解更多。keybinds- 自訂鍵盤快速鍵。了解更多。scroll_acceleration.enabled- 啟用 macOS 風格的捲動加速,實現平滑、自然的捲動體驗。啟用後,快速捲動時速度會增加,慢速移動時保持精確。此設定優先於scroll_speed,啟用時會覆蓋它。scroll_speed- 控制使用捲動指令時 TUI 的捲動速度(最小值:0.001,支援小數值)。預設為3。注意:如果scroll_acceleration.enabled設定為true,則此設定會被忽略。diff_style- 控制差異呈現方式。"auto"根據終端機寬度自適應,"stacked"始終顯示單列。
使用 OPENCODE_TUI_CONFIG 載入自訂 TUI 設定路徑。
自訂
您可以使用指令面板(ctrl+x h 或 /help)自訂 TUI 檢視的各個方面。這些設定在重新啟動後仍會保留。
使用者名稱顯示
切換您的使用者名稱是否顯示在聊天訊息中。透過以下方式存取:
- 指令面板:搜尋「username」或「hide username」
- 該設定會自動儲存,並在各個 TUI 工作階段中保持記憶