opencode-tui操作指南

记录 opencode-tui 界面的操作方式

#status / growing #type / resource #resource / opencode

[!info] related notes opencode, quick-launch-opencode-knowledge-base

opencode操作指南

OpenCode 的终端用户界面 (TUI) 是一个非常强大且交互性极强的 AI 编码代理环境。它不仅支持常规的对话,还深度集成了系统终端和 Git,以便于无缝控制代码库。

以下是 OpenCode TUI 的核心操作方式、内置指令和快捷键指南:

一、 核心操作与交互方式

  • 启动与进入:在终端中直接输入 opencode(针对当前所在目录)或 opencode /path/to/project 来启动 TUI 并加载特定项目。
  • 模式切换 (<TAB>):按下 Tab 键可以在 计划模式 (Plan Mode)构建模式 (Build Mode) 之间切换。
    • _计划模式_下,AI 不会修改任何代码,而是评估需求并为你提供实现方案和步骤。
    • _构建模式_下,AI 会根据你的指令直接编写和修改文件。
  • 上下文引用 (@):在输入框中键入 @ 会触发当前工作目录的模糊文件搜索。你可以直接引用文件(例如 @src/main.ts)或特定代码行(例如 @File#L37-42),该文件的内容会被自动作为上下文发给 AI。
  • 执行 Shell 命令 (!):如果你在消息的最前面加上 !,TUI 会直接在后台执行该终端命令(例如 !ls -la!npm run test)。命令的终端输出结果会自动抓取并作为上下文发给 AI,非常适合让 AI 根据报错信息进行 debug。
  • 图片拖拽 (视觉上下文):你可以直接将系统中的图片拖拽到 TUI 终端窗口中。OpenCode 会自动读取图片并附加到当前提示词中(例如提供 UI 设计稿让它参考写前端代码)。

二、 内置斜杠指令与前导快捷键

你可以通过在输入框输入 / 加上指令名来触发功能。此外,OpenCode TUI 提供了一套基于 前导键 (Leader Key) Ctrl+X 的快捷键。操作方式是:先按 Ctrl+X,松开后再按对应的字母键。

指令别名快捷键功能描述
/new/clearCtrl+X n清空上下文,开始一个新的会话。
/undo-Ctrl+X u撤销上一条消息。这不仅会移除对话,还会利用 Git 自动还原 AI 对文件所做的所有代码修改。
/redo-Ctrl+X r重做被撤销的消息(包括恢复被撤回的文件更改)。
/sessions/resume, /continueCtrl+X l列出所有的历史会话,并允许你在不同会话之间快速切换。
/compact/summarizeCtrl+X c压缩当前会话的上下文,生成总结,从而释放 Token 空间。
/editor-Ctrl+X e唤起外部编辑器(根据你的 $EDITOR 环境变量,如 Vim/Nano)来编写长篇提示词。
/models-Ctrl+X m调出列表,查看并切换当前可用的 LLM 模型。
/connect--配置和添加大模型提供商的 API 密钥。
/details-Ctrl+X d切换界面视图,显示/隐藏 AI 调用底层工具(如读写文件)的详细执行过程。
/export-Ctrl+X x将当前的完整对话导出为 Markdown 文件,并在默认编辑器中打开。
/share-Ctrl+X s将当前会话生成分享链接。
/init-Ctrl+X i在项目中创建或更新 AGENTS.md 文件(用于自定义项目专属的 AI 代理规则)。
/themes/themeCtrl+X t调出主题列表,更改 TUI 的界面配色。
/help-Ctrl+X h显示内置的帮助面板。
/exit/quit, /qCtrl+X q退出 OpenCode TUI 环境。

三、 文本输入常用快捷键

指令说明
<Ctrl-u>删除光标前的内容
<Ctrl-c>清空当前输入

在底部的输入框打字时,可以使用以下快捷键提高效率:

  • 提交消息: Enter (Return)
  • 输入框内换行: Shift + EnterAlt + EnterCtrl + J
  • 中止 AI 响应: Ctrl + G(当 AI 正在疯狂输出或调用工具时,可以用此快捷键强行打断它,也可以用来关闭弹出的窗口面板)

💡 重要提醒:OpenCode 极其依赖 Git 来管理和跟踪它对文件的修改。上述的 /undo/redo 魔法能够安全生效的前提是——你的项目必须是一个已经初始化的 Git 仓库。如果还没初始化,建议在运行前先执行 git init

你需要我为你解释如何通过 AGENTS.md 来定制 OpenCode 的行为规范,还是想了解如何通过 /connect 接入你手头的模型 API 呢?

创建于 2026/2/22 更新于 2026/5/27