# Zed (/ja/docs/guides/zed)

OpenAI互換プロバイダーで、Zed AgentなどZedのAI機能からcheapaimodelのモデルを使います。



Zedでは、OpenAI互換サービスを`settings.json`の`language_models.openai_compatible`にプロバイダーとして追加します。追加したプロバイダーは、Zed Agent、Inline Assistantなど、モデルを使うZedの機能で利用できます。

|          | Zedの設定項目                                          | 値                                                             |
| -------- | ------------------------------------------------- | ------------------------------------------------------------- |
| Base URL | `api_url`                                         | `https://api.cheapaimodel.ai/v1`                              |
| APIキー    | **LLM Providers**の設定ページ、または`CHEAPAIMODEL_API_KEY` | コンソールの[APIキー](https://console.cheapaimodel.ai/keys)ページで取得したキー |
| モデルID    | `available_models[].name`                         | `glm-5.3`、または[モデルカタログ](/ja/models)の任意のID                      |

## 設定 [#set-it-up]

<Steps>
  <Step>
    ### プロバイダーを追加する [#add-the-provider]

    コマンドパレットから**zed: open settings file**を実行し、プロバイダーを追加します。

    ```json title="~/.config/zed/settings.json"
    {
      "language_models": {
        "openai_compatible": {
          "cheapaimodel": {
            "api_url": "https://api.cheapaimodel.ai/v1",
            "available_models": [
              {
                "name": "glm-5.3",
                "display_name": "GLM-5.3",
                "max_tokens": CONTEXT_LENGTH
              }
            ]
          }
        }
      }
    }
    ```

    `max_tokens`はモデルのコンテキストウィンドウです。`CONTEXT_LENGTH`はモデルのページ（例：[glm-5.3](/ja/models/glm-5.3)）に記載されているコンテキスト長に置き換えてください。`available_models`にはモデルIDごとにエントリーを1つずつ追加します。
  </Step>

  <Step>
    ### キーを追加する [#add-your-key]

    **agent: open settings**を実行し、**LLM Providers**の中から**cheapaimodel**を探してキーを貼り付けます。Zedはキーをシステムのキーチェーンに保存します。代わりに、Zedを起動する環境で`CHEAPAIMODEL_API_KEY`を設定し、Zedを再起動しても構いません。
  </Step>

  <Step>
    ### モデルを選ぶ [#pick-the-model]

    Agent Panelを開き、モデル選択の**cheapaimodel**の下にある**GLM-5.3**を選びます。
  </Step>
</Steps>

<Callout type="info">
  Edit Predictionは別途設定が必要です。ZedのOpenAI互換Edit Predictionプロバイダーには`/v1/completions`エンドポイントとFIM（fill-in-the-middle）モデルが必要ですが、cheapaimodelのモデルが対応しているのは`/v1/chat/completions`と`/v1/responses`だけです。Edit PredictionにはZetaなど、ほかのプロバイダーを引き続き使ってください。
</Callout>

## よくある間違い [#common-mistakes]

* **プロバイダーにAPIキーがないとZedに表示される。** キーは`settings.json`からは読み込まれません。**LLM Providers**のページにキーを貼り付けるか、環境変数を設定してください。
* **環境変数が無視される、または古いキーが使われ続ける。** Zedは、プロバイダーIDを大文字のスネークケースにして`_API_KEY`を付けた名前の環境変数を読み込みます。IDが`cheapaimodel`なら`CHEAPAIMODEL_API_KEY`です。プロバイダー名を変えたら、変数名も合わせて変えてください。空でない環境変数はキーチェーンより優先されます。貼り付けたキーを使うには、変数を削除してZedを再起動してください。
* **プレーンテキストの本文`fault filter abort`とともに`404`が返る。** `api_url`に`/v1`がありません。`https://api.cheapaimodel.ai/v1`に設定してください。
* **`Invalid URL (POST /v1/chat/completions/chat/completions)`とともに`404`が返る。** `api_url`にエンドポイントのパスまで含まれています。`/chat/completions`はZedが自動で付加するため、`https://api.cheapaimodel.ai/v1`だけを設定してください。
* **`model_not_found`とともに`503`が返る。** `name`は[モデルカタログ](/ja/models)のモデルIDと正確に一致している必要があります。`display_name`は表示名にすぎません。
