程序员必读!从一键安装到Bun源码编译、终端极致TUI体验,再到任意LLM+Z en模型+GitHub Copilot无缝集成,这是你今年最该星标的开源项目
一个完全开源、不绑定任何LLM厂商、支持终端、桌面App和VS Code/Zed扩展的AI编码代理。它能自动加载项目LSP(Language Server Protocol)为大模型提供智能上下文,支持多会话并行、分享链接调试,还内置Build和Plan两种代理模式——这不是Cursor的闭源竞品,而是GitHub上已获140,000+星、850位贡献者、每月服务650万开发者的OpenCode(anomalyco/opencode)!

一、OpenCode简介
OpenCode是开源的AI编码代理(The open source AI coding agent),可在终端(TUI)、桌面App(Beta,支持macOS/Windows/Linux)或IDE扩展中使用。它帮助开发者在项目目录中通过自然语言驱动代码生成、分析、修改和探索。
核心定位:
●100%开源,不受任何LLM提供商绑定。
●隐私优先:不存储任何代码或上下文数据,适合企业隐私敏感环境。
●灵活模型支持:75+ LLM提供商(通过Models.dev)、本地模型、GitHub Copilot、ChatGPT Plus/Pro均可登录使用。推荐Zen Models(官网专页验证过的编码专用模型,保证一致性能)。
●多平台:终端TUI(neovim用户主导开发,极致键盘体验)、桌面App、VS Code/Zed SDK。
●社区规模:140K星、11K+ commits、850贡献者。
与Claude Code等闭源方案的核心区别:
●完全开源 + 提供商无关。
●开箱即用的LSP支持。
●专注TUI极致体验。
●客户端/服务器架构:TUI只是客户端之一,可远程从手机App驱动本地服务器运行代理。
二、核心功能详解
1.两种内置代理(Agents):
○Build代理(默认):完整访问权限,可编辑文件、执行Bash命令,适合实际开发工作。
○Plan代理(Tab键切换):只读模式,默认拒绝文件编辑,执行Bash前询问许可。完美用于代码探索、规划变更。
○General子代理:内部用于复杂搜索/多步任务,可通过@general在消息中调用。
1.LSP智能加载(:自动为LLM加载项目对应的Language Server,提供符号、补全、类型信息等精准上下文,大幅提升代码生成准确性。这是源码中packages/opencode解析器配置(parsers-config.ts支持Kotlin/HCL/Lua/TOML等)的直接体现。
2.多会话并行 + 分享链接:同一项目可启动多个代理会话。/share命令生成可分享链接(示例:https://opencode.ai/s/XXXX),便于团队调试或参考。
3.Undo/Redo + 项目初始化:/undo//redo回滚变更;/init命令分析项目结构,生成AGENTS.md文件(仓库根目录也有),帮助模型理解编码规范和架构。
4.自定义扩展:主题、键位、格式化器、自定义命令、配置。
5.桌面App Beta:Electron实现,支持拖拽图片到终端作为设计参考。
源码层面:
●packages/opencode:核心包,包含src/(代理逻辑、TUI)、bin/(平台二进制缓存)、migration/(Drizzle ORM SQLite迁移)、Dockerfile。
●packages/desktop-electron/ desktop:桌面实现。
●sdks/vscode+ extensions/zed:IDE扩展。
●packages/shared/ ui/ web:公共组件、UI库、Web前端。
●packages/plugin:插件系统。
●整体monorepo使用Turborepo(turbo.json)、Bun(bun.lockb + bunfig.toml)、Nix(flake.nix)确保可复现构建。
三、安装方法(官方推荐 vs 高级方式)
最简单一键安装(:
●●●bash curl -fsSL https://opencode.ai/install | bash
支持环境变量自定义路径:
●●●bash OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
包管理器安装:
●npm i -g opencode-ai@latest(或bun/pnpm/yarn)
●macOS/Linux:brew install anomalyco/tap/opencode(推荐,最更新)或官方formula
●Windows:scoop install opencode或 choco install opencode
●Arch Linux:sudo pacman -S opencode或 AUR paru -S opencode-bin
●Nix:nix run nixpkgs#opencode或 github:anomalyco/opencode(dev分支)
●Docker:docker run -it --rm ghcr.io/anomalyco/opencode
桌面App Beta:
●官网下载或GitHub Releases:macOS .dmg、Windows .exe、Linux .deb/.rpm/AppImage
●Homebrew Cask:brew install --cask opencode-desktop
先决条件(:WezTerm/Alacritty/Ghostty/Kitty等现代终端 + LLM API Key。

四、从源码安装与编译
OpenCode采用Bun + Turborepo monorepo架构,源码安装适合贡献者或需要最新dev功能的用户。
步骤:
1.克隆仓库(dev为主分支):
●●●bash git clone https://github.com/anomalyco/opencode.git cd opencode
2.安装依赖(Bun 1.3+):
●●●bash bun install
3.开发模式运行(默认在packages/opencode目录运行代理):
●●●bash bun dev
若想针对其他项目目录运行,可在dev命令后指定路径。
4.构建生产二进制/桌面App:
○核心CLI:packages/opencode中有package.jsonscripts(含build),结合script/目录CI脚本和patches/依赖patch。
○桌面:packages/desktop-electron使用Electron打包,支持Darwin/Windows/Linux。
○全monorepo构建:turbo run build(Turborepo配置)。
○Nix可复现环境:nix develop或nix run。
○Docker:直接使用仓库根packages/opencode/Dockerfile构建ARM64镜像。
5.其他源码特性:
○使用Drizzle ORM + SQLite(drizzle.config.ts)处理会话/迁移数据。
○TUI语法高亮解析器(parsers-config.ts)。
○平台二进制缓存(bin/目录)。
○贡献规范:UI/核心特性需设计审查;新provider优先PR到models.dev。
源码安装后,运行opencode命令即可进入TUI,与二进制版完全一致。推荐先阅读CONTRIBUTING.md和packages/opencode/README.md。
五、使用方法与实战案例
1.配置LLM:
○运行opencode进入TUI → 输入/connect→ 选择provider → 浏览器登录opencode.ai/auth获取API Key并粘贴。
2.项目初始化:
●●●bash cd /your/project opencode /init
(生成AGENTS.md)
3.切换代理模式:Tab键(右下角显示当前模式)。
4.实战示例(docs原文):
○询问代码:
●●●code How is authentication handled in @packages/functions/src/api/index.ts
○Plan模式规划特性(推荐先Plan):
●●●code When a user deletes a note, we'd like to flag it as deleted in the database. Then create a screen that shows all the recently deleted notes...
○确认执行(切回Build模式):
●●●code Sounds good! Go ahead and make the changes.
○直接修改:
●●●code We need to add authentication to the /settings route...
○撤销/分享:
●●●code /undo 或 /share
支持拖拽图片作为参考、自定义键位、格式化器。分享链接支持团队协作。
六、技术原理、架构与实现方式
1. 客户端/服务器架构:
TUI/Desktop/IDE仅为客户端,核心逻辑运行在OpenCode Server上。优势:可远程驱动(手机App控制本地服务器)、会话持久、多客户端并行。这是client/server设计的直接实现,源码中packages/opencode+ packages/web体现。

2. 代理实现:
●Build/Plan/General基于相同核心引擎,权限/行为通过配置区分(AGENTS.md定义模块形状)。
●工具调用:隐含支持文件读写、Bash执行(Plan模式会询问)、LSP查询。
●LSP集成:源码中自动检测项目语言,启动对应LSP服务器,为LLM提供结构化上下文(远超简单prompt)。
3. 模型层:
●通过providers目录(docs)或Zen Models抽象,支持任意API。
●Zen:官方基准测试过的编码专用模型,保证稳定性。
4. TUI实现:
●packages/opencode/src+ parsers-config.ts实现高性能终端界面(支持复杂语法、动画)。
●Bun Shell迁移计划(BUN_SHELL_MIGRATION_PLAN.md)确保跨平台一致性。
5. 其他源码亮点:
●Drizzle ORM处理持久化(会话、迁移)。
●Turborepo加速monorepo构建。
●Patches/目录修复第三方bug(如Bun arborist)。
●Specs/目录包含会话共享编排等架构规范。
●安全性:不存储上下文 + 企业版文档支持。
6. 扩展性:
●Plugin系统(packages/plugin)。
●SDKs for IDE(vscode/zed)。
●容器化(containers/ + Dockerfile)。
整个架构追求极致性能 + 灵活性:Bun运行时 + TS + 轻量ORM + 客户端/服务器分离。

OpenCode是一个开源AI编码基础设施。它用客户端/服务器 + LSP + 多代理 + Zen模型,重新定义了“AI写代码”的边界。无论你是终端爱好者、桌面重度用户还是企业开发者,都能找到极致体验。
夜雨聆风