OpenCode —— 用 AI Agent 重塑开发范式
一、OpenCode 是什么
OpenCode 是一款 100% 开源的 AI 编程代理(AI Coding Agent),专为终端环境设计,被誉为”为终端而生的 AI 编程助手”。它由 Anomaly Innovations 公司开发,采用 MIT 开源协议,在短短数月内在 GitHub 斩获 95,000+ Star,月活跃用户超过 650,000。
与传统 IDE 插件(如 GitHub Copilot、Cursor)不同,OpenCode 是一款”生长”在终端里的 AI 编程工具。它不仅能补全代码,更能深度理解整个项目上下文、执行复杂重构任务、自动编写文档——本质上是一个具备自主行动力的智能编程伙伴。
OpenCode 提供三种使用形态:
| 形态 | 说明 |
|---|---|
| CLI 终端版 | 通过命令行启动 TUI(终端用户界面),核心使用方式 |
| 桌面应用 | 提供独立 GUI 窗口,适合不习惯终端的用户 |
| IDE 插件 | 支持 VS Code、Cursor 等主流编辑器 |
本文主要介绍 OpenCode 的终端版,其他形态的使用方法请参考官方文档。
二、核心特性与优势
1. 独创的 Plan/Build 双模式
OpenCode 最大的创新在于将编程任务分解为”规划”与”构建”两个阶段:
- Plan 模式(架构师视角):只分析不修改,扫描代码库、分析依赖关系,输出详细的实施计划
- Build 模式(工程师视角):基于确认的计划执行具体代码编写、文件修改、测试运行
这种”先想后做”的工作流,完美契合高级工程师的思维模式,避免了 AI 盲目改代码导致的问题。
2. 多模型自由切换
支持 75+ 种大语言模型,包括但不限于:
- OpenAI 系列:GPT-4o、o3-mini 等
- Anthropic 系列:Claude 3.5 Sonnet、Claude 3.7 Sonnet 等
- Google 系列:Gemini 2.0 Pro、Gemini 2.5 Flash 等
- 国产模型:DeepSeek-V4、GLM-5.1、MiniMax M2.7 等
- 本地模型:通过 Ollama、LM Studio 运行本地模型
3. 内置免费模型
OpenCode 提供官方精选的 Zen 模型集合,包含多个免费模型,无需 API Key 即可直接使用,真正做到零成本上手。
内置的免费模型效果一般,建议在生产环境中使用付费模型API。
4. 上下文感知能力
通过 /init 命令自动分析项目结构,生成 AGENTS.md 文件,让 AI 深入理解项目架构、编码规范和依赖关系。
5. 内置 LSP 支持
深度集成 Language Server Protocol(语言服务器协议,LSP ),提供实时诊断、代码跳转、悬停提示、多语言智能支持,让 AI 不仅”读”文本,更能”理解”代码的语法结构。
6. MCP 服务器支持
支持 Model Context Protocol,可连接外部数据源和工具(如数据库、文档检索、搜索等),无限扩展能力边界。
三、安装 OpenCode
3.1 前置要求
- Node.js:确保已安装 Node.js(建议 18+ 版本)
- npm:Node.js 包管理器,用于安装 OpenCode
- Git:用于项目版本控制
3.2 安装方法
安装 Node.js
前往Node.js 官方下载页面 https://nodejs.org/en/download/ 下载并安装 Node.js(包管理器选择npm)。
对于Linux 用户,建议使用以下命令安装 Node.js:
sudo apt install node npm # Debian系paru -S node npm # Fedora系paru -S node npm # Arch Linux安装 OpenCode
npm install -g opencode-ai验证安装
opencode --version若输出版本号(如 1.1.19),表示安装成功。
四、首次配置与启动
4.1 启动 OpenCode
打开终端,输入以下命令启动 OpenCode:
opencode看到如下界面,说明 OpenCode 已成功启动:

4.2 配置 AI 模型
使用免费模型(无需配置)
启动后输入以下命令查看免费模型:
/models选择带有 Free 标识的模型即可零成本使用。
配置付费模型 API Key
如需使用 OpenAI、Claude 等付费模型:
方法一:命令行配置
opencode auth login方法二:TUI 内配置
/connect按提示选择提供商、粘贴 API Key 即可。
配置第三方模型提供商
在项目根目录创建 opencode.json 配置文件:
{ "$schema": "https://opencode.ai/config.json", "provider": { "myprovider": { "npm": "@ai-sdk/openai-compatible", "name": "Custom Provider", "options": { "baseURL": "https://api.example.com/v1", "headers": { "Authorization": "Bearer your_api_key" } }, "models": { "model-name": { "name": "alias-name" } } } }}4.3 项目初始化
在项目目录内运行:
/initOpenCode 将:
- 扫描当前目录的代码结构
- 创建
.opencode/配置目录 - 生成
AGENTS.md文件(记录项目信息、编码规范、架构说明)
建议:将
AGENTS.md提交到 Git 仓库,帮助团队成员共享 AI 上下文。
五、核心使用方式
5.1 Plan 模式与 Build 模式
OpenCode 通过 Tab 键 在两种模式间切换,右下角会显示当前模式指示器。
| 模式 | 功能 | 适用场景 |
|---|---|---|
| Plan | 只读分析,生成实施计划,不修改代码 | 需求分析、技术方案设计、代码审查 |
| Build | 全权限执行,实际编写和修改代码 | 功能开发、Bug 修复、代码重构 |
使用流程:
- 按 Tab 切换到 Plan 模式
- 描述你的需求,获取详细实施计划
- 审阅计划,补充细节或调整方向
- 按 Tab 切换回 Build 模式
- 让 OpenCode 执行代码变更
5.2 常用交互命令
在 TUI 界面中,以 / 开头的斜杠命令是主要交互方式:
核心命令
| 命令 | 说明 | 快捷键 |
|---|---|---|
/init | 扫描项目,生成 AGENTS.md 文件 | Ctrl+X i |
/plan | 进入规划模式(只读) | - |
/build | 进入构建模式(可编辑) | - |
对话管理
| 命令 | 说明 | 快捷键 |
|---|---|---|
/new / /clear | 开始新对话 | Ctrl+X n |
/sessions / /resume | 列出历史会话 | Ctrl+X l |
/compact / /summarize | 压缩对话,节省 Token | Ctrl+X c |
/export | 导出对话为 Markdown | Ctrl+X x |
/share | 生成公开分享链接 | Ctrl+X s |
编辑与撤销
| 命令 | 说明 | 快捷键 |
|---|---|---|
/undo | 撤销 AI 上一次的修改 | Ctrl+X u |
/redo | 重做被撤销的操作 | Ctrl+X r |
实用工具
| 命令 | 说明 | 快捷键 |
|---|---|---|
/models | 切换 AI 模型 | Ctrl+X m |
/themes | 切换终端主题 | Ctrl+X t |
/help | 显示帮助信息 | Ctrl+X h |
/exit / /quit | 退出 OpenCode | Ctrl+X q |
5.3 内置工具集
OpenCode 的 AI Agent 通过以下工具操作代码库:
| 工具 | 功能说明 |
|---|---|
bash | 执行 Shell 命令(如 git status、npm test) |
write | 创建新文件 |
edit | 修改现有文件 |
patch | 对文件打补丁 |
read | 读取文件内容(支持指定行范围) |
grep | 在项目中搜索文本 |
glob | 按模式匹配文件 |
list | 列出目录内容(尊重 .gitignore) |
webfetch | 抓取网页内容(查文档) |
lsp | 代码跳转、悬停提示(实验性) |
question | 向用户提问确认 |
todo | 维护任务清单 |
工具权限可在
opencode.json中设置为allow(允许)、deny(拒绝)或ask(询问确认)。
六、实战示例
6.1 创建项目并生成代码
场景:快速创建一个 Express.js API 服务
# 步骤 1:创建项目目录mkdir my-api && cd my-apinpm init -y
# 步骤 2:启动 OpenCodeopencode
# 步骤 3:初始化项目(生成 AGENTS.md 文件)/init
# 步骤 4:描述需求创建一个 Express.js 服务,支持 /hello 路由返回 JSON { message: 'Hello World' },并添加 README 文档。OpenCode 将自动:
- 安装 Express 依赖
- 创建
index.js服务器代码 - 配置路由处理
- 生成项目 README
脚本化执行:
opencode -p "创建一个 React + TypeScript 项目,配置 Tailwind CSS"6.2 解释与分析现有代码
场景:理解复杂代码逻辑
# 引用文件并提问文件 @src/auth.js 包含哪些功能?请解释其中的认证逻辑。
# 询问多个文件的关系@src/services 目录下的各个模块是如何协作的?使用 @ 符号引用项目中的文件或目录路径,OpenCode 会自动读取并分析。
6.3 代码重构与优化
场景:重构登录模块
# 步骤 1:按 Tab 进入 Plan 模式
# 步骤 2:描述重构需求重构 src/components/Login.tsx 组件:1. 将表单逻辑提取为自定义 Hook2. 添加更完善的错误处理3. 优化性能,减少不必要的重渲染
# 步骤 3:审阅生成的计划
# 步骤 4:按 Tab 切换到 Build 模式,确认执行听起来不错!请继续进行更改。七、进阶功能
自定义命令
在 ~/.config/opencode/commands/ 目录创建 Markdown 文件:
mkdir -p ~/.config/opencode/commands/cat > ~/.config/opencode/commands/prime-context.md << 'EOF'请在每次回复前:1. 检查项目的 coding style2. 确保所有修改都有对应的测试覆盖3. 遵循 TypeScript 严格模式EOFMCP 服务器配置
通过 MCP 连接外部工具,在 opencode.json 中添加:
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token" } } }}多会话协作
同时开启多个 Agent 处理不同任务:
/sessions # 查看所有会话/resume <id> # 切换到指定会话IDE 集成
在 VS Code 中搜索安装 OpenCode 扩展,即可获得与终端版一致的 AI 辅助体验。
oh-my-opencode 扩展
oh-my-opencode 是一个强大的多智能体扩展:
- Sisyphus 主智能体:持续执行复杂任务直至完成
- 专业子智能体:Oracle(分析)、Librarian(文档)、Frontend Engineer(前端)等
- 多模型调度:自动分配任务给最适合的模型
- 关键词触发:在提示中加入
ultrawork激活完整自动化模式
八、最佳实践与注意事项
1. 给 AI 充足的上下文
像指导团队中的初级开发者一样,提供:
- 清晰的需求描述
- 相关的代码示例
- 期望的输入/输出
- 约束条件和边界情况
2. 善用 Plan 模式做复杂任务
对于涉及多文件修改的复杂需求,务必先使用 Plan 模式生成方案,确认后再切换到 Build 模式执行。这能大幅降低出错概率。
3. 定期压缩对话
长对话会消耗大量 Token,定期使用 /compact 压缩历史,保持高效且低成本。
4. 版本控制敏感配置
# 将 API Key 配置文件加入 .gitignoreecho "opencode.json" >> .gitignore
# AGENTS.md 可以提交到 Gitgit add AGENTS.mdgit commit -m "docs: add AI assistant context guide"5. 保持 OpenCode 更新
npm update -g opencode-ai6. 图片输入
OpenCode 支持将图片拖放到终端中作为输入,可用于:
- 参考 UI 设计稿生成代码
- 分析错误截图
- 解释流程图或架构图
九、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 安装后命令找不到 | 检查 Node.js 全局安装路径是否在 PATH 环境变量中 |
| API Key 未生效 | 确认 opencode.json 格式正确,重启 OpenCode |
| 本地模型连接失败 | 确认 Ollama 服务已启动,模型已下载 |
| 权限不足 | Linux/macOS 尝试 sudo opencode 或检查目录权限 |
| TUI 显示异常 | 升级终端模拟器到最新版本,推荐 WezTerm 或 Alacritty |
| Token 消耗过快 | 使用 /compact 压缩对话,或切换到免费模型 |
| MCP 服务器报错 | 检查 MCP 配置格式,部分服务器会消耗大量 Token |
十、总结
OpenCode 代表了 AI 编程工具从”付费订阅”到”开源自主”的范式转移。它不仅提供了媲美商业工具(如 Claude Code)的强大能力,更赋予了开发者完全的控制权和自由度:
- 零成本起步:内置免费模型,无需信用卡
- 模型自由:75+ 模型随心切换,告别供应商锁定
- 开源可定制:MIT 协议,可自由修改和扩展
- 专业工作流:Plan/Build 双模式,“先规划后执行”
无论你是终端极客、全栈工程师,还是架构师,OpenCode 都能成为你提升开发效率的得力伙伴。
快速开始清单
# 1. 安装npm install -g opencode-ai
# 2. 验证opencode --version
# 3. 进入项目目录cd your-project
# 4. 启动opencode
# 5. 初始化项目(生成 AGENTS.md 文件)/init
# 6. 开始对话!参考资源
- 官方网站:opencode.ai
- 中文文档:opencodecn.com/docs
- GitHub 仓库:搜索
opencode-ai - 下载页面:opencode.ai/download
- oh-my-opencode:搜索
code-yeongyu/oh-my-opencode
本文基于 OpenCode 版本 1.14.25 编写,功能可能随版本迭代有所变化,建议参考官方文档获取最新信息。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!