|
最近已经用 OpenCode 搭配 Oh-My-OpenCode 替换 CC 了
在源码中找到 100 个小技巧 https://linux.do/t/topic/1463543 输入与文件操作- 输入 @ 后跟文件名可模糊搜索并附加文件
- 以 ! 开头可直接运行 shell 命令(如 !ls -la)
- 拖放图片到终端可添加为上下文
- Ctrl+V 从剪贴板粘贴图片到提示框
- Ctrl+X E 或 /editor 在外部编辑器中编写消息
- Shift+Enter 或 Ctrl+J 在提示中添加换行
- Ctrl+C 清空输入框
- Escape 中途停止 AI 响应
Agent 与模型- Tab 在 Build 和 Plan agent 之间切换
- 切换到 Plan agent 可获得建议而不实际修改
- 使用 @agent-name 在提示中调用专用子 agent
- F2 快速切换最近使用的模型
- /models 或 Ctrl+X M 查看和切换可用 AI 模型
- /connect 添加 75+ 支持的 LLM 提供商的 API key
- 使用 /connect 连接 OpenCode Zen 获取精选模型
会话管理- /undo 撤销最后的消息和文件更改
- /redo 恢复之前撤销的消息和文件更改
- /share 创建对话的公开链接
- /unshare 取消会话的公开访问
- Ctrl+X N 或 /new 开始新会话
- /sessions 或 Ctrl+X L 列出并继续之前的对话
- /compact 在接近上下文限制时总结长会话
- Ctrl+X X 或 /export 将对话保存为 Markdown
- Ctrl+X Y 复制助手的最后一条消息到剪贴板
- Ctrl+X Right/Left 在父子会话间切换
- /rename 重命名当前会话
- Ctrl+X G 或 /timeline 跳转到特定消息
界面导航- Ctrl+P 查看所有可用操作和命令
- Leader 键是 Ctrl+X,与其他键组合可快速操作
- Ctrl+X B 显示/隐藏侧边栏
- PageUp/PageDown 浏览对话历史
- Ctrl+G 或 Home 跳转到对话开头
- Ctrl+Alt+G 或 End 跳转到最新消息
- /theme 或 Ctrl+X T 在 50+ 内置主题间切换
- /init 根据代码库结构自动生成项目规则
- Ctrl+X H 切换消息中代码块的可见性
- Ctrl+X S 或 /status 查看系统状态信息
- 启用 tui.scroll_acceleration 获得 macOS 风格平滑滚动
- 通过命令面板 (Ctrl+P) 切换用户名显示
- /help 或 Ctrl+X H 显示帮助对话框
- /details 切换工具执行详情可见性
- Ctrl+Z 挂起终端返回 shell
- /review 审查未提交的更改、分支或 PR
配置文件- 在项目根目录创建 opencode.json 进行项目特定设置
- 在 ~/.config/opencode/opencode.json 放置全局配置
- 添加 $schema 到配置以在编辑器中获得自动补全
- 配置 model 设置默认模型
- 通过 keybinds 部分覆盖任何快捷键
- 将快捷键设为 none 完全禁用它
- 在 mcp 配置部分配置本地或远程 MCP 服务器
- OpenCode 自动处理需要认证的远程 MCP 服务器的 OAuth
- 使用 {env:VAR_NAME} 语法在配置中引用环境变量
- 使用 {file:path} 在配置值中包含文件内容
- 使用 instructions 在配置中加载额外的规则文件
- 设置 agent temperature 从 0.0(专注)到 1.0(创意)
- 配置 maxSteps 限制每个请求的 agentic 迭代次数
- 设置 “tools”: {“bash”: false} 禁用特定工具
- 设置 “mcp_*”: false 禁用 MCP 服务器的所有工具
- 为每个 agent 配置覆盖全局工具设置
- 设置 “share”: “auto” 自动共享所有会话
- 设置 “share”: “disabled” 阻止任何会话共享
- 使用 “theme”: “system” 匹配终端颜色
自定义命令与 Agent- 在 .opencode/command/ 添加 .md 文件定义可重用自定义提示
- 在自定义命令中使用 $ARGUMENTS、$1、$2 进行动态输入
- 在命令中使用反引号注入 shell 输出(如 git status )
- 在 .opencode/agent/ 添加 .md 文件创建专用 AI 角色
- 为 edit、bash 和 webfetch 工具配置每个 agent 的权限
- 使用 “git *”: “allow” 模式进行细粒度 bash 权限
- 设置 “rm -rf *”: “deny” 阻止破坏性命令
- 配置 “git push”: “ask” 在推送前要求批准
- 运行 opencode agent create 进行引导式 agent 创建
格式化与 LSP- OpenCode 使用 prettier、gofmt、ruff 等自动格式化文件
- 在配置中设置 “formatter”: false 禁用所有自动格式化
- 在配置中定义带文件扩展名的自定义格式化命令
- OpenCode 使用 LSP 服务器进行智能代码分析
工具与插件- 在 .opencode/tool/ 创建 .ts 文件定义新的 LLM 工具
- 工具定义可以调用 Python、Go 等编写的脚本
- 在 .opencode/plugin/ 添加 .ts 文件创建事件钩子
- 使用插件在会话完成时发送系统通知
- 创建插件阻止 OpenCode 读取敏感文件
CLI 使用- opencode run 用于非交互式脚本
- opencode run --continue 恢复上一个会话
- opencode run -f file.ts 通过 CLI 附加文件
- –format json 用于脚本中的机器可读输出
- opencode serve 用于无头 API 访问 OpenCode
- opencode run --attach 连接到运行中的服务器
- opencode upgrade 更新到最新版本
- opencode auth list 查看所有配置的提供商
- opencode debug config 排查配置问题
- –print-logs 标志在 stderr 中查看详细日志
GitHub 集成- 在 GitHub issues/PRs 中使用 /opencode 触发 AI 操作
- opencode github install 设置 GitHub workflow
- 在 issues 上评论 /opencode fix this 自动创建 PR
- 在 PR 代码行上评论 /oc 进行针对性代码审查
- 提交项目的 AGENTS.md 文件到 Git 供团队共享
主题- 在 .opencode/themes/ 目录创建 JSON 主题文件
- 主题支持深色/浅色变体
- 在自定义主题中引用 ANSI 颜色 0-255
权限- doom_loop 权限防止无限工具调用循环
- external_directory 权限保护项目外的文件
容器化
|