界面与客户端

TUI(终端界面,默认形态)

opencode 或 opencode /path/to/project 启动。三种输入前缀:

前缀作用
@文件名模糊搜文件并把内容注入对话(也支持配置好的 references 别名 @alias/@alias/)
!命令执行 shell 命令,输出作为 tool result 加入对话
/命令名执行内置或自定义 slash command

常用内置命令

/connect(添加 Provider)、/compact(压缩会话,别名 /summarize)、/details(切换工具执行细节展示)、/editor(打开外部编辑器写消息)、/init(引导创建/更新 AGENTS.md)、/models、/new(新 session,别名 /clear)、/undo//redo(撤销/重做,依赖 Git,会连带回滚文件改动)、/sessions(别名 /resume//continue)、/share//unshare、/themes、/thinking(仅控制思维块展示,不影响实际推理能力,真正切换推理档用 ctrl+t 循环 variant)、/export(导出会话为 Markdown)、/exit(别名 /quit//q)、/help。

多数命令有默认 leader 快捷键组合(ctrl+x + 字母)。

Editor 设置

/editor、/export 用 $EDITOR 环境变量指定的编辑器;GUI 编辑器(VS Code/Cursor/Windsurf 等)需加 --wait 使进程阻塞等待关闭。

TUI 配置(tui.json,独立于 opencode.json)

theme、keybinds、leader_timeout(默认 2000ms)、scroll_speed/scroll_acceleration、diff_style(auto/stacked)、mouse、attention(桌面通知+提示音,默认关闭,可自定义音量/音效包/各事件音效文件)。命令面板(ctrl+p)还可切换”是否显示用户名”等 UI 细节,持久化跨重启。

主题(Themes)

  • 默认主题 opencode;内置还有 system(跟随终端配色)、tokyonight、everforest、ayu、catppuccin(+macchiato)、gruvbox、kanagawa、nord、matrix、one-dark 等
  • 需终端支持 truecolor(24bit),否则退化为 256 色近似
  • 自定义主题:JSON 格式文件,放在 4 级目录(内置 < 全局 ~/.config/opencode/themes/ < 项目 <root>/.opencode/themes/ < 当前目录 ./.opencode/themes/,后者覆盖前者同名主题),支持十六进制/ANSI/明暗双值/"none"(继承终端默认色)

快捷键(Keybinds)

  • 全部在 tui.json 的 keybinds 字段自定义,与内置默认合并,只需写要改的项
  • Leader Key 机制:默认 ctrl+x,多数操作需先按 leader 再按字母,避免和终端本身快捷键冲突;子 session 导航(session_child_first/session_child_cycle(→)/_reverse(←)/session_parent(↑))刻意不用 leader
  • 绑定值可以是单个/逗号分隔多个快捷键字符串、数组,或带 key/event/preventDefault/fallthrough 的对象
  • 设为 "none"/false 可禁用某快捷键
  • Windows 下 input_undo/terminal_suspend 默认值不同(终端不支持 POSIX suspend)
  • 桌面 App 的 prompt 输入框内置 Readline/Emacs 风格编辑快捷键(ctrl+a/e/b/f/d/k/u/w、alt+b/d/f、ctrl+t、ctrl+g 等),当前不可配置

Share(会话分享)

  • /share 生成公开链接 opncd.ai/s/<share-id>,同步对话历史到 OpenCode 服务器,任何拿到链接的人都可访问
  • 三种模式:manual(默认)/auto(每个新会话自动分享)/disabled
  • /unshare 撤销分享并删除关联数据
  • 企业场景建议:项目级 opencode.json 设 "share": "disabled" 并入库,强制团队遵守;企业还可选择仅限 SSO 用户分享,或自托管分享页(路线图中)

Web 客户端

opencode web 启动本地 server(默认绑定 127.0.0.1 随机端口)并自动打开浏览器。

  • 默认不设密码时无认证——仅建议本机使用;对外暴露必须设 OPENCODE_SERVER_PASSWORD
  • 可配置 --port/--hostname(0.0.0.0 开放局域网)/--mdns(局域网可发现,域名默认 opencode.local,可用 --mdns-domain 自定义)/--cors
  • 可用 opencode attach http://host:port 让 TUI 挂到已运行的 Web/Serve 后端,Web 和 TUI 共享同一 session 状态
  • Windows 用户建议在 WSL 里跑 opencode web 而非 PowerShell

IDE 插件

支持 VS Code 及其 fork(Cursor/Windsurf/VSCodium):终端里跑一次 opencode 即自动安装扩展。

  • Cmd/Ctrl+Esc:分屏打开 OpenCode(或聚焦已有会话)
  • Cmd/Ctrl+Shift+Esc:强制开新会话
  • 自动感知当前选中代码/标签作为上下文
  • Cmd+Option+K/Alt+Ctrl+K:插入文件引用(如 @File#L37-42)
  • 若要让 /editor、/export 用自己的 IDE 打开,需设 EDITOR="code --wait"

ACP(Agent Client Protocol)支持

opencode acp 以 ACP 兼容子进程运行(JSON-RPC via stdio),可接入任何支持 ACP 的编辑器:Zed、JetBrains IDEs(AI Assistant acp.json)、Avante.nvim、CodeCompanion.nvim 等。

  • 除 /undo、/redo 等少数内置命令外,功能与终端体验完全一致:内置工具、自定义工具/命令、MCP、AGENTS.md 规则、Formatter/LSP、Agent 与权限系统全部支持

Windows / WSL

官方推荐在 WSL 里跑 OpenCode(文件系统性能更好、终端兼容性更完整),而非直接 PowerShell。

  • Windows 文件通过 /mnt/c/、/mnt/d/ 等挂载点访问,建议把仓库克隆进 WSL 文件系统(如 ~/code/)以获得最佳性能
  • 桌面 App + WSL Server 模式:opencode serve --hostname 0.0.0.0 --port 4096(务必配 OPENCODE_SERVER_PASSWORD),桌面 App 连 http://localhost:4096(不通则用 hostname -I 拿到的 WSL IP)
  • Web 客户端同理建议在 WSL 终端里跑 opencode web --hostname 0.0.0.0
  • 配置和 session 数据存于 WSL 内的 ~/.local/share/opencode/

关联

  • 索引 — 返回总索引
  • CLI与命令 — TUI 内置命令与 CLI 子命令是同一体系的两面
  • 权限与安全 — Share 的隐私考量与企业场景关联
  • 对比Claude-Code — Claude Code 目前以 CLI/IDE 插件为主,无独立 Web/桌面 App,形态覆盖面上 OpenCode 更广

来源

https://opencode.ai/docs/{tui,themes,keybinds,share,web,ide,acp,windows-wsl}.mdx(dev 分支)。整理:赵卫国 2026-07-07。