OpenCode
LMU AI API を OpenCode で OpenAI / Anthropic 互換バックエンドとして設定し、Claude、Codex、GLM などのモデルを利用します。
公式ドキュメントに従って OpenCode をインストールするだけです — ウェブサイトに詳細なチュートリアルがあります:
- 公式ドキュメント: https://opencode.ai/docs/
モデルを設定する
インストール後、設定ファイル ~/.config/opencode/opencode.json を編集します。OpenCode は上流サービスへの接続に 2 つのプロトコルをサポートしています — お使いのプロバイダーに合ったものを選ぶだけです。
プロトコルの選択
| プロトコル | npm | baseURL の形式 | 使用する場面 |
|---|---|---|---|
| OpenAI プロトコル | @ai-sdk/openai | /v1 で終わる、例: https://xxx.com/v1 | GPT、Codex、およびほとんどの OpenAI 互換サービス |
| Anthropic プロトコル | @ai-sdk/anthropic | 同じく /v1 で終わる、例: https://xxx.com/v1 | Claude のネイティブプロトコル、および Anthropic プロトコルを宣言している中国のモデル(GLM など) |
よくある baseURL の落とし穴
OpenAI と Anthropic の両プロトコルにおいて、baseURL は 必ず /v1 のレベルまで指定する必要があります。SDK はその後に具体的なエンドポイント(/chat/completions や /messages など)を追加するだけです。/v1 を省略すると、リクエストは静かに破棄され — モデルはエラーを返さずに空のコンテンツを応答します。
例 1 — OpenAI プロトコル
最小限の動作する設定(1 つのプロバイダーの下に複数のモデルを設定できます):
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"baseURL": "https://api.lmuai.com/v1"
},
"models": {
"gpt-5.5": { "name": "GPT-5.5" },
"gpt-5.4": { "name": "GPT-5.4" }
}
}
}
}なぜプロバイダー ID に `openai` を使うのか?
OpenCode は openai を 組み込みのプロバイダー ID として認識するため、自動的に @ai-sdk/openai を読み込み、/v1/responses エンドポイントを使用します(推論モデルを完全サポート)。そのため、OpenAI プロトコルのサービスに接続する場合は、プロバイダー ID を openai と名付け、baseURL を自分のゲートウェイに向けるだけで済みます — npm フィールドを手動で書く必要はありません。
モデルの機能宣言(コンテキスト長、推論努力度のバリアントなど)を調整する必要がある場合は、そのモデルのエントリにフィールドを追加するだけです:
"gpt-5.5": {
"name": "GPT-5.5",
"limit": { "context": 1050000, "output": 128000 },
"options": { "store": false },
"variants": { "low": {}, "medium": {}, "high": {}, "xhigh": {} }
}ここで variants は切り替え可能な推論努力度のレベルを定義します。OpenCode の実行時に Ctrl + T を押すことでそれらを切り替えられます。
例 2 — Anthropic プロトコル(中国モデルでよく使われる)
一部の中国のモデル(GLM など)は国内のベンダーが提供していますが、その API は Anthropic プロトコル に従っているため、@ai-sdk/anthropic が必要です:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"lmuai": {
"npm": "@ai-sdk/anthropic",
"name": "lmuai",
"options": {
"baseURL": "https://api.lmuai.com/v1"
},
"models": {
"glm-5.1": {
"name": "GLM-5.1"
}
}
}
}
}どちらのプロトコルか見分けるには?
プロバイダーのドキュメントにあるリクエスト例を確認してください:
- エンドポイントが
/v1/chat/completions→ OpenAI プロトコル - エンドポイントが
/v1/messagesでanthropic-versionリクエストヘッダーがある → Anthropic プロトコル
例 3 — Claude ネイティブモデル
ネイティブの Claude モデル(claude-sonnet-4-6 など)に接続するには、プロバイダー ID に組み込みの anthropic を使用する必要があります — カスタム名は使用できません:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"npm": "@ai-sdk/anthropic",
"options": {
"baseURL": "https://api.lmuai.com/v1"
}
}
}
}検証:
opencode run --model anthropic/claude-sonnet-4-6 "Hello"なぜ Claude モデルはカスタムプロバイダー ID を使えないのか?
openai と同様に、anthropic は OpenCode の 組み込みプロバイダー ID であり、OpenCode はその下に Claude モデルラインナップ全体(claude-sonnet-4-6 など)の組み込み定義を同梱しています。
そのため opencode run --model anthropic/claude-sonnet-4-6 "Hello" は動作します。しかし、プロバイダー ID をカスタム名(lmuai/claude-sonnet-4-6 など)に変更すると、OpenCode はモデル定義を見つけられず、テストは失敗します。
要するに: ネイティブの Claude モデルには anthropic を使い、GLM のようなカスタムモデルにのみカスタムプロバイダー ID(lmuai など)を使ってください。
複数のプロトコルと複数のプロバイダーを同時に使う必要がある場合は、それらをすべて provider の下に置くだけです — 互いに干渉しません。例えば、LMU AI は GPT シリーズ(openai)、Claude シリーズ(anthropic)、GLM シリーズ(lmuai、Anthropic プロトコル)を同時に提供しており、3 つのプロバイダーすべてが 1 つのゲートウェイを共有できます。
キーを設定する
方法 1 — コマンドライン(推奨)
# Log in or update the key for a provider
opencode auth login
# List all configured providers and their key status
opencode auth list
# Remove the key for a specific provider
opencode auth logout <provider-name>方法 2 — 設定ファイルを手動で編集する
~/.local/share/opencode/auth.json に該当するプロバイダーの API キーを追加します:
{
"provider-name": {
"type": "api",
"key": "your-api-key"
}
}注意
auth.json のプロバイダー名は、opencode.json のプロバイダー名と 完全に一致 している必要があります。
apiKey を opencode.json の options ブロックに入れないでください — OpenCode はそこからキーを読み取りません。キーは auth.json または opencode auth login を通じて設定する必要があります。
設定を検証する
設定が完了したら、1 つのコマンドですばやく検証できます:
opencode run --model provider-name/model-name "Hello"例えば opencode run --model lmuai/glm-5.1 "Hello" です。正常な応答が返れば設定は機能しています。
出力がまったくない場合(エラーも応答もない場合)、通常は次の 2 つの問題のいずれかです:
- baseURL に
/v1が欠けている — 上記「プロトコルの選択」セクションのヒントを参照してください。 - キーが
auth.jsonに設定されていない —opencode auth listに該当プロバイダーが表示されるか確認してください。
より詳細なデバッグ情報を得るには、--print-logs --log-level INFO を追加してください。
ヒント
OpenCode では、Ctrl + T を押すことで推論努力度のレベル(バリアント)を切り替えられます。
最終更新:
LMU AI の API キーを取得して、Claude や Codex をすぐに使う
登録は無料、プランは柔軟。1 つの API キーで Claude Code、Codex CLI、Cursor、VS Code 拡張、OpenCode、Cherry Studio などの AI ツールに接続できます。
登録する