为什么需要一个开源的 Claude Code

2026 年的 Coding Agent 赛道有个尴尬的现实:最好用的工具都是闭源的。Claude Code 是 Anthropic 的亲儿子,跑在 Claude 的 API 上;Codex 是 OpenAI 的,跑在 OpenAI 的 API 上。它们的 TUI 体验、工具链集成、上下文管理做得确实好,但你没法改它的 provider,没法加自定义工具,没法在企业内网部署。

OpenCode 的出现就是为了解决这个问题。它不是"又一个 AI 编程助手",而是把 Claude Code 的完整体验用开源方式重新实现了一遍。MIT 协议、TypeScript 全栈、Effect 系统驱动、支持 75+ LLM 提供商。从 2025 年 4 月创建到现在,14 个月拿了 185K Star——这个速度在整个 GitHub 上都排得上号。

它到底做了什么

一句话:一个跑在终端里的开源 Coding Agent,同时提供桌面端和 IDE 扩展。

但这句话的含金量很高,我们拆开看。

5 种内置 Agent

OpenCode 不是只有一个 agent,它内置了 5 种不同角色:

Agent类型权限用途
Build主 Agent全部工具日常开发,改代码、跑命令、写文件
Plan主 Agent只读 + 需审批分析代码、做方案、不改任何东西
General子 Agent全部工具复杂搜索、多步骤任务,主 Agent 自动调用
Explore子 Agent只读快速搜索文件、查找代码模式
Scout子 Agent只读查外部文档、研究依赖库源码

Tab 键在 Build 和 Plan 之间切换。Plan 模式特别有用——你让 agent 分析一个大型重构方案,它只会给你建议,不会动任何文件。子 Agent 由主 Agent 自动调度,也可以用 @general 手动调用。

75+ LLM 提供商

这是 OpenCode 跟 Claude Code、Codex 拉开差距最大的地方。它基于 AI SDKModels.dev,支持 75+ 个 LLM 提供商——Anthropic、OpenAI、Google、DeepSeek、Mistral、Groq、Ollama、vLLM,甚至你自己搭的本地模型。

配置方式很简洁:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "anthropic": {
      "options": {
        "baseURL": "https://api.anthropic.com/v1"
      }
    }
  }
}

如果你不想折腾 API Key,OpenCode 还提供了 Zen(官方精选模型列表)和 Go(低价订阅计划),直接用就行。

完整的工具链

内置工具覆盖了 Coding Agent 需要的所有核心能力:

每个工具都可以通过 permission 配置为 allowdenyask(需审批)。这比 Claude Code 的"要么全给、要么全不给"灵活得多。

架构深度:为什么是 TypeScript + Effect

OpenCode 的技术栈选型很有意思。它没有选 Go 或 Rust(像很多 CLI 工具那样),而是选了 TypeScript + Bun + Effect

这个选择的逻辑是:

核心包结构:

packages/
├── opencode/     — 核心引擎(agent、session、tool、config)
├── cli/          — CLI 入口
├── tui/          — 终端 UI(基于 @opentui/solid)
├── desktop/      — 桌面端(Tauri)
├── web/          — 文档站点(Astro + Starlight)
├── core/         — 核心库(provider、llm、mcp)
├── server/       — HTTP API 服务器
├── sdk/          — JavaScript SDK
├── plugin/       — 插件系统
├── schema/       — 共享 Schema 定义
├── identity/     — 认证系统
├── enterprise/   — 企业版功能
└── console/      — 控制台 Web UI

这个 monorepo 的体量不小——2100 万行 TypeScript 代码。但 Bun 的性能让它能跑得动。

Effect 系统的真正价值

Effect 在 OpenCode 里不是装饰品。它解决了几个实际问题:

用大白话说:Effect 让 OpenCode 在处理"多个 Agent 同时调用多个 LLM、同时操作文件系统"这种复杂并发场景时,不会出幺蛾子。

插件系统:真正的可扩展性

OpenCode 的插件系统比大多数 Coding Agent 都成熟。你可以在 .opencode/plugins/ 目录下放 JS/TS 文件,也可以从 npm 安装:

{
  "plugin": ["opencode-helicone-session", "opencode-wakatime"]
}

插件可以 hook 到 tool.execute.beforetool.execute.after 等事件,在工具执行前后做拦截和修改。社区已经有 Helicone(可观测性)、WakaTime(编码时间统计)等实用插件。

MCP 支持

原生支持 MCP 协议,配置方式很直接:

{
  "mcp": {
    "my-server": {
      "type": "local",
      "command": ["npx", "-y", "my-mcp-server"],
      "enabled": true
    }
  }
}

也支持远程 MCP 服务器和企业级的 .well-known/opencode 默认配置下发。

跟 Claude Code、Codex 比:各取所需

维度OpenCodeClaude CodeCodex
开源协议MIT ✅闭源 ❌Apache 2.0 ✅
LLM 提供商75+仅 Anthropic仅 OpenAI
运行时TypeScript + BunTypeScript + NodeRust
插件系统✅ JS/TS 插件 + npm❌ 无有限
MCP 支持✅ 原生✅ 原生✅ 原生
桌面端✅ Tauri(Beta)
IDE 扩展✅ 有
Agent 类型5 种单一单一
自部署
企业版✅ 有✅ Team/Enterprise✅ Team
Star 数185K137K97K

选 OpenCode 的理由:你需要开源、需要自定义 provider、需要插件扩展、需要自部署。

选 Claude Code 的理由:你已经在 Anthropic 生态里,不需要折腾,开箱即用体验最好。

选 Codex 的理由:你在 OpenAI 生态里,需要轻量级 CLI 工具。

上手指南

安装

# 一行搞定
curl -fsSL https://opencode.ai/install | bash

# 或者用包管理器
npm i -g opencode-ai@latest
brew install anomalyco/tap/opencode  # macOS/Linux 推荐
sudo pacman -S opencode              # Arch Linux

配置 Provider

# 启动 OpenCode
cd /your/project
opencode

# 用 /connect 命令添加 provider
/connect
# 选择 Anthropic、OpenAI、DeepSeek 等,输入 API Key

初始化项目

# 在 TUI 里运行
/init
# 会自动生成 AGENTS.md,描述项目结构和编码规范

日常使用

# Plan 模式分析代码(按 Tab 切换)
这个项目的认证流程是怎么实现的?

# Build 模式改代码
给用户模块加一个密码重置功能

# @ 引用文件
@src/auth/login.ts 这个文件有什么安全问题?

# ! 执行 shell 命令
!npm test

踩坑实录

坑 1:Bun 版本要求。OpenCode 需要 Bun 1.3+,某些 Linux 发行版的包管理器给的 Bun 版本太老。建议用官方安装脚本装 Bun,别用 apt。

坑 2:终端模拟器很重要。OpenCode 的 TUI 依赖现代终端的特性。WezTerm、Ghostty、Kitty 都行,macOS 自带的 Terminal.app 会有渲染问题。

坑 3:MCP 服务器吃上下文。每个 MCP 服务器都会往上下文里塞工具描述。如果你同时开了 GitHub MCP + Sentry MCP + 其他几个,上下文很快就满了。建议只开当前任务需要的 MCP 服务器。

坑 4:monorepo 构建时间。如果你要从源码构建,30+ 个子包 + TypeScript 类型检查,首次构建要几分钟。日常开发建议只 build 你改的那个包。

适合谁

不适合的人:只想"装上就用、不想配置"的用户——Claude Code 的开箱体验确实更好。OpenCode 的灵活性是有代价的,你需要花时间配置 provider、权限、MCP 服务器。

总结

OpenCode 做的事情本质上是:把 Coding Agent 从"闭源 SaaS"变成了"开源基础设施"。75+ LLM 提供商、插件系统、5 种 Agent 角色、桌面端——这些不是功能堆砌,而是让"谁都能搭一个自己的 Coding Agent"变成现实。

185K Star 的背后是真实的需求:开发者不想被锁在某一个 AI 厂商的生态里。OpenCode 给了一条出路。

# 现在就试试
curl -fsSL https://opencode.ai/install | bash
cd your-project && opencode