オープンソースのAIプログラミングアシスタント「OpenCode」を使いたいけれど、公式APIの価格の高さやネットワークの不安定さに悩んでいませんか?そんな時、APIプロキシ(中継)サービスが最適な解決策となります。この記事では、OpenCodeをAPIYIやOpenRouterなどの中継サービスに接続する3つのステップを分かりやすく解説します。これにより、Claude、GPT-4、Geminiなど75種類以上の主要な大規模言語モデルを、より低コストで利用できるようになります。
本記事のメリット: 読み終える頃には、OpenCodeを任意のOpenAI互換APIで動作させるための設定方法をマスターし、自由なモデルの切り替えとコストの最適化を実現できるようになります。

OpenCodeとは?なぜAPIプロキシを利用するのか
OpenCodeは、Claude Codeのオープンソース代替として注目されているターミナルベースのAIプログラミングアシスタントです。Go言語で開発されており、洗練されたTUI(テキストユーザインターフェース)、マルチセッション管理、LSP(Language Server Protocol)連携など、プロフェッショナルな機能を備えています。
OpenCodeの主な特徴
| 機能 | 説明 | メリット |
|---|---|---|
| 75以上のモデルに対応 | OpenAI、Claude、Gemini、Bedrockなどに対応 | 特定のベンダーに縛られない |
| ターミナルネイティブ | Bubble Teaで構築された美しいTUI | 開発者に優しい操作体験 |
| オープンソース・無料 | コードは完全公開、サブスクリプション不要 | API利用料のみでコスト管理が容易 |
| LSP連携 | 言語サーバーを自動検出 | インテリジェントなコード補完と診断 |
| マルチセッション管理 | 複数のエージェントを並行実行 | 複雑なタスクの分解と連携 |
| Vimモード | Vimスタイルのエディタを内蔵 | ターミナルユーザーがスムーズに移行可能 |
なぜAPIプロキシ(中継)サービスを使うのか?
公式APIを直接利用する場合、以下のような課題に直面することがあります。
| 課題 | APIプロキシによる解決策 |
|---|---|
| 価格が高い | プロキシサービスはより安価な料金体系を提供しており、個人開発者に最適 |
| ネットワークが不安定 | アクセス経路の最適化により、接続の安定性が向上 |
| 支払いや管理が煩雑 | 決済が一本化され、複数のモデルを一括管理可能 |
| 利用制限(クォータ) | プロキシ経由でより柔軟な利用枠の確保が可能 |
| 登録のハードル | 海外の電話番号やクレジットカードが不要 |
🚀 クイックスタート: プロキシサービスとして「APIYI(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 クイックスタート設定
ステップ 1: 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
ステップ 2: API 中継サーバーキーの設定
OpenCode は 2 つの認証方式をサポートしています。
方法 1: /connect コマンドを使用する (推奨)
OpenCode を起動した後、/connect コマンドを入力します。
opencode
# TUI インターフェースで入力
/connect
Other を選択してカスタムプロバイダーを追加し、API キーを入力します。キーは ~/.local/share/opencode/auth.json に安全に保存されます。
方法 2: 環境変数の設定
~/.zshrc または ~/.bashrc に以下を追加します。
# APIYI 中継サーバーの設定
export OPENAI_API_KEY="sk-your-apiyi-key"
export OPENAI_BASE_URL="https://api.apiyi.com/v1"
設定を反映させます。
source ~/.zshrc
ステップ 3: 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": "APIYI",
"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}構文は環境変数を自動的に読み取るため、設定ファイルにキーをハードコードするのを防ぎます。APIYI (apiyi.com) から取得した API キーは OpenAI 形式と互換性があり、そのまま使用できます。
完全な設定例を表示 (複数のプロバイダーを含む)
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apiyi": {
"npm": "@ai-sdk/openai-compatible",
"name": "APIYI (推荐)",
"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 | 特徴 | 推奨利用シーン |
|---|---|---|---|
| APIYI | 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 |
非常に高速、無料枠あり | レイテンシに敏感なシーン |
APIYI 設定の詳細
APIYI は、国内の開発者向けに最適化された AI API プロキシプラットフォームで、以下の機能を提供します:
- 統一された OpenAI 互換インターフェース
- Claude、GPT、Gemini、DeepSeek などの主要モデルをサポート
- 従量課金制(月額料金なし)
- 無料テストクレジット
- 中国語カスタマーサポート
{
"provider": {
"apiyi": {
"npm": "@ai-sdk/openai-compatible",
"name": "APIYI",
"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 シリーズのモデルを使用する場合は、低価格でレスポンスが速い APIYI (apiyi.com) をおすすめします。オープンソースモデルやマイナーなモデルが必要な場合は、OpenRouter の方がカバー範囲が広いです。
OpenCode 応用設定テクニック
エージェント(Agent)モデル割り当て戦略
OpenCode には Coder と Planner の 2 つのエージェントが内蔵されており、それぞれに異なる大規模言語モデルを割り当てることができます。
{
"agent": {
"coder": {
"model": "apiyi/claude-sonnet-4-20250514",
"maxTokens": 8000,
"description": "主要なコーディングタスク用。高性能モデルを使用"
},
"planner": {
"model": "apiyi/gpt-4o-mini",
"maxTokens": 4000,
"description": "計画・分析用。軽量モデルを使用してコストを削減"
}
}
}
マルチプロバイダー(Provider)の切り替え
複数のプロバイダーを設定した後は、OpenCode 内で /models コマンドを使用して、いつでも切り替えることができます。
# OpenCode を起動
opencode
# TUI 内でモデルを切り替え
/models
# apiyi/claude-sonnet-4-20250514 または他のモデルを選択
環境変数のベストプラクティス
API キーは .env ファイルで管理することをお勧めします。
# .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}"
}
}
}
}
トークン制限の設定
モデルのコンテキストと出力の制限を指定することで、制限超過エラーを回避します。
{
"models": {
"claude-sonnet-4-20250514": {
"name": "Claude Sonnet 4",
"limit": {
"context": 200000,
"output": 65536
}
}
}
}
OpenCode よくある質問とトラブルシューティング
設定プロセスで発生する可能性のある問題とその解決策をまとめました。
Q1: 設定後に “Route /api/messages not found” エラーが表示されます。
これは通常、baseURL の設定が正しくないことが原因です。以下の点を確認してください。
- baseURL が
/v1/chat/completionsではなく、/v1で終わっていることを確認してください。 - 利用しているプロキシが標準的な OpenAI インフェース形式をサポートしているか確認してください。
- API キーが有効であることを確認してください。
正しい形式:
"baseURL": "https://api.apiyi.com/v1"
誤った形式:
"baseURL": "https://api.apiyi.com/v1/chat/completions"
APIYI(apiyi.com)から取得したインターフェースアドレスは検証済みのため、そのまま使用可能です。
Q2: “ProviderModelNotFoundError” でモデルが見つからないと表示されます。
これは、設定されたモデル ID がプロバイダーで定義されているものと一致しないために発生します。解決方法は以下の通りです。
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 "こんにちは、日本語で返信してください"
正常な応答が返ってくれば、設定は成功です。APIYI(apiyi.com)プラットフォームのコンソールから API の呼び出しログを確認することもでき、問題の特定に役立ちます。
Q4: 設定ファイルはどこに置くのが最適ですか?
使用シーンに合わせて選択してください。
| シーン | 推奨場所 | 説明 |
|---|---|---|
| ユーザー全体のデフォルト | ~/.config/opencode/opencode.json |
すべてのプロジェクトで共有 |
| 特定のプロジェクト設定 | プロジェクトのルートディレクトリ opencode.json |
Git にコミット可能(キーは含まない) |
| CI/CD 環境 | 環境変数 OPENCODE_CONFIG_CONTENT |
設定を動的に注入 |
Q5: OpenCode で異なる API プロキシを切り替えるには?
複数のプロバイダーを設定した後、/models コマンドで切り替えます。
opencode
/models
# 異なるプロバイダー配下のモデルを選択するだけで切り替え可能
また、設定ファイルでデフォルトモデルを指定することもできます。
{
"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の最大の利点はモデルの柔軟性です。APIYI(apiyi.com)のような中継サービスと組み合わせることで、同じ設定のままClaude、GPT-4、Geminiなど多様なモデルを切り替えて使用でき、コストパフォーマンスが最も優れた構成を見つけることができます。
参考文献・リソース
以下は、OpenCodeを設定する際に役立つリソースです:
| リソース | リンク | 説明 |
|---|---|---|
| OpenCode公式サイト | opencode.ai/docs |
完全な設定リファレンス |
| OpenCode GitHubリポジトリ | github.com/opencode-ai/opencode |
ソースコードとIssue |
| OpenCodeプロバイダー設定 | opencode.ai/docs/providers |
プロバイダーの詳細説明 |
| OpenRouterドキュメント | openrouter.ai/docs |
OpenRouter連携ガイド |
まとめ
本記事で紹介した3ステップの構成方法を通じて、以下の内容を習得できたはずです:
- OpenCodeのインストール: ワンクリックスクリプトやパッケージマネージャーを使用して素早くインストール
- APIキーの設定:
/connectコマンドまたは環境変数を使用して認証を設定 - 設定ファイルの作成:
opencode.jsonを記述し、プロキシサーバーとモデルを指定
OpenCodeはオープンソースのターミナルAIプログラミングアシスタントとして、APIプロキシと組み合わせて使用することで、コストを抑えつつモデルの柔軟性を保ちながら、Claude Codeに匹敵する体験を得ることができます。
APIYI (apiyi.com) を通じてAPIキーを迅速に取得し、テストを開始することをお勧めします。プラットフォームでは無料枠を提供しており、Claude、GPT、Geminiなどの主要なモデルをサポートしています。統一されたインターフェース形式により、設定がより簡単になります。
📝 著者: APIYI 技術チーム | APIYI apiyi.com – AI APIの呼び出しをよりシンプルに
