|

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-zh-hant 图示

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-zh-hant 图示

配置架構說明

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-zh-hant 图示

主流 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 調用更簡單

Similar Posts