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

Usa los modelos de cheapaimodel en Zed Agent y en otras funciones de IA de Zed mediante un proveedor compatible con OpenAI.



Zed agrega servicios compatibles con OpenAI como proveedores en `language_models.openai_compatible`, dentro de `settings.json`. Después, el proveedor queda disponible para Zed Agent, el Inline Assistant y las demás funciones de Zed que usan modelos.

|               | Configuración de Zed                                                | Valor                                                                                     |
| ------------- | ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| Base URL      | `api_url`                                                           | `https://api.cheapaimodel.ai/v1`                                                          |
| Clave de API  | Página de configuración **LLM Providers**, o `CHEAPAIMODEL_API_KEY` | Tu clave de la página [Claves de API](https://console.cheapaimodel.ai/keys) de la consola |
| ID del modelo | `available_models[].name`                                           | `glm-5.3`, o cualquier ID del [catálogo](/es/models)                                      |

## Configuración [#set-it-up]

<Steps>
  <Step>
    ### Agrega el proveedor [#add-the-provider]

    Ejecuta **zed: open settings file** desde la paleta de comandos y agrega un proveedor:

    ```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` es la ventana de contexto del modelo. Reemplaza `CONTEXT_LENGTH` con la longitud de contexto que aparece en la página del modelo, por ejemplo [glm-5.3](/es/models/glm-5.3). Agrega una entrada en `available_models` por cada ID de modelo.
  </Step>

  <Step>
    ### Agrega tu clave [#add-your-key]

    Ejecuta **agent: open settings**, busca **cheapaimodel** en **LLM Providers** y pega la clave; Zed la guarda en el llavero del sistema. También puedes definir `CHEAPAIMODEL_API_KEY` en el entorno con el que se inicia Zed y reiniciar Zed.
  </Step>

  <Step>
    ### Elige el modelo [#pick-the-model]

    Abre el Agent Panel y, en el selector de modelos, elige **GLM-5.3** dentro de **cheapaimodel**.
  </Step>
</Steps>

<Callout type="info">
  Las predicciones de edición (edit predictions) se configuran por separado. El proveedor de predicciones de edición compatible con OpenAI de Zed necesita un endpoint `/v1/completions` y un modelo de relleno intermedio (FIM); los modelos de cheapaimodel solo ofrecen `/v1/chat/completions` y `/v1/responses`. Para las predicciones de edición, sigue usando Zeta u otro proveedor.
</Callout>

## Errores comunes [#common-mistakes]

* **Zed dice que el proveedor no tiene clave de API.** Las claves no se leen de `settings.json`. Pega la clave en la página **LLM Providers** o define la variable de entorno.
* **La variable de entorno se ignora, o se sigue usando una clave anterior.** Zed toma el nombre de la variable del ID del proveedor: lo pasa a mayúsculas con guiones bajos y le agrega `_API_KEY`. Con el ID `cheapaimodel`, lee `CHEAPAIMODEL_API_KEY`; si cambias el nombre del proveedor, cambia también el de la variable. Una variable que no está vacía tiene prioridad sobre el llavero; elimínala del entorno y reinicia Zed para usar la clave que pegaste.
* **`404` con el cuerpo en texto plano `fault filter abort`.** A `api_url` le falta `/v1`. Usa `https://api.cheapaimodel.ai/v1`.
* **`404` con el mensaje `Invalid URL (POST /v1/chat/completions/chat/completions)`.** `api_url` incluye la ruta del endpoint. Zed agrega `/chat/completions` por su cuenta; usa solo `https://api.cheapaimodel.ai/v1`.
* **`503` con `model_not_found`.** `name` debe ser un ID de modelo del [catálogo](/es/models), escrito exactamente igual; `display_name` es solo una etiqueta.
