跳转到内容

TUI

OpenCode 提供了一个交互式终端界面(TUI),用于与 LLM 一起处理你的项目。

为当前目录启动 OpenCode:

opencode

或针对特定目录:

opencode /path/to/project

文件引用

你可以在消息中使用 @ 引用文件。这会进行模糊文件搜索:

How is auth handled in @packages/functions/src/api/index.ts?

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

配置的引用也会出现在 @ 自动补全中。

Bash 命令

! 开头的消息会作为 shell 命令执行:

!ls -la

命令输出会添加到对话中。

命令

输入 / 后跟命令名来执行操作:

/help

大多数命令有使用 ctrl+x 作为默认 leader 键的键盘快捷键。

Connect

向 OpenCode 添加 provider:

/connect

Compact

压缩当前会话内容为摘要。别名/summarize

快捷键: ctrl+x c

Details

切换工具执行详情显示:

/details

Editor

使用外部编辑器撰写消息。使用 EDITOR 环境变量。

快捷键: ctrl+x e

Exit

退出 OpenCode。别名/quit/q

快捷键: ctrl+x q

Export

将对话导出为 Markdown 并在编辑器中打开。

快捷键: ctrl+x x

Help

显示帮助对话框:

/help

Init

引导创建或更新 AGENTS.md

Models

列出可用的 AI 模型。

快捷键: ctrl+x m

New

开始新会话。别名/clear

快捷键: ctrl+x n

Redo

重做被撤销的消息。仅在 /undo 之后可用。

快捷键: ctrl+x r

Sessions

列出和切换会话。别名/resume/continue

快捷键: ctrl+x l

Share

分享当前会话以便协作。

Themes

列出可用的主题。

快捷键: ctrl+x t

Thinking

切换思考/推理块显示。启用后,你可以看到模型的推理过程。

注意: 这仅控制显示,不控制实际推理能力。使用 ctrl+t 切换推理。

Undo

撤销上一条消息。移除最新的用户消息、所有后续响应以及任何文件更改。

注意: 内部使用 Git 管理文件更改。项目必须是 Git 仓库。

快捷键: ctrl+x u

Unshare

取消分享当前会话。

编辑器设置

/editor/export 都使用你 EDITOR 环境变量中的编辑器。

Linux/macOS:

export EDITOR=nano  # 或 vim
export EDITOR="code --wait"  # 用于 VS Code

Windows (PowerShell):

$env:EDITOR = "code --wait"

配置

通过 tui.json 自定义 TUI 行为:

{
  "$schema": "https://opencode.ai/tui.json",
  "theme": "opencode",
  "leader_timeout": 2000,
  "keybinds": {
    "leader": "ctrl+x",
    "command_list": "ctrl+p"
  },
  "scroll_speed": 3,
  "diff_style": "auto",
  "mouse": true,
  "attention": {
    "enabled": true,
    "notifications": true,
    "sound": true,
    "volume": 0.4
  }
}

选项

  • theme - 设置你的 UI 主题
  • keybinds - 自定义键盘快捷键
  • leader_timeout - leader 键后的等待时间(默认:2000
  • scroll_speed - 控制滚动速度(默认:3
  • diff_style - Diff 渲染:"auto""stacked"
  • mouse - 启用/禁用鼠标捕获(默认:true
  • attention - 桌面通知和声音

Attention

配置 TUI 通知和声音:

  • enabled - 启用所有 attention 功能(默认:false
  • notifications - 桌面通知(默认:true
  • sound - Attention 声音(默认:true
  • volume - 声音音量 0-1(默认:0.4
  • sound_pack - 声音包 ID(默认:opencode.default

自定义

你可以通过命令面板(ctrl+p)自定义 TUI 视图:

  • 用户名显示 - 切换聊天消息中是否显示你的用户名