跳转到内容

TUI

使用 OpenCode 终端界面。

OpenCode 提供了一个交互式的终端界面(TUI),用于配合 LLM 在你的项目中工作。

在当前目录下运行 OpenCode 会启动该目录的 TUI:

Terminal window
opencode

你也可以为指定的工作目录启动它:

Terminal window
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 Key。

/connect

compact

对当前会话进行压缩。别名/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


undo

撤销对话中的上一条消息。会移除最近的一条用户消息及其后续所有回复,并回滚相关文件改动。

内部通过 Git 管理文件变更,因此你的项目 需要是一个 Git 仓库

/undo

快捷键: ctrl+x u


unshare

取消分享当前会话。了解更多

/unshare

编辑器设置

/editor/export 命令都会使用 EDITOR 环境变量指定的编辑器。

Terminal window
# 例如使用 nano 或 vim
export EDITOR=nano
export EDITOR=vim
# 对于 VS Code、Cursor、VSCodium、Windsurf、Zed 等 GUI 编辑器
# 需要带 --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 参数可以让编辑器进程在窗口关闭前一直保持阻塞状态。


配置

你可以通过 OpenCode 配置文件来自定义 TUI 行为。

opencode.json
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}

选项

  • scroll_acceleration —— 启用类似 macOS 的滚动加速,实现更平滑、自然的滚动。当启用时,快速滚动时速度会自动提升,而慢速滚动则保持精细控制。该设置优先级高于 scroll_speed,启用后会覆盖 scroll_speed
  • scroll_speed —— 控制使用滚动命令时 TUI 的滚动速度(最小值:1)。在 Unix 系统上默认为 1,在 Windows 上默认为 3注意:当 scroll_acceleration.enabledtrue 时,该设置会被忽略。

自定义

你可以通过命令面板(ctrl+x h/help)自定义 TUI 视图的多个方面。这些设置会在重启后保留。


用户名显示

你可以控制是否在聊天消息中显示你的用户名。可以通过以下方式修改:

  • 打开命令面板,搜索“username”或“hide username”
  • 一旦修改,该设置会自动保存,并在之后的 TUI 会话中继续生效。