|

3 步配置 OpenCode 接入 API 中转站,解锁 400+ AI 模型自由切换

想用 OpenCode 这款开源 AI 编程助手,却苦于官方 API 价格太贵或者网络不稳定?API 中转站是你的最佳解决方案。本文将手把手教你 3 步完成 OpenCode 接入 API易、OpenRouter 等中转服务,让你用更低的成本访问 Claude、GPT-4、Gemini 等 75+ 主流 AI 模型。

核心价值: 读完本文,你将学会配置 OpenCode 使用任意 OpenAI 兼容 API,实现模型自由切换和成本优化。

opencode-api-proxy-configuration-guide 图示

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-api-proxy-configuration-guide 图示

配置架构说明

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 中转站对比

opencode-api-proxy-configuration-guide 图示

主流 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 配置不正确导致的。检查以下几点:

  1. 确保 baseURL 以 /v1 结尾,而不是 /v1/chat/completions
  2. 确认中转站支持标准 OpenAI 接口格式
  3. 验证 API 密钥是否有效

正确格式:

"baseURL": "https://api.apiyi.com/v1"

错误格式:

"baseURL": "https://api.apiyi.com/v1/chat/completions"

通过 API易 apiyi.com 获取的接口地址已经过验证,可直接使用。

Q2: 提示 “ProviderModelNotFoundError” 找不到模型?

这是因为配置的模型 ID 与 Provider 中定义的不匹配。解决方法:

  1. 检查 model 字段格式: provider-id/model-id
  2. 确保 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 步配置方法,你已经掌握了:

  1. 安装 OpenCode: 使用一键脚本或包管理器快速安装
  2. 配置 API 密钥: 通过 /connect 或环境变量设置认证
  3. 创建配置文件: 编写 opencode.json 指定中转站和模型

OpenCode 作为开源的终端 AI 编程助手,配合 API 中转站使用,可以获得媲美 Claude Code 的体验,同时保持成本可控和模型灵活性。

推荐通过 API易 apiyi.com 快速获取 API 密钥并开始测试。平台提供免费额度,支持 Claude、GPT、Gemini 等主流模型,统一的接口格式让配置更简单。


📝 作者: APIYI 技术团队 | API易 apiyi.com – 让 AI API 调用更简单

类似文章