Documentación

Documentación

Theia IDE

Theia IDE tiene un proveedor para modelos arbitrarios compatibles con OpenAI, configurado como una lista en settings.json. Añada una entrada por cada id de modelo; todas apuntan a la misma URL base y a la misma clave.

Una entrada en ai-features.openAiCustom.customOpenAiModels — model, url y apiKey — coloca Kunavo detrás de Theia Coder, Architect y la finalización en línea.

settings.json — ai-features.openAiCustom.customOpenAiModels
{
  "ai-features.openAiCustom.customOpenAiModels": [
    {
      "model": "claude-sonnet-5",
      "url": "https://api.kunavo.com/v1",
      "id": "kunavo-sonnet-5",
      "apiKey": "sk-kn-...",
      "developerMessageSettings": "system"
    },
    {
      "model": "claude-haiku-4-5",
      "url": "https://api.kunavo.com/v1",
      "id": "kunavo-haiku-4-5",
      "apiKey": "sk-kn-...",
      "developerMessageSettings": "system"
    }
  ]
}
url conserva el /v1. El texto de Theia no especifica ninguna regla; su Readme solo dice que «model y url son atributos obligatorios que indican el endpoint y el modelo que se usarán». La forma queda clara en el ejemplo práctico de la misma página de documentación, para el único proveedor que no es OpenAI: "url": "https://api.mistral.ai/v1". Es la raíz del endpoint con el sufijo incluido, así que aquí corresponde https://api.kunavo.com/v1, no el origen sin más. Si una solicitud devuelve un error 404, ese campo es lo primero que debe revisar; el curl que aparece a continuación indica cuál de las dos variantes acepta realmente el endpoint.
Theia IDE, no el framework Theia. El mismo nombre se usa para una aplicación de usuario final y para la plataforma sobre la que se crean otras herramientas. La preferencia anterior corresponde al IDE y al paquete de proveedores OpenAI de Theia AI. Si está desarrollando su propio producto sobre Theia, los nombres de los campos son los mismos, pero debe configurarlos en los ajustes de su producto, no en este archivo de configuración.
Esta configuración se extrajo de la documentación de Theia en la fecha indicada a continuación. Kunavo no ha probado Theia IDE con su endpoint: ni un turno de chat, ni una finalización en línea, ni una llamada a herramientas. Una página de configuración publicada no equivale a una prueba, y nada de lo que aparece aquí debe interpretarse como tal; lo que puede comprobar en diez segundos es el curl que aparece a continuación. El comportamiento del cliente depende de Theia.
Kunavo no ofrece modelos de embeddings, texto a voz ni voz a texto, por lo que este endpoint solo responde a solicitudes de completado de chat. Las funciones de IA documentadas para el IDE —agentes de chat, finalización en línea y asistencia en el terminal— no requieren nada más; cualquier índice vectorial o paso de audio que tenga en otras partes de su configuración conserva la clave del proveedor que ya utiliza.
¿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 Theia IDE.

Paso a paso

  1. Cree una clave en /app/keys y cópiela: se muestra una sola vez.
  2. Active la función: la documentación de Theia indica que debe ir a Preferences y activar el ajuste «AI-features => AI Enable». Lo que sigue no aparecerá hasta que lo haga.
  3. Abra la vista AI Configuration: Alt+A, o seleccione AI Configuration en el menú Manage (icono del engranaje) de la esquina inferior izquierda, justo debajo de Settings. Sus categorías son General, Providers & Models, Model Aliases, Agents, Prompts & Skills, Variables, Tools, Token Usage y MCP Servers.
  4. Añade las entradas anteriores. La documentación indica que se hace clic en el enlace de la sección de configuración de OpenAI Compatible Models: la preferencia es una lista estructurada, y Theia señala que las opciones estructuradas sin un editor específico «se remiten a settings.json», el archivo al que llegas. Un objeto por ID de modelo; se repiten url y apiKey.
  5. Asígnalo a algo. En Agents, cada agente tiene un selector de Language Model; muchos agentes resuelven un alias de modelo, así que configurar default/code, default/universal, default/code-completion, default/summarize y default/fast en Model Aliases permite cambiar varios agentes a la vez.
  6. Envía un mensaje de chat a Theia Coder y luego pídele algo que afecte a un archivo. Los agentes de este IDE dependen de las llamadas a herramientas y del contenido del espacio de trabajo, así que una primera ejecución que lea o edite algo te dirá más que un saludo; además, Token Usage en la misma vista muestra cuántos tokens costó el turno.

Comprobado con la página de funciones de IA del IDE Theia, sección OpenAI Compatible Models 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.

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 Theia IDE.

# 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 Theia IDE
claude-sonnet-5$1.40 / $7.00Theia Coder y el alias predeterminado/code: el modelo que edita archivos
claude-opus-5$3.50 / $17.50el Architect en Plan Mode, donde un plan equivocado sale caro
claude-haiku-4-5$0.70 / $3.50default/fast, default/summarize y default/code-completion: nombres de chat, consultas, compactación y completado mientras escribes
gpt-5-6-sol$2.00 / $12.00una segunda opinión de otra familia: una entrada más, con la misma URL y clave
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.

Lo que Theia afirma sobre este proveedor

La tabla LLM Providers Overview de la página de Theia califica cada proveedor en tres ejes. Esta es la afirmación de Theia sobre Theia, copiada de esa tabla en la fecha indicada arriba; no es un resultado de pruebas de Kunavo. La columna titulada «Lo que requiere del ID de modelo» es la única parte de esta tabla redactada aquí.

Fila de TheiaCompatible con OpenAILo que requiere del ID de modelo
StreamingSí (estado: público)Nada más. El Readme documenta enableStreaming en el mismo objeto, activado de forma predeterminada; establécelo en false si un turno se queda bloqueado y quieres aislar el flujo.
Llamadas a herramientasSí (estado: público)Un ID de modelo compatible con herramientas. Todos los agentes que editan archivos, ejecutan comandos o controlan servidores MCP realizan llamadas a herramientas, así que un ID sin compatibilidad con herramientas te limita al chat básico.
Salida estructuradaSí (estado: público)No se requiere nada adicional durante la configuración, pero es el eje con más probabilidades de variar entre IDs de distintas familias detrás de un mismo endpoint.

Dos párrafos antes de esa tabla, Theia añade una salvedad que conviene repetir porque enmarca honestamente toda esta página: no todos los modelos «pueden funcionar de inmediato, ya que podrían requerir personalizaciones u optimizaciones específicas».

Qué cuesta dinero realmente

El IDE Theia es de código abierto y se puede descargar gratis, y sus funciones de IA no tienen ningún coste propio: lo que cuesta son las llamadas al modelo, facturadas por quien tenga la clave en apiKey. Hay dos opciones de configuración que afectan a esa factura más que la elección del modelo, y ambas se encuentran en la documentación:

  1. Automatic Code Completion está activado de forma predeterminada, y la documentación indica que realiza «solicitudes continuas al LLM subyacente mientras programas». Es el agente que se ejecuta miles de veces al día. Asigna default/code-completion a un ID económico, o cambia el agente al modo manual en 'AIFeatures'=>'CodeCompletion' y actívalo con Ctrl+Alt+Space.
  2. Max Context Lines, dentro del mismo grupo de configuración, limita cuánto contenido circundante del archivo se incluye en cada solicitud de completado. Cada línea se factura como entrada en cada llamada provocada por una pulsación de tecla.

Los agentes de chat funcionan justo al contrario: hacen menos llamadas, usan un contexto mucho mayor y vuelven a enviar los mismos archivos del espacio de trabajo en cada turno. Para eso sirve la caché de prompts; consulta /docs/caching. Por eso las dos partes de la tabla de modelos anterior se dividen según la frecuencia con la que se ejecuta el agente, no según lo inteligente que sea.

Cuando no logra conectarse

  1. 404: la url. Kunavo sirve /v1/chat/completions, así que el campo necesita la raíz de /v1; no funcionan ni un origen sin más ni una .../chat/completions completa.
  2. 401: la clave. El Readme de Theia indica que apiKey «se enviará como un Bearer Token en la solicitud de autorización», que es exactamente lo que espera una clave sk-kn-. Ten en cuenta el valor predeterminado documentado: si no hay ningún apiKey, Theia envía no-key, por lo que un campo ausente parece una clave rechazada en lugar de una clave faltante. (true significa «usar la clave global de la API de OpenAI», que no es lo que quieres aquí.)
  3. El ID de modelo no aparece en el selector: esa lista procede de tus propias entradas de customOpenAiModels, no del endpoint, así que si falta un ID, falta el objeto correspondiente. El campo id es lo que muestra la interfaz; si lo omites, se usa el nombre del modelo.
  4. El primer mensaje del sistema se rechaza o se ignora: ese es developerMessageSettings. Su valor predeterminado es developer, que es un rol con formato de OpenAI; el ejemplo de Theia para un proveedor que no sea de OpenAI establece system, razón por la que el bloque anterior lo hace. user, mergeWithFollowingUserMessage y skip son las alternativas documentadas.
  5. No hay respuesta en ninguna parte: comprueba Workspace Trust. Theia condiciona todas las funciones de IA a esta opción, y un espacio de trabajo no confiable desactiva la entrada de chat y el completado en línea, además de mostrar el mensaje AI Features are Restricted.

Preguntas frecuentes

¿Cómo uso una API personalizada compatible con OpenAI en el IDE Theia?

Activa AI-features => AI Enable en Preferences y luego añade una entrada a la preferencia ai-features.openAiCustom.customOpenAiModels. Cada entrada es un objeto con model, url, id, apiKey y developerMessageSettings, en ese orden en el ejemplo de Theia; model y url son los dos campos obligatorios. La lista es una opción estructurada, así que el IDE te lleva a settings.json para editarla. Después, asigna el modelo a un agente en Agents, dentro de la vista AI Configuration, o a uno de los alias de modelo.

¿El campo url del IDE Theia debe terminar en /v1?

Sí, para un endpoint compatible con OpenAI como Kunavo. La documentación de Theia no explica la regla en prosa: el Readme solo indica que model y url señalan el endpoint y el modelo que se usarán. Sin embargo, el ejemplo detallado de la misma página para un proveedor que no es de OpenAI especifica la raíz del endpoint con el sufijo: "url": "https://api.mistral.ai/v1". Así que usa https://api.kunavo.com/v1. Si falta /v1 o aparece duplicado, se produce un 404 en lugar de un error de autenticación, lo que permite distinguirlo de un problema con la clave.

¿Puede el IDE Theia usar modelos Claude sin una cuenta de Anthropic?

Sí, de dos maneras. Theia incluye un proveedor de Anthropic que acepta directamente una clave de Anthropic y un proveedor OpenAI Compatible que envía una solicitud con formato de OpenAI a la url que configures y transmite el ID de modelo tal cual. Con la segunda opción, el ID se resuelve en ese endpoint, no dentro del IDE, así que la credencial que necesitas es la de ese endpoint. Kunavo responde a los IDs de Claude en su interfaz compatible con OpenAI; esa es la combinación que describe esta página.

¿Qué modelo debo asignar a cada agente de Theia?

Distribúyelos según la frecuencia con la que se ejecuta cada agente, no según una clasificación, porque nadie ha evaluado estos IDs dentro de este IDE. Code Completion se ejecuta continuamente mientras escribes y su contexto está limitado por Max Context Lines, así que necesita un ID económico; Theia Coder edita archivos y necesita llamadas a herramientas; Architect en Plan Mode es el único caso en que un ID más potente y caro se justifica, porque un mal plan puede costar una sesión entera. Los alias de modelo —default/code, default/code-completion, default/fast y los demás— permiten cambiar varios agentes a la vez.

¿Ha probado Kunavo el IDE Theia con su endpoint?

No. Lo que se comprobó el 21 de septiembre de 2026 fue la documentación de Theia: el ID de la preferencia, los nombres y el orden de los campos, y el formato de la URL base se citan de theia-ide.org/docs/user_ai/ y del Readme ai-openai al que enlaza. Kunavo no ha ejecutado una sesión de Theia, un completado en línea ni un intercambio de llamadas a herramientas, y no afirma nada sobre el comportamiento de este cliente. Lo único que puedes verificar por tu cuenta es si funcionan el endpoint y la clave; para eso sirve el comando curl de esta página.