开源 AI 编码代理,支持 75+ 大语言模型提供商,提供终端/桌面/IDE 多端界面,具备 Plan/Build 双代理模式,适用于代码理解、功能开发与代码修改场景。
OpenCode 是一款开源的 AI 编码代理,支持 75+ 大语言模型提供商(包括本地模型),提供终端界面(TUI)、桌面应用和 IDE 扩展三种使用方式。
核心特性#
- 双代理模式:Build 代理具有完整访问权限用于开发工作,Plan 代理为只读模式用于分析和代码探索
- LSP 支持:自动加载适合 LLM 的语言服务器
- 多会话:在同一项目上并行启动多个代理
- 分享链接:可分享任何会话的链接供参考或调试
- 隐私优先:不存储用户的代码或上下文数据
- 多模型支持:支持 GitHub Copilot 和 ChatGPT Plus/Pro 账户登录集成
安装方式#
# 快速安装(推荐)
curl -fsSL https://opencode.ai/install | bash
# Node.js 包管理器
npm i -g opencode-ai@latest
bun i -g opencode-ai@latest
# Homebrew (macOS/Linux)
brew install anomalyco/tap/opencode
# Docker
docker run -it --rm ghcr.io/anomalyco/opencode
快速上手#
cd /path/to/project
opencode
/init
/connect # 配置 AI 提供商
关键操作#
Tab键:切换 Plan/Build 模式@键:模糊搜索项目文件/undo:撤销更改/share:创建分享链接
架构特点#
- 客户端/服务器架构,支持远程控制
- Monorepo 结构,使用 Bun workspaces
- 核心包:CLI 工具、Tauri 桌面应用、Web 应用、JavaScript SDK、Slack 集成
技术实现#
- 运行时:Bun 1.3.9
- 前端框架:SolidJS
- 构建工具:Vite 7.1.4
- UI 框架:Tailwind CSS 4.1.11
- AI SDK:ai 5.0.124
- 后端框架:Hono 4.10.7
- 数据库:Drizzle ORM
- 认证:OpenAuth
开发规范#
- 避免使用
try/catch和any类型 - 优先使用 Bun API(如
Bun.file()) - 依赖类型推断,避免显式类型注解
- 数据库字段名使用 snake_case
- 测试实际实现,不使用模拟
配置文件#
AGENTS.md:项目根目录,帮助 OpenCode 理解项目结构和编码模式,应提交到 Git 仓库
适用场景#
| 场景 | 描述 |
|---|---|
| 代码库探索 | 解释复杂代码库,分析不熟悉模块 |
| 功能开发 | Plan 模式创建实施计划,Build 模式执行 |
| 代码重构 | 修改函数、添加逻辑、跨路由复用 |
| 团队协作 | 分享会话链接,调试与代码审查 |
| 隐私敏感环境 | 本地模型支持,不存储代码数据 |
项目状态#
- 最新版本:v1.2.14
- 发布版本数:724
- 提交数:9,709+
- 贡献者:773+
- 许可证:MIT