OpenCode
1. OpenCode 是什么
OpenCode 是一个开源的 AI 编程助手,可以在终端、桌面应用和 IDE 插件中使用。
它的核心作用是:让 AI 直接理解你的项目目录,帮你分析代码、修改文件、运行命令、生成项目。
常用资源:
| 资源 | 链接 |
|---|---|
| 官网 | https://opencode.ai/ |
| 中文文档 | https://opencode.ai/docs/zh-cn |
| GitHub | https://github.com/anomalyco/opencode |
| 下载页面 | https://opencode.ai/download |
关键数据(截至 2026 年):
- GitHub Star:160,000+
- 贡献者:900+
- 月活开发者:7,500,000+
2. 为什么选择 OpenCode
OpenCode 的主要特点:
- 开源:工具本身开放,可由社区维护和扩展。
- 模型灵活:可以连接 OpenAI、Google、DeepSeek、Qwen、Ollama 等不同模型,支持 75+ LLM 提供商。
- 可定制:可以通过配置文件、Agent、Skills、MCP 等方式扩展能力。
- 成本灵活:工具免费,主要成本来自你选择的模型服务。
- 适合国内开发者:可以接入国产模型,也可以使用本地模型,降低单一平台不可用的风险。
- 隐私优先:不存储任何代码或上下文数据,适合对隐私敏感的环境。
OpenCode vs Claude Code 对比
| 对比项 | OpenCode | Claude Code |
|---|---|---|
| 开源情况 | 开源 | 闭源商业产品 |
| 模型选择 | 支持 75+ 模型供应商 | 主要绑定 Claude |
| 定制能力 | 高,可配置 Agent、Skills、MCP | 相对有限 |
| 使用成本 | 工具免费,模型按供应商计费 | 通常需要 Claude 订阅 |
| 运行方式 | 终端 / 桌面应用 / IDE 插件 | 终端 / 桌面应用 / IDE 插件 |
| 适合人群 | 想灵活控制工具链的开发者 | 想要 Claude 原生体验的开发者 |
3. 安装 OpenCode
官方下载地址:https://opencode.ai/download
3.1 环境准备
安装前确认以下条件:
| 条件 | 说明 |
|---|---|
| 操作系统 | macOS / Linux / Windows(推荐 WSL) |
| 终端工具 | WezTerm、Alacritty、Ghostty、Kitty 等现代终端 |
| API Key | 需要配置至少一个 AI 服务商的密钥 |
3.2 Windows 安装
方式一:NPM 安装(需先安装 Node.js)
npm install-g opencode-ai方式二:Scoop 安装
scoop install opencode方式三:Chocolatey 安装
choco install opencode推荐:Windows 用户建议使用 WSL,体验通常更稳定。详见 WSL 安装指南。
3.3 Linux 安装
# 一键安装(推荐)curl-fsSLhttps://opencode.ai/install|bashArch Linux 用户:
sudopacman-Sopencode3.4 macOS 安装
# 推荐使用官方 tap(更新更快)brewinstallanomalyco/tap/opencode# 或使用官方 brew formula(更新较慢)brewinstallopencode3.5 Docker 运行
dockerrun-it--rmghcr.io/anomalyco/opencode3.6 VS Code 插件安装
OpenCode 也提供了 VS Code 插件,可以在扩展市场中搜索opencode安装。
3.7 桌面应用(Beta)
OpenCode 还提供桌面应用,支持 macOS、Windows 和 Linux:
| 平台 | 下载 |
|---|---|
| macOS (Apple Silicon) | opencode-desktop-mac-arm64.dmg |
| macOS (Intel) | opencode-desktop-mac-x64.dmg |
| Windows | opencode-desktop-windows-x64.exe |
| Linux | .deb / .rpm / .AppImage |
下载地址:https://opencode.ai/download
3.8 验证安装
在终端执行:
opencode--version如果输出类似1.14.23的版本号,说明安装成功。
启动 OpenCode:
opencode启动后即可看到 OpenCode 的 TUI 界面,在底部输入框中输入问题即可开始对话。
4. 打开项目
OpenCode 必须在某个项目目录中运行,这个目录就是它的工作目录。
方式一:先切换目录再启动
cd你的项目目录 opencode方式二:直接指定目录
opencode d:/projects/my-app注意:进入 OpenCode 后,不能像普通终端一样随意切换工作目录。如果要处理另一个项目,建议退出后重新在目标目录启动。
4.1 项目内搜索文件
进入项目后,OpenCode 会自动索引项目文件。当你提出需求时,AI 会主动搜索相关文件。可以使用@符号后面跟上文件名进行搜索@文件名
5. 两种工作模式(Agent)
OpenCode 内置两个 Agent,可以用Tab键切换:
5.1 plan 模式
plan模式偏向“分析和规划”,是一个只读Agent。
它适合用来:
- 阅读和理解项目。
- 分析问题和制定方案。
- 解释代码逻辑。
- 探索不熟悉的代码库。
特点:
- 默认拒绝编辑文件。
- 运行 bash 命令前会请求许可。
- 更安全,适合初学者探索。
5.2 build 模式
build模式偏向“执行和修改”,是一个全权限Agent。
它适合用来:
- 创建文件。
- 修改代码。
- 运行命令。
- 完成具体开发任务。
5.3 模式切换演示
在 TUI 中按Tab键切换plan和build模式。
课堂演示:
请为我生成一个 README.md 文件分别在plan和build模式下执行,观察 AI 的反馈差异:
| 模式 | 预期行为 |
|---|---|
| plan | 分析项目结构,给出 README 建议,但不创建文件 |
| build | 直接创建 README.md 文件并写入内容 |
6. 常用命令
6.1 命令菜单
在 OpenCode 中输入/可以打开命令菜单,查看所有可用命令。
上图:输入
/后弹出的命令列表,包括/agents、/compact、/init、/mcp等常用命令。
使用快捷键Ctrl + P可以打开命令面板,快速切换模型、会话等。
上图:
Ctrl+P打开的命令面板,可以快速搜索命令、切换会话和模型。
6.2/init— 初始化项目规则
用于初始化项目规则。执行后会生成AGENTS.md,这个文件相当于写给 AI 的项目说明书。
示例规则:
本项目生成的代码必须在方法上添加注释。 作者统一写为:潜心。以后让 AI 修改代码时,它会参考这些规则。
6.3/undo和/redo— 撤销与恢复
/undo:撤销上一次 AI 修改。/redo:恢复刚刚撤销的修改。
适合在 AI 修改多个文件后快速回滚。
6.4/new和/sessions— 会话管理
/new:创建一个新会话。/sessions:查看并切换历史会话。
上图:会话列表界面,显示今天的所有会话,支持用快捷键删除(
ctrl+d)或重命名(ctrl+r)。
提示:OpenCode 支持多会话,可以在同一个项目中并行启动多个 Agent。不同任务建议放在不同会话中,避免上下文互相干扰。
注意:会话不是 Git 版本控制。如果多个会话修改同一个文件,仍然需要小心冲突。
6.5/models— 切换模型
输入/models可以查看和切换可用的 AI 模型。
也可以使用快捷键Ctrl + P快速选择模型。
6.6/mcp— 查看 MCP 状态
输入/mcp可以检查已配置的 MCP 服务是否正常启用。
6.7 执行 Shell 命令
OpenCode 中可以让 AI 执行命令,也可以通过命令查看项目状态。
例如:
ls# Linux / macOSdir# Windows6.8 引用文件
你可以让 AI 针对某个文件处理问题。
示例:
请阅读 OrderService.java,并为其中的方法补充注释。7. 配置模型供应商
OpenCode 支持切换不同模型供应商,通过opencode.json配置文件管理。
7.1 配置文件位置
| 平台 | 路径 |
|---|---|
| macOS / Linux | ~/.config/opencode/opencode.json |
| Windows | C:\Users\<用户名>\.config\opencode\opencode.json |
| 项目级 | 项目根目录下的opencode.json |
7.2 配置文件加载顺序
OpenCode 会从多个位置读取配置,后面的配置会覆盖前面的配置:
- 远程配置
- 全局配置:
~/.config/opencode/opencode.json - 自定义配置:
OPENCODE_CONFIG环境变量 - 项目配置:项目中的
opencode.json .opencode目录- 内联配置:
OPENCODE_CONFIG_CONTENT环境变量
配置是"合并",不是简单替换。
7.3 OpenAI 兼容供应商示例
很多国产模型服务都提供 OpenAI 兼容接口,可以这样配置:
{"$schema":"https://opencode.ai/config.json",// 提供商配置:定义AI服务提供商的连接信息"provider":{// "my-provider": 自定义的提供商名称,可根据需要修改"my-provider":{// npm包名:使用兼容OpenAI接口的客户端库"npm":"@ai-sdk/openai-compatible",// 提供商的显示名称(仅用于标识)"name":"my-provider",// 提供商的具体配置选项"options":{// API服务的基准URL地址"baseURL":"https://api.example.com/openai",// API密钥:从环境变量 MY_API_KEY 中读取,避免硬编码"apiKey":"{env:MY_API_KEY}"},// 模型配置:定义可用的AI模型"models":{// "my-model": 自定义的模型名称"my-model":{// 模型的实际名称(需要提供商支持)"name":"my-model"}}}}}安全提示:建议把 API Key 放到环境变量里,不要直接写在配置文件中。
7.4 阿里云百炼配置示例
以阿里云百炼为例,配置接入国产模型:
{"$schema":"https://opencode.ai/config.json",// 提供商配置:定义AI服务提供商的连接信息"provider":{// "bailian": 百炼平台(阿里云模型服务)的配置"bailian":{// npm包名:使用Anthropic兼容的客户端库(因为百炼兼容Anthropic接口)"npm":"@ai-sdk/anthropic",// 提供商的显示名称"name":"Alibaba Cloud Model Studio",// 提供商的具体配置选项"options":{// API服务的基准URL(百炼平台的Anthropic兼容接口地址)"baseURL":"https://dashscope.aliyuncs.com/apps/anthropic/v1",// API密钥:建议替换为实际密钥,或使用环境变量如 "{env:BAILIAN_API_KEY}""apiKey":"YOUR_API_KEY"},// 模型配置:定义可用的AI模型"models":{// "qwen3.6-plus": 自定义的模型别名"qwen3.6-plus":{// 模型的实际名称(通义千问3.6 Plus版本)"name":"Qwen3.6 Plus",// 模型特定的配置选项"options":{// "thinking": 思考模式配置(部分模型支持深度思考)"thinking":{// "type": 思考模式的启用状态(enabled=启用,disabled=禁用)"type":"enabled",// "budgetTokens": 思考模式的最大token预算(8192个token用于思考过程)"budgetTokens":8192}}}}}}}配置完成后,重启 OpenCode,输入/models选择模型即可。
8. Skills 简介
Skill 可以理解为“给 AI 的专项工作说明书”。
它本质上是一个固定名称的 Markdown 文件SKILL.md,可以告诉 AI:
- 遇到某类任务时应该怎么做。
- 使用什么流程。
- 遵守什么规范。
- 产出什么格式。
8.1 Skills 搜索路径
OpenCode 会自动搜索以下目录:
.opencode/skills/<技能名称>/SKILL.md ~/.config/opkills/<技能名称>/SKILL.md .claude/skills/<技能名称>/SKILL.md .agents/skills/<技能名称>/SKILL.md8.2 查看可用 Skills
进入 OpenCode 后,输入/skills可以查看当前可用的技能列表。
9. MCP 简介
MCP 的全称是Model Context Protocol(模型上下文协议),可以理解为 AI 工具的通用扩展协议。
它可以让 OpenCode 连接外部服务,例如:
- 地图服务
- 数据库
- 浏览器
- 文件系统
- 企业内部系统
9.1 高德 MCP 示例
在opencode.json中添加配置:
{"$schema":"https://opencode.ai/config.json","mcp":{"amap":{"type":"remote","url":"https://mcp.amap.com/sse?key=你的高德Key","enabled":true}}}9.2 验证 MCP
进入 OpenCode 后,输入:
/mcp检查 MCP 服务是否启用。
9.3 测试 MCP 功能
配置完成后,可以直接用自然语言提问:
北京到上海有多远?AI 会自动调用高德 MCP 服务获取距离信息。
10. 实战案例
以下是使用 OpenCode 的一些实际场景截图,帮助你直观了解它的能力。
10.1 生成网页游戏
AI 可以根据自然语言描述,直接生成可运行的网页游戏。
可以使用前端设计的skills让网页写的更精美
第一个就是专门做前端网页设计的skills,然后将下面这段提示词直接粘贴到输入框中直接回车即可
🎮 游戏规则 游戏在一个4x4或5x5的网格上进行。你需要通过方向键或滑动屏幕,控制所有数字方块向同一方向移动。 核心玩法:每次移动时,相邻且数字相同的方块会合并成一个新方块,其数字是两者之和(例如2和2合并成4,4和4合并成8)。 随机生成:每次移动并合并后,会在空白的格子处随机生成一个新的数字(通常是1或2或4)。 获胜目标:游戏的最终目标就是通过不断合并,在网格中拼出一个数字为“1024”的方块 1024小程序开发,具体请参考项目目录中的rules.md项目说明,生成一个基于html+css+js的前端页面。11. 实用技巧汇总
| 技巧 | 说明 |
|---|---|
Tab键 | 切换 plan / build 模式 |
Ctrl + P | 快速选择模型 |
/init | 初始化项目规则文件 |
/undo//redo | 撤销 / 恢复 AI 修改 |
/new | 创建新会话 |
/sessions | 查看历史会话 |
/models | 查看和切换模型 |
/skills | 查看可用技能 |
/mcp | 查看 MCP 服务状态 |
/exit | 退出程序 |
@general | 调用通用子 Agent 处理复杂搜索 |