TUI(OpenCode 1.x)

版本范围:OpenCode 1.x;本次终端配置与迁移核验日期为 2026-10-15。OpenCode 2 的终端设置已改为全局 cli.json,见 V2 迁移指南。

使用 OpenCode 终端用户界面。

OpenCode 提供了一个交互式终端界面(TUI),用于在项目中与 LLM 协作。

运行 OpenCode 会启动当前目录的 TUI。

bash
opencode

或者你可以为特定的工作目录启动它。

bash
opencode /path/to/project

进入 TUI 后,你可以向它发送提示消息。

给我一个代码库的快速总结。

# 文件引用#

你可以在消息中使用 @ 引用文件。这会在当前工作目录中进行模糊文件搜索。

提示: 你也可以使用 @ 在消息中引用文件。

@packages/functions/src/api/index.ts 中的身份验证是如何处理的?

文件内容会自动添加到对话中。


# Bash 命令#

以 ! 开头的消息会运行 shell 命令。

!ls -la

命令的输出会作为工具结果添加到对话中。


# 命令#

在使用 OpenCode TUI 时,你可以输入 / 后跟命令名称来快速执行操作。例如:

/help

大多数命令也有使用 ctrl+x 作为前导键的快捷键,其中 ctrl+x 是默认的前导键。了解更多。

以下是常用斜杠命令,具体可用命令取决于安装版本:


## update#

版本说明(核验:2026-10-12): OpenCode v1.19.0(2026-10-11)↗ 不再自动安装更新,可使用下面的命令打开更新操作:

text
/update

按 该版本的更新对话框实现↗,若检测到较新的 OpenCode 1 版本,会先提供 Update;当前已是该渠道最新 OpenCode 1 版本时,会提供升级到 OpenCode 2 的 Upgrade。检查成功并明确选择安装后才执行更新,完成后需重启。

跨主版本包含不兼容变更,操作前请阅读 OpenCode 2 文档↗。CLI 对应入口为 opencode upgrade --major,检查通知开关见 autoupdate。本节仅核验 v1.19.0 文档与源码,未执行更新,不代表所有版本都有相同命令与行为。


## connect#

向 OpenCode 添加提供商。允许你从可用提供商中选择并添加它们的 API 密钥。

/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#

列出可用主题。

/themes

快捷键: ctrl+x t


## undo#

撤销对话中的最后一条消息。删除最近的用户消息、所有后续响应以及任何文件更改。

提示: 所做的任何文件更改也会被还原。

在内部,这使用 Git 来管理文件更改。所以你的项目需要是一个 Git 仓库。

/undo

快捷键: ctrl+x u


## unshare#

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

/unshare

# 编辑器设置#

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

## Linux/macOS#

bash
1# nano 或 vim 示例
2export EDITOR=nano
3export EDITOR=vim
4
5# 对于 GUI 编辑器,如 VS Code、Cursor、VSCodium、Windsurf、Zed 等
6# 包含 --wait
7export EDITOR="code --wait"

要使其永久生效,将此添加到你的 shell 配置文件;~/.bashrc、~/.zshrc 等。

## Windows (CMD)#

cmd
1set EDITOR=notepad
2
3# 对于 GUI 编辑器,如 VS Code、Cursor、VSCodium、Windsurf、Zed 等
4# 包含 --wait
5set EDITOR=code --wait

要使其永久生效,使用系统属性 > 环境变量。

## Windows (PowerShell)#

powershell
1$env:EDITOR = "notepad"
2
3# 对于 GUI 编辑器,如 VS Code、Cursor、VSCodium、Windsurf、Zed 等
4# 包含 --wait
5$env:EDITOR = "code --wait"

要使其永久生效,将此添加到你的 PowerShell 配置文件。

常用编辑器选项包括:

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

注意: 某些编辑器(如 VS Code)需要使用 --wait 标志启动。

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


# 配置#

按官方 V1 TUI 文档↗,终端设置使用 tui.json 或 tui.jsonc。全局文件位于 ~/.config/opencode/tui.json(c);项目可使用项目目录的 tui.json(c)。这里的 (c) 表示可选扩展名,不是文件名的一部分。自定义路径使用 OPENCODE_TUI_CONFIG。

json
1{
2  "$schema": "https://opencode.ai/tui.json",
3  "theme": "opencode",
4  "keybinds": {
5    "leader": "ctrl+x",
6    "command_list": "ctrl+p"
7  },
8  "scroll_speed": 3,
9  "scroll_acceleration": {
10    "enabled": false
11  },
12  "diff_style": "auto"
13}

theme、keybinds 和滚动选项都在顶层。模型、提供商与权限等服务端设置仍在 opencode.json(c)。快捷键与内置默认值合并,只需写要修改的项。

## 选项#

  • scroll_acceleration.enabled:启用滚动加速后,优先于 scroll_speed。
  • scroll_speed:当前 V1 文档的默认值为 3,最小值为 0.001,支持小数。
  • diff_style:"auto" 按终端宽度调整,"stacked" 使用单列。

## v1.19.0 旧配置迁移#

按 v1.19.0 迁移源码↗,启动过程可从旧 opencode.json(c) 提取 theme、keybinds,以及旧 tui 对象内受支持的 scroll_speed、scroll_acceleration、diff_style,生成同目录的 tui.json。写入成功后,迁移会先保留 <原文件名>.tui-migration.bak(已有备份不覆盖),再清理旧字段。

实现只检查目标 tui.json 是否已存在,存在时跳过该位置;并不检查 tui.jsonc。 升级前先自行备份并核对两种文件,避免依赖自动迁移替你合并已有设置。已有 tui.json 时,旧配置中的终端字段也不会在这个步骤被自动清理。此处是源码核验,本站未实际运行迁移。


# 自定义#

你可以使用命令面板(ctrl+x h 或 /help)自定义 TUI 视图的各个方面。这些设置会在重启后保持。


## 用户名显示#

切换你的用户名是否显示在聊天消息中。通过以下方式访问:

  • 命令面板:搜索 "username" 或 "hide username"
  • 设置会自动保持,并在 TUI 会话中记住