Documentación

Documentación

Qwen Code

Qwen Code guarda sus endpoints en un solo archivo. Declara Kunavo una sola vez en modelProviders, establece selectedType en openai y usa el selector /model para cambiar entre Claude y GPT con una sola clave.

Qwen Code lee sus endpoints desde modelProviders en ~/.qwen/settings.json — una entrada con baseUrl y envKey coloca Claude y GPT en su selector /model.

Combinar en ~/.qwen/settings.json
{
  "modelProviders": {
    "openai": [
      {
        "id": "claude-sonnet-5",
        "name": "Claude Sonnet 5 (Kunavo)",
        "baseUrl": "https://api.kunavo.com/v1",
        "description": "Kunavo, OpenAI-compatible",
        "envKey": "KUNAVO_API_KEY"
      }
    ]
  },
  "env": {
    "KUNAVO_API_KEY": "sk-kn-..."
  },
  "security": {
    "auth": {
      "selectedType": "openai"
    }
  },
  "model": {
    "name": "claude-sonnet-5"
  }
}
La URL base debe conservar el /v1. La documentación de referencia de proveedores de modelos lo aclara en una frase: al dirigir una entrada a una pasarela alojada compatible con OpenAI, configura baseUrl con la «/v1 de la API» en lugar de la ruta /v1/chat/completions completa; «el SDK añade la ruta de solicitud por su cuenta». Todos los ejemplos de OPENAI_BASE_URL en la página de autenticación terminan igual. Si la URL base ya incluye la ruta, obtendrás un 404, no un error de autenticación.
Esta configuración se obtuvo de la propia documentación de Qwen Code en la fecha indicada abajo. Kunavo no ha ejecutado Qwen Code contra su endpoint: ni una sesión, ni un turno en streaming, ni un ciclo completo de herramientas; lo mismo ocurre con todos los clientes de esta familia. Una página de configuración publicada no constituye una prueba de compatibilidad. Mientras pruebas esta ruta, conserva a mano cualquier otra que ya te funcione.
Kunavo no ofrece modelos de embeddings, texto a voz ni voz a texto, así que una ruta de Kunavo solo responde al chat. Las rutas Live Voice de Qwen Code son independientes: la documentación exige que el host de una ruta realtimeOnly sea un endpoint de DashScope, por lo que esa función sigue usando su propia clave, independientemente de dónde dirijas el modelo de chat.
El catálogo de Kunavo no contiene ningún modelo de texto Qwen. Esto no es una forma más barata de ejecutar Qwen, sino una manera de usar Claude y GPT dentro de Qwen Code con un único saldo prepago. Si lo que busca es inferencia de Qwen, Alibaba Cloud Model Studio es la fuente oficial, y la documentación de Qwen Code menciona OpenRouter y Requesty entre los proveedores externos de su lista /auth.
¿Aún no tienes una clave? Crea una cuenta de Kunavo, genera una clave (empieza por sk-kn-) y añade crédito desde $10; las llamadas se pagan con ese saldo y las llamadas fallidas no se facturan. El panel se abre entonces en la configuración de Qwen Code.

Paso a paso

  1. Cree una clave en /app/keys y cópiela: se muestra una sola vez.
  2. Abra ~/.qwen/settings.json (créelo si no existe) e incorpore los cuatro bloques anteriores. La documentación recomienda declarar modelProviders en el archivo de ámbito de usuario «para evitar conflictos de combinación entre la configuración del proyecto y la del usuario».
  3. Si puede, guárdela en un lugar más seguro que env. Qwen Code la lee desde process.env[envKey], y la documentación ordena las fuentes de mayor a menor prioridad: una export de shell, luego un archivo .env, y después el bloque env en settings.json, que identifica como almacenamiento en texto sin formato. El bloque env anterior es lo mínimo para que funcione, no el mejor lugar para guardarla.
  4. Ejecute qwen. Con security.auth.selectedType establecido en openai y model.name coincidiendo con un id que haya declarado, no se necesita ningún paso interactivo de /auth; la documentación lo dice explícitamente después del ejemplo de un solo archivo.
  5. Asígnele una tarea que lea y edite un archivo, no un saludo. Qwen Code es un agente: la llamada a herramientas y la transmisión en flujo son lo que debería probar una primera ejecución, y son precisamente lo primero que fallaría ante un endpoint solo parcialmente compatible.
  6. Añada más entradas en modelProviders.openai para cambiar de modelo durante la ejecución con /model. Esos cambios se recargan en caliente en una sesión activa; providerProtocol se lee una sola vez al inicio y requiere reiniciar.

Comprobado con Página de autenticación de Qwen Code, opción 4: clave de API (flexible) el 21 de septiembre de 2026. La configuración de terceros puede cambiar; si el nombre de un campo ya no coincide con lo que ves, esa página es la autoridad, no esta.

Esta es la versión breve. El tutorial completo —elección del modelo, coste de una sesión real y modos de fallo— está en la guía de precios de Qwen Code.

Verifica antes de depurar el cliente

Una solicitud determina si el fallo está en el endpoint, la clave o el archivo de configuración. Si devuelve JSON, la misma URL base y la misma clave funcionan en Qwen Code.

# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
  -H "Authorization: Bearer sk-kn-..."

Qué ID de modelo introducir en el campo

Todos los modelos de texto están disponibles mediante un ID de modelo; la lista activa está en GET /v1/models, y el catálogo con precios está en la página de modelos. Las tarifas son USD por 1M de tokens, entrada / salida.

ID de modeloEntrada / salida de KunavoDónde encaja en Qwen Code
claude-sonnet-5$1.40 / $7.00el modelo de trabajo predeterminado: establézcalo como model.name
claude-opus-5$3.50 / $17.50un plan en el que equivocarse resultaría caro
claude-haiku-4-5$0.70 / $3.50turnos económicos: clasificación inicial, resúmenes y el ciclo que se ejecuta todo el día
gpt-5-6-sol$2.00 / $12.00una segunda opinión de otra familia, con la misma clave y el mismo baseUrl
gpt-5-6-terra$0.70 / $4.20lectura de contexto largo, todavía mediante la clave del protocolo openai
La facturación es por token desde un saldo prepago, sin cuota mensual; consulta facturación. Con contexto repetido —que constituye la mayor parte de lo que envía un editor o cliente de chat—, la caché de indicaciones cambia más la factura que la elección del modelo.

Tres aspectos que la documentación aclara y que suelen suponerse mal

Estos datos provienen de la página de autenticación y de la referencia de proveedores de modelos enlazadas arriba; dar algo por sentado en vez de leerlo cuesta tiempo real de depuración.

  1. Una entrada modelProviders tiene prioridad sobre las opciones de la CLI. El orden documentado, de mayor a menor prioridad, es: las anulaciones realizadas mediante /auth en la sesión activa, luego el envKey del proveedor de modelos seleccionado, después argumentos de CLI como --openai-api-key, luego las variables de entorno y, por último, security.auth.apiKey en la configuración. La mayoría espera que prevalezca la opción de línea de comandos. No es así, y por eso --openai-base-url puede parecer que se ignora.
  2. security.auth.apiKey y security.auth.baseUrl están obsoletos. La referencia así lo indica y recomienda migrar a modelProviders. Si un tutorial antiguo le indica editar esas dos claves, le está haciendo modificar la ruta que está a punto de desaparecer.
  3. wireApi determina el formato de la solicitud, y nada detecta una incompatibilidad. Si se omite, se usa Chat Completions, que es lo que utiliza el bloque anterior. Establecer "wireApi": "responses" requiere un endpoint realmente compatible con Responses, y la documentación afirma claramente que no se detectan endpoints ni se recurre automáticamente a otra opción cuando falla una solicitud. Kunavo responde tanto a /v1/responses como a /v1/chat/completions, pero esta página no ha probado ninguna de las dos combinaciones, así que empiece con la predeterminada.

Si llegó aquí buscando el nivel gratuito

Gran parte de lo que aún se escribe sobre Qwen Code describe un inicio de sesión OAuth de Qwen con una asignación gratuita diaria. Esa opción ya no existe: la documentación registra la interrupción de su nivel gratuito el 15 de abril de 2026 e indica que Qwen OAuth ya no aparece como opción seleccionable en el cuadro de diálogo /auth. Ahora enumera estas tres: Alibaba ModelStudio, con Coding Plan, Token Plan y Standard API Key en su submenú; Third-party Providers; y Custom Provider, descrito como conexión con «un servidor local, un proxy o un proveedor no compatible». Kunavo es la tercera opción. Tenga en cuenta también que las opciones del submenú de ModelStudio no son tres maneras de pagar una misma factura: cada una tiene su propio host y su propia clave, y una clave de Coding Plan no funcionará con un host de Token Plan.

Preguntas frecuentes

¿Cómo configuro Qwen Code para usar un endpoint de API personalizado?

Declare el endpoint en ~/.qwen/settings.json, bajo modelProviders. Use la clave «openai» para cualquier host compatible con OpenAI, asigne a la entrada del modelo un id, un baseUrl y un envKey que indique el nombre de la variable de entorno que contiene su clave de API; luego establezca security.auth.selectedType en «openai» y model.name en ese id. Ejecute qwen y se iniciará con esa configuración, sin ningún paso interactivo de /auth. La alternativa mediante variables de entorno es OPENAI_API_KEY, OPENAI_BASE_URL y OPENAI_MODEL, pero la documentación recomienda el archivo de configuración porque se conserva entre shells y admite varios endpoints a la vez.

¿El baseUrl de Qwen Code debe terminar en /v1?

Sí, para un endpoint compatible con OpenAI. La referencia de proveedores de modelos de Qwen Code indica que baseUrl debe apuntar a la raíz /v1 de la API, por ejemplo, https://gateway.example.com/v1, y no a la ruta completa /v1/chat/completions, ya que el SDK añade la ruta de solicitud por su cuenta. Para Kunavo, el valor es https://api.kunavo.com/v1. Si se deja la ruta al final, se produce un error 404 en vez de un error de autenticación; así suele manifestarse este problema.

¿Sigue disponible el nivel gratuito de Qwen Code?

No. La documentación de Qwen Code registra que el nivel gratuito de Qwen OAuth se interrumpió el 15 de abril de 2026, y Qwen OAuth ya no aparece como opción seleccionable en el cuadro de diálogo /auth. La documentación también señala que los modelos de Qwen OAuth están codificados de forma fija y no se pueden reemplazar mediante modelProviders, por lo que no basta con redirigir la ruta antigua a otro lugar. Las opciones disponibles son Alibaba ModelStudio, un proveedor externo integrado o un endpoint personalizado que configure usted mismo.

¿Puede Qwen Code ejecutar modelos Claude o GPT en vez de Qwen?

Sí. La tabla de protocolos de Qwen Code indica que la clave de proveedor openai acepta cualquier endpoint compatible con OpenAI, y que el id del modelo en una entrada de modelProviders se transmite directamente al baseUrl configurado, por lo que se resuelve en ese endpoint y no dentro del cliente. Por tanto, los id de Claude o GPT funcionan siempre que el endpoint los ofrezca. Kunavo ofrece id de Claude y GPT a través de su interfaz compatible con OpenAI, y ha publicado esta configuración a partir de la documentación del proveedor, no de una prueba ejecutada.

¿Por qué Qwen Code ignora --openai-base-url?

Porque una entrada de modelProviders tiene prioridad sobre esa opción. La precedencia documentada de credenciales sitúa primero las anulaciones introducidas mediante /auth en la sesión activa, segundo el baseUrl y el envKey del proveedor de modelos seleccionado, y tercero los argumentos de CLI; después vienen las variables de entorno y la configuración. Si hay una entrada de proveedor seleccionada, prevalece su baseUrl sobre la opción. Edite esa entrada —los cambios en modelProviders se recargan en caliente en una sesión activa— o elimínela si quería que surtiera efecto la opción de línea de comandos.