前言:为什么 165k+ 开发者选择了 OpenCode?

2026 年,AI 编程工具已经从"辅助补全代码"进化到"自主完成开发任务"。在这个赛道中,OpenCodegithub.com/sst/opencode)以惊人的速度崛起——GitHub Star 数突破 165,000,成为当前最受欢迎的开源终端 AI 编程 Agent

和 Claude Code、Cursor 等闭源工具不同,OpenCode 的核心理念是:模型与工具解耦。你可以自由选择 GPT-4o、Claude、Qwen、DeepSeek、甚至本地 Ollama 模型,全部在一个终端工具里使用。

今天这篇文章,带你从零开始掌握 OpenCode——从安装配置到进阶玩法,一篇搞定。

一、OpenCode 是什么?

OpenCode 是由 SST 团队开发的开源 CLI 编程 Agent。它的核心架构分为两层:

  • Harness(工具层):负责文件读写、Shell 命令执行、测试结果收集等环境操作
  • Model(模型层):通过 OpenAI 兼容 API 接入任意大语言模型

这种解耦设计意味着:你不需要被某个厂商锁定。今天用 Claude,明天换 GPT,后天切到本地 Qwen,同一个工具无缝切换。

核心特性速览

特性 说明
🧠 多模型支持 Claude、GPT-4o、Gemini、Qwen、DeepSeek、Ollama 本地模型
🖥️ 终端优先 纯 CLI 工具,不需要 IDE 插件
📦 零配置启动 安装即用,内置合理默认配置
🔌 MCP 集成 支持 MCP 协议,可扩展工具链
📋 规划模式 内置 Agent 规划能力,可自主拆解任务
🔓 完全开源 Apache 2.0 许可证

OpenCode vs 其他工具

工具 开源 多模型 终端优先 GitHub Stars
OpenCode 165k+
OpenAI Codex CLI ⚠️ 偏 OpenAI 30k+
OpenHands ❌ 偏 GUI 40k+
Claude Code ❌ Claude only N/A
Aider 40k+

OpenCode 的核心优势在于模型灵活性和终端体验的完美结合。

二、快速安装

OpenCode 提供多种安装方式,选择最适合你的:

方式一:npm 安装(推荐)

npm install -g opencode-ai

方式二:Homebrew(macOS/Linux)

brew install opencode

方式三:一键安装脚本

curl -fsSL https://opencode.ai/install | bash

验证安装

opencode --version

三、快速上手:第一次使用

3.1 配置 API Key

OpenCode 需要配置至少一个 AI 模型的 API Key。最简单的方式是设置环境变量:

# 使用 OpenAI
export OPENAI_API_KEY="sk-your-key-here"

# 或使用 Anthropic Claude
export ANTHROPIC_API_KEY="sk-ant-your-key-here"

💡 提示:你也可以把配置写入 ~/.opencode/config.json,避免每次打开终端都设置环境变量。

3.2 在项目中启动 OpenCode

# 进入你的项目目录
cd ~/projects/my-app

# 启动 OpenCode
opencode

OpenCode 会自动检测项目结构,加载上下文,然后你就可以开始对话了:

$ opencode

🤖 OpenCode v1.x - AI Coding Agent

> 帮我检查一下 src/auth.py 里的登录逻辑,看看有没有安全问题

3.3 第一个任务示例

试试让 OpenCode 帮你完成一个具体任务:

> 创建一个 Python FastAPI 项目,包含以下结构:
> - main.py(应用入口)
> - routers/users.py(用户路由)
> - models/user.py(用户模型)
> - requirements.txt(依赖)

OpenCode 会逐步执行:读取项目结构、创建文件、写入代码,并在过程中向你确认每一步操作。

四、进阶配置:多模型切换

4.1 配置文件

创建 ~/.opencode/config.json

{
  "providers": {
    "openai": {
      "type": "openai",
      "apiKey": "sk-your-openai-key",
      "model": "gpt-4o"
    },
    "anthropic": {
      "type": "anthropic",
      "apiKey": "sk-ant-your-key",
      "model": "claude-sonnet-4-20250514"
    },
    "ollama": {
      "type": "openai",
      "baseUrl": "http://localhost:11434/v1",
      "model": "qwen2.5-coder:32b"
    }
  },
  "defaultProvider": "anthropic"
}

4.2 运行时切换模型

在 OpenCode 对话中,你可以随时切换模型:

> /model openai
切换到 OpenAI GPT-4o

> /model ollama
切换到本地 Ollama 模型

4.3 接入 DeepSeek(国内开发者推荐)

对于国内开发者,DeepSeek 是一个性价比极高的选择:

{
  "providers": {
    "deepseek": {
      "type": "openai",
      "baseUrl": "https://api.deepseek.com/v1",
      "apiKey": "your-deepseek-key",
      "model": "deepseek-coder"
    }
  }
}

或者使用 SiliconFlow 等中转平台:

{
  "providers": {
    "siliconflow": {
      "type": "openai",
      "baseUrl": "https://api.siliconflow.cn/v1",
      "apiKey": "your-siliconflow-key",
      "model": "Qwen/Qwen2.5-Coder-32B-Instruct"
    }
  }
}

五、实战场景

5.1 场景一:重构遗留代码

# 进入老项目
cd ~/projects/legacy-app

# 启动 OpenCode
opencode
> 把 src/utils.js 里的所有回调函数改成 async/await 风格
> 保持原有功能不变,同时添加适当的错误处理

OpenCode 会: 1. 读取 src/utils.js 内容 2. 分析所有回调函数的结构 3. 逐个改写为 async/await 4. 添加 try/catch 错误处理 5. 展示 diff 并等待你确认

5.2 场景二:写单元测试

> 为 src/auth/login.ts 编写 Jest 单元测试
> 覆盖以下场景:
> 1. 正常登录成功
> 2. 密码错误
> 3. 用户不存在
> 4. Token 过期
> 5. 并发登录请求

OpenCode 会生成完整的测试文件,包含 mock 数据和断言逻辑。

5.3 场景三:排查 Bug

> 我的应用在处理大量 JSON 数据时内存溢出
> 项目结构在 src/ 目录下
> 请分析可能的原因并给出修复方案

OpenCode 会扫描代码,识别潜在的内存泄漏点(如未释放的引用、无限增长的数组等),并给出具体的修复建议。

5.4 场景四:本地模型开发(隐私优先)

如果你处理敏感代码,不想上传到云端:

# 1. 安装 Ollama
brew install ollama

# 2. 拉取编程专用模型
ollama pull qwen2.5-coder:32b

# 3. 启动 OpenCode 并切换到本地模型
opencode
> /model ollama

现在所有推理都在本地完成,代码不会离开你的机器。

六、MCP 集成:扩展工具链

OpenCode 支持 MCP(Model Context Protocol),可以连接外部工具和服务。

配置 MCP Server

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"]
    }
  }
}

配置后,OpenCode 可以直接操作 GitHub(创建 PR、查看 Issue 等),大幅扩展了它的能力边界。

七、常见问题

Q1: OpenCode 和 Aider 有什么区别?

  • OpenCode 更侧重终端交互体验和多模型灵活性
  • Aider 更专注于 git 集成和配对编程
  • 两者各有优势,建议都试试找到最适合你工作流的那个

Q2: 免费模型够用吗?

对于日常开发,免费模型(如 Qwen2.5-Coder-32B 本地部署、DeepSeek 免费额度)完全够用。如果是大型项目重构,建议用 Claude 或 GPT-4o 以获得更好的代码质量。

Q3: 支持 Windows 吗?

OpenCode 官方支持 Linux 和 macOS。Windows 用户可通过 WSL2 使用。

Q4: 如何控制 token 消耗?

{
  "chat": {
    "maxTokens": 4000,
    "temperature": 0.3
  }
}

降低 maxTokenstemperature 可以减少单次对话的 token 用量,但可能影响代码质量。

总结

OpenCode 代表了 2026 年 AI 编程工具的一个重要趋势:开源、模型无关、终端优先。它不是某个厂商的封闭生态,而是一个开放的工具链——你可以自由选择最合适的模型、最低的成本、最好的开发体验。

如果你只用一个 AI 编程工具,2026 年我会推荐 OpenCode。 它的社区活跃度、功能成熟度和模型灵活性,目前几乎没有竞品能完全覆盖。

🔗 相关链接: - GitHub: github.com/sst/opencode - 文档: opencode.ai - 类似工具:AiderOpenHands