著者注:Zed の 3 つの Agent 経路を整理し、OpenAI-compatible と Anthropic-compatible の 2 種類のカスタム Provider で APIYI を Zed に接続する方法を説明します。あわせて Base URL、モデル ID、料金、トラブルシューティングの要点も解説します。
Zed の Agent パネルや Inline Assistant でコードを書きながら別のモデルに切り替えたいのに、設定画面には LLM Providers、External Agents、ターミナルスレッドといくつもの入口があり、APIキーをどこに入力すればよいのかわからない。さらによくあるのが、サードパーティ製ゲートウェイを設定したものの、404 や認証失敗がずっと返ってくるケースです。本記事では、Zed のカスタム Provider(OpenAI-compatible / Anthropic-compatible)でサードパーティのモデルゲートウェイに接続するための完全な手順を紹介します。APIYI を例に、設定フローを最後までたどっていきます。
これは「設定をコピー&ペーストすれば終わり」というだけのクイックリファレンスではありません。まず Zed の 3 つの AI 経路について、それぞれモデル接続がどこまで担うのかという境界を整理し、そのうえで実際にそのまま進められる 2 つのルートを示します。Base URL に /v1 を付けるときと付けないときの違い——最も間違えやすいこのポイント——は別途詳しく解説します。
この記事の価値:この記事を読み終えれば、自分が変更すべき設定レイヤーを判断でき、5分以内に Zed Agent で claude-opus-5-5 や claude-sonnet-5-5 といったモデルを使えるようになります。問題が起きたときも、まず何を確認すべきかがわかります。

Zed のモデル切り替えの要点:まず3つのAgent経路を区別する
Zedは、Atom / Tree-sitterの主要メンバーが開発した高性能なマルチプレイヤー協働エディターです。2026-11-13時点で、GitHubリポジトリ zed-industries/zed は約94,884スター(GitHub API調べ)です。公式リリースページによると、2026-11-11の安定版は1.28.1、同日のPreviewは1.29.1です。macOS、Linux、Windows向けは直接ダウンロードできますが、Web版はまだ正式には利用できません。
Zedでモデルを切り替える前に、まず理解しておきたいことがあります。公式ドキュメントではAI機能を3つの経路に分けており、経路ごとにモデルの接続方法と認証方法が異なります。設定する場所を間違えると構成は有効にならず、キーが別の経路から読み取られることもありません。
| 経路 | モデルの取得元 | 認証の管理主体 | 主な用途 |
|---|---|---|---|
| Zed Agent | LLM Providers(Zedホスト型、ベンダーキー、サブスクリプション、ゲートウェイ、ローカルモデル) | Zed本体。キーはシステムキーチェーンに保存 | Agentパネル、Inline Assistant、組み込みツール / profiles / skills / MCP |
| External Agents(ACP) | 外部Agentが自らモデルを選択 | 外部Agentが自ら管理 | Zedスレッド内でClaude Agent、Codex、OpenCode、Copilot、Cursorなどを実行 |
| Terminal Threads | あなたが実行するCLI / TUIが決定 | CLI自身の設定 | ターミナルスレッドで各種Agent CLIを直接実行 |
Zed Agent と External Agent の接続境界
「Zed Agentのモデルを切り替える」とは、LLM Providers、つまりAPI Accessの層を設定することを指します。これが本記事の中心テーマです。公式がファーストクラスとしてサポートしているベンダーはAnthropic、OpenAI、Google AI、Mistral、DeepSeek、xAI、OpenCodeで、さらにAnthropic-compatibleとOpenAI-compatibleという2種類のカスタムエンドポイントも提供しています。サードパーティ製ゲートウェイは、この2種類のカスタムエンドポイント経由で接続します。
パネル内でClaude AgentやOpenCodeを使いたいだけなら、それはExternal Agentに属し、Agent Client Protocol(ACP)を経由します。この場合、スレッドはZedがホストしますが、ランタイム、認証、モデル選択は通常、外部Agent側が管理します。LLM Providersに入力したキーは自動的に共用されるわけではなく、Claude Agentは自身のスレッドで/loginを実行する必要があります。外部Agentはコマンドパレットのzed: acp registryからレジストリを開いてインストールできます。公式ドキュメントによると、ZedはExternal Agentsに対して別途課金せず、請求はAgent提供元で発生します。

Zed カスタムプロバイダー設定の要点
2種類のカスタムエンドポイントの違いは、主にリクエスト形式にあります。OpenAI互換はChat Completions、Anthropic互換はMessages API(/v1/messages)を使用します。この違いはBase URLの書き方を直接左右し、Prompt Cache課金を利用できるかどうかも決まります。
| 設定項目 | OpenAI互換 | Anthropic互換 |
|---|---|---|
| リクエスト形式 | /v1/chat/completions |
/v1/messages |
| APIYI api_url | https://api.apiyi.com/v1 |
https://api.apiyi.com(/v1 を付けない) |
| モデルフィールド | available_models[].name + max_tokens |
available_models |
| 機能スイッチ | デフォルトは tools=true、images=false、chat_completions=true | capabilities.prompt_caching を設定可能 |
| キャッシュ課金 | APIYIのドキュメントでは無効と記載 | ネイティブのMessages形式では有効 |
| 適した用途 | 1つのプロバイダーで複数社のモデルをまとめたい | 主にClaudeを使用、長いコンテキスト、キャッシュが必要 |
Base URL が片方だけ /v1 を付ける理由
APIYI Base URL FAQ(ドキュメント確認 2026-11-13)によると、OpenAI互換クライアントは api_url の後ろに直接 /chat/completions を連結するため、api_url は /v1 の階層まで書く必要があります。Anthropic側のクライアントは自分で /v1/messages を連結するので、ルートドメインしか指定できません。https://api.apiyi.com/v1 と書いてしまうと、最終的なリクエストは /v1/v1/messages になり、そのまま404が返ります。
さらに2点、注意が必要です。ZedのAPIキーはシステムのキーチェーンに保存され、settings.jsonには書き込まれません。対応する環境変数が空でない場合、環境変数がキーチェーンより優先されて有効になります。また、Responsesインターフェースのみをサポートするモデルでは、capabilities.chat_completions を false に設定する必要があります。そうしないとZedがChat Completionsとして呼び出してしまいます。
Zed で APIYI に接続するクイックスタート
以下の2つのルートは、どちらか一方だけを選んでも、両方設定しても構いません。モデルセレクターで切り替えられます。作業を始める前にキーを準備しておきましょう。
🚀 クイックスタート:ログイン後、APIYI のトークンページ
api.apiyi.com/tokenでトークンを作成してください。Zed 専用に1つ作成するのがおすすめです。使用量を確認しやすく、いつでも失効させられます。クイックスタートドキュメント docs.apiyi.com/getting-started には skill.md / llms.txt も用意されているので、Agent にプラットフォームの説明を読み込ませるのも簡単です。
ルート A:OpenAI-compatible エンドポイントで Zed に接続
- Agent 設定を開きます:コマンドパレットで
agent: open settingsを実行します。バージョンによって画面上の入口名が多少異なる場合があるので、AI / Agent 設定ページの LLM Providers ブロックを基準にしてください。 - LLM Providers ブロックで Add Provider をクリックし、種類として OpenAI-compatible を選びます。
- Provider 名は任意で付けます。例えば
apiyiにすると、settings.json のlanguage_models.openai_compatible.apiyiに対応します。 - API URL には
https://api.apiyi.com/v1を入力します。ここは必ず/v1を付けてください。APIYI の OpenAI 互換ページに記載されている書き方でもあります。 - API Key には先ほど作成したトークンを貼り付けます。Zed がそれをシステムのキーチェーンに保存します。
- モデルを追加します:name には APIYI のモデル一覧表にある実際の ID を入力します。例えば
claude-opus-5-5、claude-sonnet-5-5などで、claude-fable-5-2を加えることもできます。max_tokensはモデルのドキュメントに従って入力してください。不明な場合はまず控えめな値にしておき、動作確認できたら大きくしましょう。 - 機能スイッチはデフォルトのままで構いません(tools=true)。画像を送る必要が出てきたら、そのときに手動で images をオンにしてください。
- Agent パネルに戻り、モデルセレクターで
apiyiまたはモデル名を検索します。最近のバージョンのモデルセレクターはあいまい検索に対応しています。選択したらメッセージを1通送って検証しましょう。
このルートの利点は、1つの Provider で複数のモデルを扱えることです。APIYI のドキュメントによると、OpenAI 互換エンドポイント /v1/chat/completions は、モデル文字列を1箇所変更するだけでモデルを切り替えられます。
ルートB:Anthropic互換エンドポイントでZedに接続
- 同様に LLM Providers → Add Provider に進み、種類として Anthropic-compatible を選択します。
- API URL には
https://api.apiyi.comを入力し、ルートドメインのみを書き、/v1 は付けません。実際のリクエストは、APIYI の Anthropic ネイティブエンドポイントhttps://api.apiyi.com/v1/messagesに送られます。 - 同じトークンを貼り付けるか、専用のトークンを新たに作成します。
- available_models に
claude-opus-5-5、claude-sonnet-5-5などのIDを追加します。 - 長いコンテキストの会話でキャッシュを効かせたい場合は、
capabilities.prompt_cachingをオンにします。APIYI の Claude 機能ページの説明によると、キャッシュの課金はネイティブ Messages 形式でのみ有効です。 - モデルセレクターでそのモデルを選択し、メッセージを1通送ってテストします。
💡 選択のヒント:日常的に Claude を中心に使い、会話が長く、同じファイル群を何度も読み返すことが多いなら、ルートBのほうがお得です。複数のモデルを頻繁に切り替える必要があるなら、ルートAのほうが手軽です。2つのルートは同じ APIYI トークンを使えるので、Zed のモデルセレクターでタスクに応じて切り替えられます。

Claude モデル価格リファレンス(データ日付 2026-11-13)
以下のデータは APIYI のモデル総合表に基づくもので、2026-11-13 にドキュメントを照合済みです。単位は米ドル / 100万トークンあたり、従量課金制です。
| モデル ID | 入力 | 出力 | キャッシュ読み取り | 対応エンドポイント | 利用可能プラットフォーム |
|---|---|---|---|---|---|
claude-opus-5-5 |
$4 | $20 | $0.2 | chat + messages | APIYI apiyi.com |
claude-opus-5-5-thinking |
opus-5-5 と同じ | opus-5-5 と同じ | opus-5-5 と同じ | 総合表を基準とする | APIYI apiyi.com |
claude-sonnet-5-5 |
$2 | $10 | $0.1 | 総合表を基準とする | APIYI apiyi.com |
claude-fable-5-2 |
$8 | $40 | $0.2 | 総合表を基準とする | APIYI apiyi.com |
型番と価格はプラットフォームのモデル一覧を基準とします。設定前に docs.apiyi.com/models を開いて、その日の数字とグループを確認してください(総合表の claude-opus-5-5 列には ClaudeCode、Claude_Reverse、Claude_Enterprise、Default、SVIP などのグループが記載されています)。
claude-opus-5-5 の利用制限について、APIYI のリリース情報(2026-09-23)では3点が挙げられています。思考を disabled に設定できないこと、tool_choice を any / tool に設定すると 400 が返ること、effort のデフォルトが medium であることです。Zed Agent でツール呼び出し時に 400 が発生する場合は、まずこれらの項目を確認してください。
Zed カスタムエンドポイントのよくあるエラーと対処
カスタムプロバイダーでエラーが発生するとき、問題のほとんどは URL・キー・モデル名の3点に集中しています。次の表は発生頻度の高い順に並べているので、上から順に確認してみてください。
| 現象 | よくある原因 | 対処方法 |
|---|---|---|
| 404 Not Found | Anthropic-compatible に /v1 を入力してしまい、パスが /v1/v1/messages になっている |
ルートドメイン https://api.apiyi.com に戻す |
| 404 / パスが不正 | OpenAI-compatible で /v1 が抜けている |
https://api.apiyi.com/v1 に変更する |
| 401 / 認証失敗 | トークンが誤っている、削除済み、または環境変数がキーチェーンの設定を上書きしている | api.apiyi.com/token で再確認し、競合している環境変数をクリアする |
| モデルが存在しない | ID の綴り間違い、またはエイリアスを使用している | docs.apiyi.com/models から元の ID をコピーする |
| 400(ツール呼び出し) | tool_choice が any / tool になっている、または思考の無効化を試している |
公開時の最新説明に合わせて調整する |
| 画像が無効 | OpenAI-compatible ではデフォルトで images=false | capabilities で images を有効にする |
| Responses のみ対応のモデルでエラー | 依然として Chat Completions で呼び出している | capabilities.chat_completions を false に設定する |
🎯 トラブルシューティングのヒント:404 が出たら、まず Zed 設定の api_url と APIYI Base URL FAQ(docs.apiyi.com/faq/base-url-config)を一字一句照らし合わせてください。ほとんどの問題は
/v1を1回多く書いたり、逆に書き忘れたりしているだけです。

Zed のカスタムプロバイダー利用に関するリスク
- 公式ホスティングではありません:OpenAI-compatible / Anthropic-compatible のカスタムプロバイダーは Zed が提供する汎用的な接続機能であり、サードパーティのゲートウェイは Zed の公式ホスティングサービスには含まれません。サービスに問題が発生した場合は、ゲートウェイの提供元に連絡する必要があります。
- APIキーと課金は自己責任です:トークンと使用量の課金はすべてご自身のアカウント内で発生します。Zed 専用のトークンを作成し、定期的に使用量を確認することをおすすめします。また、APIキーを settings.json に書いてリポジトリにコミットしないでください。Zed はデフォルトでキーチェーンに保存するため、このリスクはもともと低く抑えられています。
- External Agent の規約は提供元に帰属します:Claude Agent や Codex などの外部 Agent のサブスクリプション、クォータ、利用規約はそれぞれの提供元が定めるものであり、Zed Agent のプロバイダー設定とは独立しています。
- バージョンによる差異:本記事のUI記述は 1.28.x / 1.29.x の公式ドキュメントおよびリリース情報に基づいています(確認日 2026-11-13)。以降のバージョンではメニュー名が変更される可能性があります。
よくある質問(FAQ)
Q1:Zed の OpenAI 互換エンドポイントとは何ですか?
これは LLM Providers に含まれるカスタムプロバイダーの一種です。サーバー側が Chat Completions インターフェースを実装していれば、api_url とモデルリストを指定して Zed Agent に接続できます。Zed 公式の対応を待つ必要はありません。
Q2:LLM Providers に入力したキーは Claude Agent でそのまま使えますか?
いいえ、使えません。Claude Agent は External Agent に分類され、認証はそれ自体で管理するため、そのスレッド内で `/login` を実行する必要があります。LLM Providers のキーは Zed Agent 専用です。
Q3:OpenAI-compatible と Anthropic-compatible はどちらを選ぶべきですか?
メインで Claude を使い、キャッシュ課金を利用したい場合は Anthropic-compatible を選んでください。1つのプロバイダーで複数社のモデルをまとめて扱いたい場合は OpenAI-compatible を選んでください。APIYI のドキュメントによると、キャッシュ課金はネイティブの Messages 形式でのみ有効です。
Q4:モデルIDには何を入力すればよいですか?
プラットフォームの型番一覧に記載されている元のIDを入力してください。例えば `claude-opus-5-5`、`claude-sonnet-5-5`、`claude-fable-5-2` です。docs.apiyi.com/models から直接コピーすることをおすすめします。手入力でミスすると「モデルが存在しない」エラーにつながります。
Q5:設定後ずっと404になる場合はどう切り分けますか?
まず `/v1` を確認してください。OpenAI-compatible では付ける必要があり、Anthropic-compatible では付けてはいけません。パスに問題がなければ、モデルIDが APIYI の型番リストと一致しているか確認します。
Q6:APIキーはどこに保存されますか?リポジトリに同期されますか?
Zed はキーをシステムのキーチェーンに保存し、settings.json には書き込みません。そのため設定ファイルを共有してもキーが漏れることはありません。注意点として、同名の環境変数が空でない場合はキーチェーンより優先されます。401 を調査する際は、環境変数の確認も忘れないでください。
Q7:この設定にはどのような既知の制限がありますか?
OpenAI-compatible はデフォルトで画像機能がオフになっています。`claude-opus-5-5` の思考は無効化できず、`tool_choice` を any / tool に設定すると 400 が返ります。また、カスタムプロバイダーは Zed 公式のホスティングサービスではないため、安定性はゲートウェイ側に依存します。
Zed と APIYI 連携のポイント Key Takeaways
- まず経路を分ける:Zed Agent は LLM Providers を使い、External Agent は自身で認証を管理します。
- 2種類のエンドポイント:OpenAI-compatible は chat、Anthropic-compatible は messages を使います。
- URL ルール:OpenAI 互換は
/v1を入力し、Claude ネイティブはルートドメインのみを入力します。 - モデル ID:APIYI のモデル一覧表に従って、
claude-opus-5-5などの元の ID をコピーします。 - キャッシュ課金:キャッシュが必要な場合は Anthropic-compatible を使い、prompt_caching を有効にします。
- トラブルシューティングの順序:
/v1、トークン、モデル ID、ツールパラメータの順に確認します。 - 始め方:api.apiyi.com/token で専用トークンを作成すれば、5分で設定が完了します。
まとめ
Zed でモデルを切り替える際の鍵は、どの層を変更するのかを確認することです:
- Zed Agent のモデル切り替え:LLM Providers で Add Provider を使って OpenAI-compatible または Anthropic-compatible のエンドポイントを追加します。
- External Agent:Claude Agent、OpenCode などは自身で認証を行うため、APIキーは Zed Agent と共有されません。
- Base URL:OpenAI 互換は
https://api.apiyi.com/v1、Anthropic 互換はhttps://api.apiyi.comを入力します。/v1を付け足しても省いても 404 になります。
設定の前に、まず docs.apiyi.com/models でその日のモデルと価格を確認し、その後トークンページから Zed 専用の APIキーを作成することをおすすめします。まず claude-sonnet-5-5 で動作確認を行い、その後タスクに応じて claude-opus-5-5 に切り替えてください。APIYI apiyi.com を通じて、同じトークンで2つの Provider の効果を比較できます。
📚 参考資料
- Zed GitHub リポジトリ:ソースコードとスター数の観測(2026-11-13)
- リンク:
github.com/zed-industries/zed -
説明:ライセンスは主に GPL-3.0-or-later で、Apache-2.0 のコンポーネントを含みます
-
Zed AI Overview:3つのAI経路に関する公式説明
- リンク:
zed.dev/docs/ai/overview -
説明:Zed Agent、External Agents、Terminal Threads それぞれの範囲
-
Zed Use API Access:カスタムProviderの設定
- リンク:
zed.dev/docs/ai/use-api-access -
説明:OpenAI-compatible / Anthropic-compatible のフィールドとキーチェーンへの保存
-
Zed External Agents:ACP外部Agent
- リンク:
zed.dev/docs/ai/external-agents -
説明:Claude Agent、Codex、OpenCode などの接続方法
-
Zed Releases:バージョン更新履歴
- リンク:
zed.dev/releases/stable -
説明:1.28.1 安定版および Preview 版の更新内容
-
APIYI モデル一覧表:モデルIDと価格
- リンク:
docs.apiyi.com/models.md -
説明:入力/出力/キャッシュ読み取りの価格は、その日のリストを基準とします
-
APIYI Base URL 設定FAQ:/v1 のルール
- リンク:
docs.apiyi.com/faq/base-url-config.md -
説明:OpenAI互換とClaudeネイティブにおける Base URL の記述方法の違い
-
APIYI Claude 機能ページ:ネイティブと互換エンドポイント
- リンク:
docs.apiyi.com/api-capabilities/claude.md -
説明:キャッシュ課金は Messages 形式でのみ有効です
-
APIYI claude-opus-5-5 リリース情報:利用上の制限
- リンク:
docs.apiyi.com/live/2026-09/claude-opus-5-5.md - 説明:thinking、tool_choice、effort のデフォルト値に関する説明
作者:APIYI 技術チーム
技術サポート:設定で問題が発生した場合は、docs.apiyi.com のドキュメントセンターをご参照いただくか、APIYI 公式サイトのトップページからお問い合わせください
