跳至内容

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 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 等。

流行的编辑器选项包括

  • code - Visual Studio Code
  • cursor - Cursor
  • windsurf - Windsurf
  • nvim - Neovim 编辑器
  • vim - Vim 编辑器
  • nano - Nano 编辑器
  • notepad - Windows 记事本
  • subl - Sublime Text

一些编辑器需要命令行参数才能在阻塞模式下运行。--wait 标志使编辑器进程阻塞直到关闭。


配置

您可以通过 tui.json(或 tui.jsonc)自定义 TUI 行为。

tui.json
{
"$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 会话之间记住。