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 Key。
/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
undo
撤销对话中的上一条消息。会移除最近的一条用户消息及其后续所有回复,并回滚相关文件改动。
内部通过 Git 管理文件变更,因此你的项目 需要是一个 Git 仓库。
/undo快捷键: ctrl+x u
unshare
取消分享当前会话。了解更多。
/unshare编辑器设置
/editor 和 /export 命令都会使用 EDITOR 环境变量指定的编辑器。
# 例如使用 nano 或 vimexport EDITOR=nanoexport EDITOR=vim
# 对于 VS Code、Cursor、VSCodium、Windsurf、Zed 等 GUI 编辑器# 需要带 --waitexport EDITOR="code --wait"要使其永久生效,可以把这些命令加入到你的 shell 配置文件中,
如 ~/.bashrc、~/.zshrc 等。
set EDITOR=notepad
# 对于 VS Code、Cursor、VSCodium、Windsurf、Zed 等 GUI 编辑器# 需要带 --waitset EDITOR=code --wait若要永久生效,可在 系统属性 → 环境变量 中进行设置。
$env:EDITOR = "notepad"
# 对于 VS Code、Cursor、VSCodium、Windsurf、Zed 等 GUI 编辑器# 需要带 --wait$env:EDITOR = "code --wait"要使其永久生效,可将其加入到你的 PowerShell 配置文件中。
常见的编辑器命令包括:
code- Visual Studio Codecursor- Cursorwindsurf- Windsurfnvim- Neovimvim- Vimnano- Nanonotepad- Windows 记事本subl- Sublime Text
有些编辑器需要通过命令行参数以“阻塞模式”运行。--wait 参数可以让编辑器进程在窗口关闭前一直保持阻塞状态。
配置
你可以通过 OpenCode 配置文件来自定义 TUI 行为。
{ "$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.enabled为true时,该设置会被忽略。
自定义
你可以通过命令面板(ctrl+x h 或 /help)自定义 TUI 视图的多个方面。这些设置会在重启后保留。
用户名显示
你可以控制是否在聊天消息中显示你的用户名。可以通过以下方式修改:
- 打开命令面板,搜索“username”或“hide username”
- 一旦修改,该设置会自动保存,并在之后的 TUI 会话中继续生效。