OpenCode 详细攻略:开源版 Claude Code,免费模型与神级插件
OpenCode 常被视为开源版的 Claude Code,核心优势在于提供开箱即用的免费模型,且对中国开发者友好,避免了原生工具可能遇到的限速或封号问题。它支持命令行、桌面端、VS Code 插件与云端协作四种运行形态,还能通过 MCP 与 Skills 扩展能力边界,配合 Oh My OpenCode 插件实现多智能体协同开发。本文从安装、模型接入、核心功能、技能扩展、插件实战到 GitHub 云端集成,整理一份完整的上手攻略。
1. OpenCode 概述与安装方式
1.1 命令行版本安装(推荐)
命令行版本最稳定、功能最全,适合大多数开发者使用。
下载与安装:访问 Node.js 官网下载对应系统的安装包。
执行命令:打开终端(Terminal、PowerShell 或 VS Code Integrated Terminal),执行官方 npm 安装命令:
bashnpm install -g open-code启动软件:输入
open code即可直接启动。验证配置:进入界面打招呼,若显示欢迎信息则说明配置成功。
1.2 桌面客户端安装
- 下载安装:在官网页面点击下载按钮,按向导一路点击"下一步"完成安装。
- 使用方法:打开后选择一个文件夹作为项目根目录即可开始交互。
- ⚠️ 注意:目前处于 Beta 测试阶段,存在较多 Bug,且功能仅为基础对话框,建议优先使用命令行版本。
1.3 VS Code 插件版安装
此模式需先安装好命令行版本。
- 安装插件:在 VS Code 扩展商店搜索
open code并安装。 - 启动服务:按快捷键
Ctrl+Shift+P打开命令面板,输入Open Code回车。 - 功能特点:
- 自动关联左侧窗口打开的代码文件。
- 选中代码后按
Ctrl+Alt+K可快速粘贴到聊天窗口。 - 本质上是命令行版本的图形化封装,核心逻辑仍在后台运行。
1.4 云端运行环境
- 应用场景:主要用于 GitHub 上的 Pull Request 或 Issue 自动修复。
- 操作路径:具体配置将在下文"云端协作与 GitHub 集成"章节详细讲解。
2. 模型接入与配置指南
OpenCode 内置了多款免费模型,同时也支持灵活接入外部顶级模型,实现按需分配。
2.1 使用内置免费模型
无需额外配置即可直接使用,适合新手练习 AI 编程。
- 查看列表:在终端输入命令
/models。 - 筛选免费:寻找带有
free标记的模型名称。 - 推荐型号:
- Gemini 1.5 Pro:编程能力强,响应速度快。
- MiniMax 2.1:表现优异,零配置即可使用。
- 操作示例:输入需求描述即可开始编程,系统会自动匹配最佳免费模型。
2.2 接入 Google 顶级模型(OpenGravity)
利用 OpenGravity 插件,可免费接入 Gemini 3 Pro 和 Claude Opus 4.5。
安装流程:
- 访问 OpenGravity 的 GitHub 首页。
- 复制提示词中的安装命令。
- 在 OpenCode 中输入该命令,等待自动安装完成。
配置登录:
- 复制登录命令,在新命令行窗口执行。
- 供应商选择
gravity,Project ID 直接回车。 - 登录谷歌账户,将生成的 URL 粘贴回命令行。
- 确认授权(输入
N或根据提示操作)。
验证结果:重启 OpenCode 后输入 /models,可见新增的 gemini 3 pro 和 claude opus 4.5。
2.3 接入 GPT 系列模型
OpenCode 已与相关厂商合作,支持直接使用 GPT 编程套餐。
- 前提条件:拥有 ChatGPT Plus 及以上订阅。
- 配置步骤:
- 在 OpenCode 中输入
/connect找到 GPT 选项。 - 选择
chat gpt t或相应模型标识。 - 在浏览器打开链接并继续登录。
- 在 OpenCode 中输入
- 使用效果:登录后输入
/models即可选择 GPT 系列模型进行开发。
2.4 接入 OpenRouter(通用方案)
通过 OpenRouter 可以接入市面上几乎所有类型的大模型。
- 获取 Key:前往 OpenRouter 官网点击
Get API创建密钥。 - 配置 OpenCode:
- 输入
/connect找到open router。 - 填写复制的 API Key。
- 输入
- 优势:国内用户也可方便获取额度,几乎囊括所有模型供应商。
3. 核心功能深度解析
OpenCode 不仅是一个对话窗口,更具备完整的开发工作流管理能力。
3.1 Session 会话管理
每次对话都是一个独立的 Session,支持并行开发和任务隔离。
- 新建会话:输入
/new命令创建新上下文。 - 并行开发:
- 场景示例:为一个游戏增加"计时器"功能和"画笔颜色调整"功能。
- 操作:在执行第一个需求时,输入
/new开启第二个 Session 处理另一需求。 - 状态监控:输入
/c可查看当前 Session 状态(转圈符号表示后台运行中)。 - 切换:在不同 Session 间互相切换查看进度。
- 优势:避免上下文污染,提高复杂任务的并发处理能力。
3.2 对话记录共享与导出
便于团队协作或复盘代码修改过程。
- 网页分享:输入
/share生成唯一网页链接并自动复制到剪贴板,内容包含 AI 对话记录与文件修改详情;输入/unshare可使链接失效。 - 文件导出:输入
/export将对话记录保存为本地文件。
3.3 时间线与代码回退
强大的版本控制能力,允许随时回退代码状态。
- 查看历史:输入
/timeline查看当前 Session 内的所有对话节点。 - 回退操作:
- 选择任意历史对话时间点。
- 使用
rewind功能(或类似回退命令)。 - 代码和聊天内容将恢复到该时刻状态。
- 价值:试错成本低,可随时撤销错误修改或重新尝试不同方案。
3.4 交互式开发流程
OpenCode 在任务规划上展现出极高的智能化水平。
- 反向询问:开始编码前,AI 会主动询问需求细节(如是否需要完整程序、必须实现的功能、环境变量设置等)。
- 分步计划:列出详细的开发计划(To-Do List),每完成一步标记为完成。
- 对比界面:命令行版本拥有优秀的代码比对界面,能清晰展示变更内容。
- 一次成型:在测试案例中,未出现返工情况,一次性完成需求开发。
4. MCP 与 Skills 技能扩展
通过 MCP(Model Context Protocol)和 Skills 文件夹,可以极大扩展 OpenCode 的能力边界。
4.1 Skills 技能包迁移
Skill 本质上是带有目录结构的说明书,用于指导 AI 工作。
- 迁移方法:
- 找到原有
.claude目录下的skills文件夹。 - 重命名为
.opencode,并在项目中建立skills子文件夹。 - 将技能文件夹直接复制进去。
- 找到原有
- 激活方式:
- 在终端输入
open code启动。 - 询问"你有哪些 Skills",系统会列出已加载的技能。
- 遇到相关需求时,AI 会自动调用这些文档辅助工作。
- 在终端输入
4.2 MCP 配置详解
MCP 分为本地执行和远程调用两种模式,配置文件位置为 ~/.config/open-code/open-code.json。
- 本地模式(Local):
- 配置示例:设置
type为local。 - 参数:指定
command为本地可执行脚本(如xh)。 - 启用:添加
enable: true。
- 配置示例:设置
- 远程模式(Remote):
- 配置示例:设置
type为remote。 - 参数:填写
url地址(如 Context7 的接口地址)。 - 认证:在
header中填写 API Key。
- 配置示例:设置
- 验证配置:重启软件后输入
/mcp,查看是否识别到新配置的工具。
5. Oh My OpenCode 插件实战
这是一个集成了工具链、MCP 和智能体的超级插件,旨在最大化 AI 编程潜力。
5.1 插件安装与初始化
- 安装方式:复制 GitHub 首页的
install提示词,在 OpenCode 中粘贴执行。 - 配置问卷:
- 询问是否有 Claude 订阅(回答 No)。
- 询问是否有 GPT 订阅(回答 Yes,用于替代模型)。
- 确认后自动完成安装。
- 模型调整:
- 修改
~/.config/open-code/open-code.json中的模型配置。 - 例如:将主智能体 Sisyphus 的模型替换为
gpt-4o。
- 修改
5.2 七大智能体体系
插件内置了分工明确的智能体团队,每个都有专属模型。
- Sisyphus(西西弗斯):主智能体,负责规划与调度(推荐使用最强模型)。
- Oracle(先知):架构设计、代码评审。
- Librarian(图书管理员):文献查阅。
- Explorer(探索者):网络搜索。
- Frontend Engineer(前端工程师):使用 Gemini 3 Pro 等前端强模型。
- Documentation Writer(文档编写者):文档生成。
- Multimodal(多模态):处理图片/PDF 信息。
5.3 核心工作模式
- 普通模式:输入
@智能体名称指定特定专家干活。 - UltraWork 模式:
- 触发:输入魔法词
W或ultra work。 - 机制:全潜能调用,将任务拆分为 To-Do List,多个智能体并行执行。
- 案例:构建宠物商店应用,自动分配 UI、逻辑、动画任务,最终生成清晰界面与交互。
- 触发:输入魔法词
- RalphLoop 模式:
- 触发:输入
/ralloo。 - 用途:强制长时间循环,针对高难度任务持续工作。
- 场景:使用 Spring 4 标准重构项目,直到所有测试用例通过。
- 触发:输入
6. 云端协作与 GitHub 集成
OpenCode 可直接集成到 GitHub 工作流中,实现自动化代码审查与修复。
6.1 仓库准备
- 上传代码:将本地项目推送到 GitHub,设为公开仓库(Public)。
- 触发指令:在仓库代码文件夹中执行安装命令。
6.2 模型与密钥配置
- 选择提供商:安装过程中选择 API 提供商(如 Google)。
- 提交配置文件:将准备好的配置文件提交至 GitHub。
- 设置 Secrets:
- 进入仓库 Settings > Secrets and Variables > Actions。
- 添加密钥变量(如
GOOGLE_API_KEY)。 - 值从 Google AI Studio 获取并填入。
6.3 自动化工作流演示
- 模拟 Bug:用户在 Issue 中提出导航栏重复功能问题。
- 执行修复:
- 在 Issue 下评论
/open code指令。 - 触发 GitHub Actions,OpenCode 在云端运行。
- 自动分析代码并生成修复方案。
- 在 Issue 下评论
- 合并代码:
- 检查生成的 Pull Request(PR)。
- 查看 File Changes,确认修改无误。
- 点击 Merge 按钮完成合并,Issue 自动关闭。
7. 自定义命令与智能体
OpenCode 支持高度自定义,允许定义专属命令和角色。
7.1 自定义命令(Commands)
- 创建位置:在配置文件夹中新建
commands目录。 - 文件格式:使用 Markdown 文件命名。
- 配置内容:
- 指定模式:
build或plan。 - 命令描述:明确该命令的作用。
- 实际指令:定义具体的执行逻辑。
- 指定模式:
- 使用方式:输入
/命令名即可运行。
7.2 自定义智能体(Agents)
- 创建位置:在配置文件夹中新建
agents目录。 - 文件定义:Markdown 格式,包含以下字段:
- 描述:智能体的职能。
- 类型:
primary(主智能体,可按 Tab 切换)或sub-agent(子智能体,后台调度)。 - 模型:指定该智能体使用的 LLM。
- 应用场景:
- 定义 Code Reviewer 智能体,专门负责代码审查。
- 切换到主智能体时,可自动调用后台子智能体协助完成任务。
8. 常见坑与排查
以下是使用 OpenCode 过程中可能遇到的常见问题与建议排查方向:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 客户端无法启动 | 处于 Beta 测试期 Bug 较多 | 建议改用命令行版本,稳定性更高 |
| 模型连接失败 | API Key 错误或网络限制 | 检查 OpenRouter API Key 有效期,使用代理网络 |
| GitHub Action 报错 | 环境变量缺失 | 确认 Repository Secrets 已正确填入且名称一致 |
| MCP 配置不生效 | JSON 格式错误 | 检查配置文件逗号、引号,确保无多余字符 |
| 技能未加载 | 目录结构错误 | 确认 .opencode/skills 目录存在且包含有效文件 |
| 插件安装卡住 | 网络超时 | 耐心等待或重试,确保复制的命令完整 |