想用 OpenCode 这款开源 AI 编程助手,却苦于官方 API 价格太贵或者网络不稳定?API 中转站是你的最佳解决方案。本文将手把手教你 3 步完成 OpenCode 接入 API易、OpenRouter 等中转服务,让你用更低的成本访问 Claude、GPT-4、Gemini 等 75+ 主流 AI 模型。
核心价值: 读完本文,你将学会配置 OpenCode 使用任意 OpenAI 兼容 API,实现模型自由切换和成本优化。

OpenCode 是什么?为什么要接入 API 中转站
OpenCode 是一款开源的终端 AI 编程助手,被称为 Claude Code 的开源替代品。它基于 Go 语言开发,提供精美的 TUI 界面、多会话管理、LSP 集成等专业功能。
OpenCode 核心特性一览
| 特性 | 说明 | 价值 |
|---|---|---|
| 75+ 模型支持 | 支持 OpenAI、Claude、Gemini、Bedrock 等 | 不锁定单一供应商 |
| 终端原生 | Bubble Tea 构建的精美 TUI | 开发者友好的操作体验 |
| 开源免费 | 代码完全开源,无订阅费用 | 按 API 调用付费,成本可控 |
| LSP 集成 | 自动检测语言服务器 | 代码智能补全和诊断 |
| 多会话管理 | 并行运行多个 Agent | 复杂任务分解协作 |
| Vim 模式 | 内置 Vim 风格编辑器 | 终端用户无缝切换 |
为什么要用 API 中转站?
直接使用官方 API 可能面临以下问题:
| 问题 | API 中转站的解决方案 |
|---|---|
| 价格昂贵 | 中转站提供更优惠的价格,适合个人开发者 |
| 网络不稳定 | 中转站优化了国内访问线路 |
| 计费复杂 | 统一计费接口,多模型一站式管理 |
| 额度限制 | 中转站可提供更灵活的配额 |
| 注册门槛 | 无需海外手机号或信用卡 |
🚀 快速开始: 推荐使用 API易 apiyi.com 作为中转站,提供开箱即用的 OpenAI 兼容接口,注册即送免费测试额度,5 分钟完成 OpenCode 配置。
OpenCode 接入 API 中转站核心要点
在开始配置前,先了解 OpenCode 的 API 接入原理:

配置架构说明
OpenCode 采用统一的配置管理体系,支持多层配置覆盖:
| 配置层级 | 文件位置 | 优先级 | 适用场景 |
|---|---|---|---|
| 远程配置 | .well-known/opencode |
最低 | 团队统一配置 |
| 全局配置 | ~/.config/opencode/opencode.json |
中 | 个人默认设置 |
| 环境变量 | OPENCODE_CONFIG 指向的文件 |
中高 | 临时覆盖 |
| 项目配置 | 项目根目录 opencode.json |
高 | 项目特定设置 |
| 内联配置 | OPENCODE_CONFIG_CONTENT |
最高 | CI/CD 场景 |
API 中转站接入原理
OpenCode 通过 @ai-sdk/openai-compatible 适配器支持任何 OpenAI 兼容 API。关键配置项:
- baseURL: API 中转站的接口地址
- apiKey: 中转站提供的 API 密钥
- models: 可用模型列表
这意味着只要中转站提供标准的 /v1/chat/completions 接口,就能直接接入 OpenCode。
OpenCode 快速上手配置
第一步: 安装 OpenCode
OpenCode 提供多种安装方式,选择最适合你的:
一键安装脚本 (推荐):
curl -fsSL https://opencode.ai/install | bash
Homebrew 安装 (macOS/Linux):
brew install opencode-ai/tap/opencode
npm 安装:
npm i -g opencode-ai@latest
Go 安装:
go install github.com/opencode-ai/opencode@latest
验证安装成功:
opencode --version
第二步: 配置 API 中转站密钥
OpenCode 支持两种认证方式:
方式一: 使用 /connect 命令 (推荐)
启动 OpenCode 后,输入 /connect 命令:
opencode
# 在 TUI 界面中输入
/connect
选择 Other 添加自定义 Provider,输入你的 API 密钥。密钥会安全存储在 ~/.local/share/opencode/auth.json。
方式二: 环境变量配置
在 ~/.zshrc 或 ~/.bashrc 中添加:
# API易 中转站配置
export OPENAI_API_KEY="sk-your-apiyi-key"
export OPENAI_BASE_URL="https://api.apiyi.com/v1"
使配置生效:
source ~/.zshrc
第三步: 创建 opencode.json 配置文件
这是最关键的一步,创建配置文件来指定 API 中转站:
全局配置 (适用于所有项目):
mkdir -p ~/.config/opencode
touch ~/.config/opencode/opencode.json
项目配置 (仅当前项目生效):
touch opencode.json # 在项目根目录
极简配置示例
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apiyi": {
"npm": "@ai-sdk/openai-compatible",
"name": "API易",
"options": {
"baseURL": "https://api.apiyi.com/v1",
"apiKey": "{env:OPENAI_API_KEY}"
},
"models": {
"claude-sonnet-4-20250514": {
"name": "Claude Sonnet 4"
},
"gpt-4o": {
"name": "GPT-4o"
}
}
}
},
"model": "apiyi/claude-sonnet-4-20250514"
}
配置说明:
{env:OPENAI_API_KEY}语法会自动读取环境变量,避免在配置文件中硬编码密钥。通过 API易 apiyi.com 获取的 API Key 兼容 OpenAI 格式,可直接使用。
查看完整配置示例 (含多 Provider)
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apiyi": {
"npm": "@ai-sdk/openai-compatible",
"name": "API易 (推荐)",
"options": {
"baseURL": "https://api.apiyi.com/v1",
"apiKey": "{env:APIYI_API_KEY}"
},
"models": {
"claude-sonnet-4-20250514": {
"name": "Claude Sonnet 4",
"limit": {
"context": 200000,
"output": 65536
}
},
"claude-opus-4-20250514": {
"name": "Claude Opus 4",
"limit": {
"context": 200000,
"output": 32000
}
},
"gpt-4o": {
"name": "GPT-4o",
"limit": {
"context": 128000,
"output": 16384
}
},
"gpt-4o-mini": {
"name": "GPT-4o Mini",
"limit": {
"context": 128000,
"output": 16384
}
},
"gemini-2.5-pro": {
"name": "Gemini 2.5 Pro",
"limit": {
"context": 1000000,
"output": 65536
}
},
"deepseek-chat": {
"name": "DeepSeek V3",
"limit": {
"context": 64000,
"output": 8192
}
}
}
},
"openrouter": {
"npm": "@ai-sdk/openai-compatible",
"name": "OpenRouter",
"options": {
"baseURL": "https://openrouter.ai/api/v1",
"apiKey": "{env:OPENROUTER_API_KEY}",
"headers": {
"HTTP-Referer": "https://your-site.com",
"X-Title": "OpenCode Client"
}
},
"models": {
"anthropic/claude-sonnet-4": {
"name": "Claude Sonnet 4 (OpenRouter)"
},
"openai/gpt-4o": {
"name": "GPT-4o (OpenRouter)"
}
}
}
},
"model": "apiyi/claude-sonnet-4-20250514",
"small_model": "apiyi/gpt-4o-mini",
"agent": {
"coder": {
"model": "apiyi/claude-sonnet-4-20250514",
"maxTokens": 8000
},
"planner": {
"model": "apiyi/gpt-4o",
"maxTokens": 4000
}
},
"tools": {
"write": true,
"bash": true,
"glob": true,
"grep": true
}
}
OpenCode 支持的 API 中转站对比

主流 API 中转站配置参数
| 中转站 | baseURL | 特点 | 推荐场景 |
|---|---|---|---|
| API易 | https://api.apiyi.com/v1 |
中文支持好,价格优惠,响应快 | 国内开发者首选 |
| OpenRouter | https://openrouter.ai/api/v1 |
模型最全,400+ 模型 | 需要多模型切换 |
| Together AI | https://api.together.xyz/v1 |
开源模型丰富 | Llama、Mistral 用户 |
| Groq | https://api.groq.com/openai/v1 |
速度极快,免费额度 | 对延迟敏感的场景 |
API易配置详解
API易 是专为国内开发者优化的 AI API 中转平台,提供:
- 统一的 OpenAI 兼容接口
- 支持 Claude、GPT、Gemini、DeepSeek 等主流模型
- 按量计费,无月费
- 免费测试额度
- 中文客服支持
{
"provider": {
"apiyi": {
"npm": "@ai-sdk/openai-compatible",
"name": "API易",
"options": {
"baseURL": "https://api.apiyi.com/v1"
},
"models": {
"claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" },
"claude-opus-4-20250514": { "name": "Claude Opus 4" },
"gpt-4o": { "name": "GPT-4o" },
"gpt-4o-mini": { "name": "GPT-4o Mini" },
"gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
"deepseek-chat": { "name": "DeepSeek V3" }
}
}
}
}
OpenRouter 配置详解
OpenRouter 聚合了 400+ AI 模型,适合需要频繁切换模型的场景:
{
"provider": {
"openrouter": {
"npm": "@ai-sdk/openai-compatible",
"name": "OpenRouter",
"options": {
"baseURL": "https://openrouter.ai/api/v1",
"apiKey": "{env:OPENROUTER_API_KEY}",
"headers": {
"HTTP-Referer": "https://your-app.com",
"X-Title": "My OpenCode App"
}
},
"models": {
"anthropic/claude-sonnet-4": {
"name": "Claude Sonnet 4"
},
"google/gemini-2.5-pro": {
"name": "Gemini 2.5 Pro"
},
"meta-llama/llama-3.1-405b": {
"name": "Llama 3.1 405B"
}
}
}
}
}
💡 选择建议: 如果你主要使用 Claude 和 GPT 系列模型,推荐 API易 apiyi.com,价格更优惠且响应速度快。如果需要使用开源模型或小众模型,OpenRouter 覆盖更全。
OpenCode 进阶配置技巧
Agent 模型分配策略
OpenCode 内置 Coder 和 Planner 两个 Agent,可以为它们分配不同模型:
{
"agent": {
"coder": {
"model": "apiyi/claude-sonnet-4-20250514",
"maxTokens": 8000,
"description": "主要编码任务,使用强模型"
},
"planner": {
"model": "apiyi/gpt-4o-mini",
"maxTokens": 4000,
"description": "规划分析,使用轻量模型节省成本"
}
}
}
多 Provider 切换
配置多个 Provider 后,可以在 OpenCode 中使用 /models 命令随时切换:
# 启动 OpenCode
opencode
# 在 TUI 中切换模型
/models
# 选择 apiyi/claude-sonnet-4-20250514 或其他模型
环境变量最佳实践
推荐在 .env 文件中管理 API 密钥:
# .env 文件
APIYI_API_KEY=sk-your-apiyi-key
OPENROUTER_API_KEY=sk-or-your-openrouter-key
然后在 opencode.json 中引用:
{
"provider": {
"apiyi": {
"options": {
"apiKey": "{env:APIYI_API_KEY}"
}
}
}
}
Token 限制配置
为模型指定上下文和输出限制,避免超限错误:
{
"models": {
"claude-sonnet-4-20250514": {
"name": "Claude Sonnet 4",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
OpenCode 常见问题排查
在配置过程中可能遇到的问题及解决方案:
Q1: 配置后提示 “Route /api/messages not found” 错误?
这通常是 baseURL 配置不正确导致的。检查以下几点:
- 确保 baseURL 以
/v1结尾,而不是/v1/chat/completions - 确认中转站支持标准 OpenAI 接口格式
- 验证 API 密钥是否有效
正确格式:
"baseURL": "https://api.apiyi.com/v1"
错误格式:
"baseURL": "https://api.apiyi.com/v1/chat/completions"
通过 API易 apiyi.com 获取的接口地址已经过验证,可直接使用。
Q2: 提示 “ProviderModelNotFoundError” 找不到模型?
这是因为配置的模型 ID 与 Provider 中定义的不匹配。解决方法:
- 检查
model字段格式:provider-id/model-id - 确保
models对象中定义了该模型
示例:
{
"provider": {
"apiyi": {
"models": {
"claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" }
}
}
},
"model": "apiyi/claude-sonnet-4-20250514"
}
Q3: 如何验证配置是否成功?
使用以下命令检查:
# 查看已配置的认证信息
opencode auth list
# 查看可用模型
opencode
/models
# 测试简单对话
opencode -p "Hello, 请用中文回复"
如果返回正常响应,说明配置成功。通过 API易 apiyi.com 平台可以在控制台查看 API 调用记录,便于排查问题。
Q4: 配置文件放在哪里最合适?
根据使用场景选择:
| 场景 | 推荐位置 | 说明 |
|---|---|---|
| 个人全局默认 | ~/.config/opencode/opencode.json |
所有项目共享 |
| 特定项目配置 | 项目根目录 opencode.json |
可提交到 Git (不含密钥) |
| CI/CD 环境 | 环境变量 OPENCODE_CONFIG_CONTENT |
动态注入配置 |
Q5: 如何在 OpenCode 中切换不同的 API 中转站?
配置多个 Provider 后,使用 /models 命令切换:
opencode
/models
# 选择不同 Provider 下的模型即可切换
也可以在配置中设置默认模型:
{
"model": "apiyi/claude-sonnet-4-20250514"
}
OpenCode vs Claude Code: API 接入方式对比
| 对比维度 | OpenCode | Claude Code |
|---|---|---|
| 模型支持 | 75+ 模型,自由配置 | 仅 Claude 系列 |
| API 中转站 | 支持任意 OpenAI 兼容接口 | 不支持自定义接口 |
| 价格 | 免费软件 + API 按量付费 | $17-100/月订阅 + API |
| 配置方式 | JSON 配置文件 + 环境变量 | 内置配置,不可修改 |
| 开源程度 | 完全开源 | 闭源 |
| 性能表现 | 依赖所选模型 | Claude 原生优化,SWE-bench 80.9% |
🎯 技术建议: OpenCode 的最大优势是模型灵活性。配合 API易 apiyi.com 中转站,你可以用相同的配置切换 Claude、GPT-4、Gemini 等多种模型,找到性价比最优的方案。
参考资料
以下是配置 OpenCode 时可能用到的参考资料:
| 资料 | 链接 | 说明 |
|---|---|---|
| OpenCode 官方文档 | opencode.ai/docs |
完整配置参考 |
| OpenCode GitHub 仓库 | github.com/opencode-ai/opencode |
源码和 Issue |
| OpenCode Provider 配置 | opencode.ai/docs/providers |
Provider 详细说明 |
| OpenRouter 文档 | openrouter.ai/docs |
OpenRouter 接入指南 |
总结
通过本文的 3 步配置方法,你已经掌握了:
- 安装 OpenCode: 使用一键脚本或包管理器快速安装
- 配置 API 密钥: 通过
/connect或环境变量设置认证 - 创建配置文件: 编写
opencode.json指定中转站和模型
OpenCode 作为开源的终端 AI 编程助手,配合 API 中转站使用,可以获得媲美 Claude Code 的体验,同时保持成本可控和模型灵活性。
推荐通过 API易 apiyi.com 快速获取 API 密钥并开始测试。平台提供免费额度,支持 Claude、GPT、Gemini 等主流模型,统一的接口格式让配置更简单。
📝 作者: APIYI 技术团队 | API易 apiyi.com – 让 AI API 调用更简单
