OpenCode:免费开源的AI编程利器,四种形态详解
OpenCode 是近期热度最高的 AI 编程工具之一。它的最大优势在于,开箱即用就能调用免费的模型,而且通过简单配置,还能免费接入 Gemini 3 Pro、Claude 4.5 Opus 等顶级编程模型。可以把它看作一个开源版的 Claude Code——几乎具备 Claude Code 的全部功能,但对国内用户尤其友好,没有限速、封号这些烦心事。在 OpenCode 里,有几款主流模型完全免费,非常适合小白上手,随便造、随便玩,还能用来练习 Agent Skills、MCP、SubAgent 等高级特性。下面就来做一个完整的教程,重点说清楚 OpenCode 的四种形态、与其他工具的对比亮点,还有 Oh My OpenCode 这个超强插件,以及一系列高级玩法。
四种形态
OpenCode 有四种形态:命令行、桌面客户端、插件,以及云端运行环境。
先从命令行说起。这里推荐用 Node.js 方式安装。先到 Node.js 官网下载对应系统的安装包,装好之后复制 npm 安装命令,打开终端粘贴运行,很快就装好了。然后输入 opencode 直接启动,进到界面打个招呼,配置就算搞定,非常简单。
再来看客户端版。到官网下载页面点击下载客户端,一路下一步安装完毕。
opencode.ai/zh/download
打开后选一个文件夹作为项目目录,就能直接用了。不过客户端目前还不是完整的 IDE,只有基础的对话框功能,且处于 Beta 测试版,实测 bug 不少。所以下面的介绍主要以命令行版为准。
插件版需要先安装好命令行版。以 VS Code 为例,在扩展商店搜索 OpenCode,找到插件安装。之后按 Ctrl+Shift+P 调出命令面板,输入 open opencode 回车,就能以插件形式打开 OpenCode。它自动关联左侧打开的代码文件,还可以选中一段代码,按 Ctrl+Alt+K 快捷粘贴到聊天窗口。这就是插件的全部功能。
云端运行环境放到最后再讲。
AI 模型
OpenCode 最棒的地方在于内置了免费模型。在软件里输入命令 /models,后面带 Free 标记的就是免费可用的模型。尤其是 GLM 和 MiniMax,编程能力相当不错,零配置开箱即用,直接提需求就能编程,很适合新手练手。
接下来把另一个好用的编程模型 GPT Codex 也接进来。就在前几天,OpenAI 跟 OpenCode 官宣合作,可以直接在 OpenCode 里使用 ChatGPT Codex 的编程套餐。订阅方法这里就不展开说了(之前有详细教程)。在 OpenCode 输入 /connect 回车,选 OpenAI,再选 ChatGPT Pro/Plus。浏览器里打开链接,点继续,登录完成。回到 OpenCode 输入 /models,就能选到 ChatGPT 的几个模型。
除了上面这些,输入 /connect 命令可以查到 75 种 AI 接入方式,几乎囊括所有模型供应商。比如 OpenRouter,需要填写一个 API Key。到 OpenRouter 官网创建 Key,复制后填进 OpenCode 回车。一个 OpenRouter 就能接入市面上几乎所有大模型,国内用户也能方便获取额度,可以说只要接入了 OpenRouter,几乎就能用上一切模型。
编程亮点
拿一个经典的测试用例来试试——OpenCode 的表现有几个亮点。首先,开始之前它会反向询问细节:比如只要代码样例,还是完整可运行的程序?哪些功能必须实现?调用哪个 Gemini 模型?环境变量怎么保存?动手之前先把所有需求问清楚,这个习惯非常好。之后它会列出一份详细的开发计划,分步骤完成,每完成一步都标记出来。
第二个亮点是命令行版的代码比对界面。在所有命令行类编程工具里,它的对比界面做得最到位。整个编程过程没出任何错误,也不需要返工,一次性完成了需求开发。这里用的编程模型是 GPT-5.2-Codex,通过登录 ChatGPT Plus 订阅接入。它在 OpenCode 里的表现跟原生的 Codex CLI 几乎一致。OpenCode 在底层对各种编程模型做了不少工程优化,这点值得肯定。
Session 与时间线
OpenCode 重点突出了 session 的概念。每次跟 AI 开启的新对话就是一个全新 session。session 可以后台运行,而且多个 session 可以并行。比如刚才生成了一个“你画我猜”的游戏网站,现在想加两个功能:调整画笔颜色,以及增加计时器——如果作画超过 20 秒就算输。先输入第一个需求:增加计时器,从第一次落笔开始计时,超 20 秒失败。任务执行过程中,可以输入 /new 创建一个新 session,开始第二个需求:画笔颜色调节。输入 /sessions 就能看到所有 session,前面带旋转符号的代表正在后台运行。这样两个需求并行开发,还能在 session 之间切换查看状态。最终两个功能都成功实现。
输入 /share 可以把这个 session 的对话记录分享成一个网页。地址自动复制到剪贴板,粘贴到浏览器就能看到完整对话——包括文件怎么修改的。有了历史记录,就可以很方便地把编程过程分享给别人。输入 /unshare 取消分享,之前的链接就失效了。输入 /export 可以把对话记录导出成文件。
OpenCode 还有一个亮点功能——时间线(检查点)。输入 /timeline 回车,可以看到当前 session 的对话记录。选择任意一次对话,点 revert,代码和聊天内容都会回退到那次对话之前的状态。这样就可以回到某个时间点重新修改。
Agent Skills 与 MCP
之前介绍过 agent skills 的基本概念和目录结构。可以把 skill 理解成带目录的说明书,每个文件夹对应一个技能包。要把 Claude Code 里的 skill 迁移到 OpenCode 很简单:把目录中的 .claude 替换成 .opencode 就行。假设之前创建了 3 个 skills 文件夹,迁移到 OpenCode 也很方便:在项目文件夹新建一个 .opencode 文件夹,再建一个 skills 子文件夹,然后把那 3 个技能直接复制进来。这样项目就拥有了这 3 个技能。右键在终端打开,输入 opencode 启动,问它有哪些 skills,它就能完整回答。当需要时,它会自动调用这些 skills 工作。
接下来看 MCP 的配置。OpenCode 支持两种 MCP:local(本地命令执行)和 remote(远程调用)。先以 shadcn 为例配置 local MCP。来到 OpenCode 的配置文件夹 C:Users你的用户名.configopencode,找到 opencode.json。复制文档中的 MCP 配置段落,粘贴进来,去掉多余逗号。填写 MCP 名字为 shadcn,类型 local,command 填 npx 和 shadcn@latest,再加一个 mcp 字段,enabled 设为 true。没有环境变量,这样本地 MCP 就配好了。
再看一个 remote 的例子——Context7 MCP Server。回到 OpenCode 文档,复制 remote 配置段落,粘贴到配置文件。类型设为 remote,URL 填 Context7 的地址,header 里填上对应字符串,API Key 从 Context7 官网创建后填入。改 MCP 名字为 context7。重启 OpenCode,输入 /mcp,就能看到刚才配置的两个 MCP。这就是本地和远程两种 MCP 的配置方式。
Oh My OpenCode
Oh My OpenCode 是 OpenCode 上最火的编程插件,本质上是工具、MCP、编程 agent 的组合捆绑包。工具方面,它集成了 LSP 高级版(通过语法和语义帮助 AI 快速定位代码)、AST 工具(通过语法树进行关联搜索)、look at 工具(借助多模态模型理解图片和 PDF),还有 delegate task、background task 等任务分配和后台调度工具。
插件内置了 3 个 MCP Server:websearch(网络搜索)、context7(获取最新文档)、grep_app(在 GitHub 仓库快速搜索代码)。
还内置了 7 大编程智能体:西西弗斯(主智能体,负责规划调度)、先知(架构设计、代码评审)、图书管理员(查阅文献)、探索者(网络搜索)、前端工程师、文档编写者、多模态等。每个智能体都分配了最适合它工作的大模型,比如前端工程师用 Gemini 3 Pro,主 agent 用 Claude Opos 4.5。据说作者花了 24,000 美元的 token 才找到最佳组合。
安装插件:在 GitHub 首页复制 install 开头的提示词,回到 OpenCode 粘贴。安装过程中会问几个问题:有没有 Claude 订阅(没有)、有没有 ChatGPT 订阅(有)、有没有 Gemini 订阅(有),确认后安装完成。之后在 C:Users你的用户名.configopencode 下看到 oh-my-opencode.json 配置文件,里面定义了七大智能体所用的模型,可以根据需要调整。比如把西西弗斯的模型换成 GPT-5.2,其他保持默认。重启 OpenCode,默认智能体就是西西弗斯。
插件的用法:敲 @ 挑选一个智能体干活;或者输入魔法词 ulw(Ultra work),它会尽可能调用一切潜能,把任务分配给几个智能体并行运行,由主智能体西西弗斯居中调度。比如要一个宠物商店的页面,填写需求后开始,它把任务拆成 Todo List,同时开启三个后台任务并行执行,不停调度。几分钟后效果出来——界面清新,没有图片素材就用 emoji 代替,交互和动画都做得不错。如果你有 GPT、Claude 等顶尖模型的订阅,不妨试试这个插件,综合调度各领域最强的模型完成编程任务。
另一个重要玩法是输入 /rough-loop(拉尔夫循环)。这个模式强制 AI 长时间循环,针对非常难的任务持续工作。比如要求它用 SpringBoot 4 最新标准重构整个项目,直到所有测试用例通过。它可以循环连续运行几个小时,直到任务完成。
GitHub 集成
前面讲了命令行、桌面版、插件版,现在看云端运行环境。以 GitHub 为例:在 GitHub 上输入 /opencode,OpenCode 就能在 GitHub 云端工作,比如解释问题、自动修复问题、创建 PR 等。安装方式如下:
先将项目上传到 GitHub(比如刚才的宠物商店应用)。点击 source control → publish branch,选 public 变成公开仓库。点击右下角 open on GitHub,代码就上传成功了。然后到代码文件夹复制安装命令执行。安装过程中选择模型提供商(只能用 API Key),选一个模型。接下来两步操作:首先将项目里的配置文件提交到 GitHub;然后到项目的 Settings → Secret and Variables → Actions → Repository secrets,填入两个环境变量(API Key 从 AI Studio 创建)。
假设有用户在 issue 里提 bug,说顶部导航栏“find a pet”和“adopt now”功能重复,要删掉一个。在 issue 里直接回复 /opencode,让 OpenCode 修复。提交评论后,项目的 actions 里就会出现一个正在执行的工作流——OpenCode 在 GitHub 云端运行,修复问题。任务完成后,pull request 里出现合并请求,点 file changes 可以看到代码修改成功。只需点 merge 按钮,修改就合并到代码仓库,issue 也随之关闭。
重要功能
最后介绍几个其他重要功能,之前在 Claude Code 和 Codex 的视频里也讲过,这里快速过一遍。
第一个命令 /init:让 AI 通读整个项目文件夹,生成一个 AGENTS.MD 文件,作为项目系统提示词,帮助 AI 快速了解项目。
第二个命令 /compact:压缩对话上下文,把之前的对话提炼成简洁摘要,释放模型上下文窗口。
除了内置的 / 命令,也可以创建自定义命令。在 OpenCode 配置文件夹里新建 command 文件夹,在里面用 Markdown 文件定义命令。比如创建一个“运行测试”命令,复制官网样例,指定模式(build 或 plan),写清描述。配置好后在 OpenCode 里输入 /+命令名就能运行。
下一个功能是定制智能体。OpenCode 预设了 plan 和 build 两种智能体,也可以创建新的。在配置文件夹新建 agent 文件夹,比如创建一个 code review 智能体:新建 Markdown 文件,填上描述、类型(主智能体或 SubAgent)、模型、说明。SubAgent 可以由主智能体在后台调度执行;primary 主智能体则可以通过 Tab 键显式切换。定义好后,当 AI 需要 review 代码时,就会自动调用 SubAgent 在后台完成工作。
以上就是 OpenCode 的完整教程,从安装到高级功能,覆盖了四种形态、模型接入、Session 管理、Agent Skills、MCP、Oh My OpenCode 插件、GitHub 集成以及自定义命令和智能体。上手之后会发现,它的灵活性和开源生态确实值得深入探索。
