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 是默认前导键。了解更多。
以下是所有可用的斜杠命令
连接
向 OpenCode 添加提供商。允许您从可用提供商中选择并添加其 API 密钥。
/connect压缩
压缩当前会话。别名:/summarize
/compact组合键: ctrl+x c
详情
切换工具执行详情。
/details组合键: ctrl+x d
编辑器
打开外部编辑器来编写消息。使用您 EDITOR 环境变量中设置的编辑器。了解更多。
/editor组合键: ctrl+x e
退出
退出 OpenCode。别名:/quit, /q
/exit组合键: ctrl+x q
导出
将当前对话导出为 Markdown 并在您的默认编辑器中打开。使用您 EDITOR 环境变量中设置的编辑器。了解更多。
/export组合键: ctrl+x x
帮助
显示帮助对话框。
/help组合键: ctrl+x h
初始化
创建或更新 AGENTS.md 的引导式设置。了解更多。
/init组合键: ctrl+x i
模型
列出可用模型。
/models组合键: ctrl+x m
新建
开始新会话。别名:/clear
/new组合键: ctrl+x n
重做
重做之前撤销的消息。仅在使用 /undo 后可用。
在内部,这使用 Git 来管理文件更改。因此,您的项目需要是一个 Git 仓库。
/redo组合键: ctrl+x r
会话
列出并切换会话。别名:/resume, /continue
/sessions组合键: ctrl+x l
分享
分享当前会话。了解更多。
/share组合键: ctrl+x s
主题
列出可用主题。
/themes组合键: ctrl+x t
思考
切换对话中思考/推理块的可见性。启用后,您可以看到支持扩展思考的模型(如果有)的推理过程。
/thinking撤销
撤销对话中的最后一条消息。移除最近的用户消息、所有后续回复以及任何文件更改。
在内部,这使用 Git 来管理文件更改。因此,您的项目需要是一个 Git 仓库。
/undo组合键: ctrl+x u
取消分享
取消分享当前会话。了解更多。
/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- Windows 记事本subl- Sublime Text
一些编辑器需要命令行参数才能在阻塞模式下运行。--wait 标志使编辑器进程阻塞直到关闭。
配置
您可以通过 tui.json(或 tui.jsonc)自定义 TUI 行为。
{ "$schema": "https://opencode.ac.cn/tui.json", "theme": "opencode", "keybinds": { "leader": "ctrl+x" }, "scroll_speed": 3, "scroll_acceleration": { "enabled": true }, "diff_style": "auto", "mouse": true}这与配置服务器/运行时行为的 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"始终显示单列布局。mouse- 在 TUI 中启用或禁用鼠标捕获(默认值:true)。禁用时,保留终端原生的鼠标选择/滚动行为。
使用 OPENCODE_TUI_CONFIG 加载自定义 TUI 配置文件路径。
自定义
您可以使用命令面板(ctrl+x h 或 /help)自定义 TUI 视图的各个方面。这些设置在重启后仍然有效。
用户名显示
切换您的用户名是否显示在聊天消息中。通过以下方式访问:
- 命令面板:搜索“username”或“hide username”
- 此设置会自动保存,并在 TUI 会话之间记住。