Open Code教程(二)| 命令与技巧大全
- OpenCode 命令与技巧大全
- 一、前言
- 二、命令大全
- 斜杠命令(/commands)
- 三、快捷键大全
- 基础操作
- 消息浏览
- Leader 键命令
- 四、文件引用(@ 符号)
- 技巧
- 五、Shell 命令(! 前缀)
- 使用场景
- 六、Plan 模式 vs Build 模式
- 🧠 Plan Agent(规划模式)
- 🔨 Build Agent(构建模式)
- 最佳实践
- 示例工作流
- 七、@general 子代理
- @general
- @explore
- 八、会话操作
- 九、提示词技巧
- ❌ 不好的提示
- ✅ 好的提示
- 提示词要素
- 十、图片支持
- 十一、下一篇预告
OpenCode 命令与技巧大全
一、前言
上一篇我们完成了 OpenCode 的安装和基础配置。本文将详细介绍所有命令、快捷键和使用技巧,帮助你更高效地使用 OpenCode。
二、命令大全
斜杠命令(/commands)
在 OpenCode 中输入/可以触发命令,以下是完整命令列表:
| 命令 | 功能 | 快捷键 |
|---|---|---|
/help | 显示帮助对话框 | Ctrl+x h |
/connect | 添加/配置 AI 提供商 | - |
/models | 列出可用模型 | Ctrl+x m |
/init | 创建/更新 AGENTS.md 文件 | Ctrl+x i |
/new | 开始新会话(别名:/clear) | Ctrl+x n |
/sessions | 列出和切换会话(别名:/resume、/continue) | Ctrl+x l |
/undo | 撤销上一次修改 | Ctrl+x u |
/redo | 重做撤销的修改 | Ctrl+x r |
/share | 分享当前会话 | Ctrl+x s |
/unshare | 取消分享当前会话 | - |
/compact | 压缩当前会话(别名:/summarize) | Ctrl+x c |
/details | 切换工具执行详情显示 | Ctrl+x d |
/editor | 打开外部编辑器编写消息 | Ctrl+x e |
/export | 导出对话为 Markdown | Ctrl+x x |
/theme | 列出可用主题 | Ctrl+x t |
/exit | 退出 OpenCode(别名:/quit、/q) | Ctrl+x q |
三、快捷键大全
基础操作
| 快捷键 | 功能 |
|---|---|
Enter | 提交消息 |
Shift+Enter或Ctrl+j | 输入换行 |
Ctrl+v | 粘贴 |
Ctrl+c | 清空输入 / 退出 |
Tab | 切换 Agent(Plan/Build) |
Shift+Tab | 反向切换 Agent |
Escape | 中断当前会话 |
消息浏览
| 快捷键 | 功能 |
|---|---|
PgUp | 向上翻页 |
PgDown | 向下翻页 |
Ctrl+Alt+u | 向上翻半页 |
Ctrl+Alt+d | 向下翻半页 |
Ctrl+g或Home | 跳到第一条消息 |
Ctrl+Alt+g或End | 跳到最后一条消息 |
Ctrl+x y | 复制消息 |
Leader 键命令
OpenCode 使用Ctrl+x作为 Leader 键(可自定义),后接字母触发命令:
| 快捷键 | 功能 |
|---|---|
Ctrl+x h | 帮助 / 显示提示 |
Ctrl+x m | 模型列表 |
Ctrl+x n | 新会话 |
Ctrl+x l | 会话列表 |
Ctrl+x i | 初始化项目 |
Ctrl+x u | 撤销 |
Ctrl+x r | 重做 |
Ctrl+x s | 分享会话 |
Ctrl+x c | 压缩会话 |
Ctrl+x d | 详情切换 |
Ctrl+x e | 外部编辑器 |
Ctrl+x x | 导出会话 |
Ctrl+x t | 主题列表 |
Ctrl+x b | 切换侧边栏 |
Ctrl+x a | Agent 列表 |
Ctrl+x g | 会话时间线 |
Ctrl+x q | 退出 |
四、文件引用(@ 符号)
使用@可以快速引用项目文件,支持模糊搜索:
@api.ts 解释这个文件的作用@src/utils/ 这个目录下的文件是做什么的?文件内容会自动添加到对话上下文中,AI 可以直接看到文件内容。
技巧
- 输入
@后会弹出文件搜索框 - 支持模糊匹配,输入部分文件名即可
- 可以引用多个文件:
@api.ts @types.ts 这两个文件的关系是什么?
五、Shell 命令(! 前缀)
以!开头可以直接执行 Shell 命令:
!ls -la!git status!npm run build命令输出会作为工具结果添加到对话中,AI 可以看到执行结果并据此回答。
使用场景
- 查看目录结构:
!tree -L 2 - 查看 Git 状态:
!git log --oneline -5 - 运行测试:
!npm test - 查看进程:
!ps aux | grep node
六、Plan 模式 vs Build 模式
OpenCode 内置两个 Agent,按Tab键切换:
🧠 Plan Agent(规划模式)
- 特点:只分析,不修改代码
- 用途:规划复杂功能、评估方案
- 标识:右下角显示 “Plan”
🔨 Build Agent(构建模式)
- 特点:直接修改代码
- 用途:实际编码、修复 bug
- 标识:右下角显示 “Build”(默认)
最佳实践
- 复杂功能:先 Plan 规划 → 确认方案 → 切 Build 实现
- 简单修改:直接 Build 模式
- 代码审查:用 Plan 模式分析代码
示例工作流
# 1. 切换到 Plan 模式(按 Tab) 我想给用户模块添加邮箱验证功能,帮我规划一下实现方案 # 2. AI 给出方案后,确认没问题 # 3. 切换到 Build 模式(按 Tab) 按照刚才的方案开始实现七、@general 子代理
除了 Plan 和 Build 两个主代理,OpenCode 还有内置的子代理(subagent),可以通过@提及来调用:
@general
通用子代理,用于复杂搜索和多步骤任务:
@general 在整个项目中搜索所有使用了 localStorage 的地方@general 分析项目的依赖关系,找出可能的循环依赖@explore
快速探索代码库的子代理,适合快速查找文件和搜索代码:
@explore 找到所有包含 "TODO" 注释的文件@explore 这个项目的入口文件在哪里?提示:子代理会创建子会话,你可以使用Ctrl+x →和Ctrl+x ←在父会话和子会话之间切换。
八、会话操作
撤销与重做
/undo和/redo功能依赖 Git,你的项目必须是一个 Git 仓库:
/undo# 撤销上一次 AI 的修改/redo# 重做刚才撤销的修改OpenCode 内部使用 Git 追踪文件变更,/undo会回滚到上一次提交前的状态,同时移除对话中对应的消息。
会话管理
/new# 新建会话(别名:/clear)/sessions# 查看历史会话(别名:/resume)/compact# 压缩会话以节省 Token分享与导出
/share# 生成分享链接/unshare# 取消分享/export# 导出对话为 Markdown外部编辑器
如果消息很长,可以用外部编辑器编写:
/editor需要设置EDITOR环境变量:
exportEDITOR=vim# VimexportEDITOR="code --wait"# VS CodeexportEDITOR="cursor --wait"# Cursor九、提示词技巧
❌ 不好的提示
帮我改一下代码让它更好修复 bug✅ 好的提示
重构 @src/utils/api.ts 中的 request 函数,使用 async/await 替代 Promise.then,并添加统一的错误处理登录表单点击提交时报错 'Cannot read property of undefined' 错误发生在 @src/pages/login.ts 第 45 行 请帮我定位原因并修复为 @src/utils/cart.ts 中的 calculateTotal 函数编写单元测试,覆盖以下场景: 1. 空购物车 2. 单个商品 3. 多个商品 4. 有折扣的情况提示词要素
- 具体文件:用
@引用相关文件 - 明确目标:说清楚要做什么
- 上下文:提供错误信息、期望结果
- 约束条件:技术栈、代码风格等
十、图片支持
直接拖拽图片到终端,OpenCode 可以理解图片内容(设计稿、错误截图、UI 原型图、流程图等):
[拖入设计稿图片] 按照这个设计稿实现登录页面[拖入错误截图] 帮我分析这个错误是什么原因十一、下一篇预告
本文介绍了 OpenCode 的所有命令和使用技巧。下一篇《OpenCode 实战案例集》将通过 10+ 个真实开发场景,展示如何用 OpenCode 解决实际问题。