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.
{
"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.curl que aparece a continuación. El comportamiento del cliente depende de Theia.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
- Cree una clave en
/app/keysy cópiela: se muestra una sola vez. - 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.
- 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. - 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 repitenurlyapiKey. - 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/summarizeydefault/fasten Model Aliases permite cambiar varios agentes a la vez. - 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 modelo | Entrada / salida de Kunavo | Dónde encaja en Theia IDE |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | Theia Coder y el alias predeterminado/ |
claude-opus-5 | $3.50 / $17.50 | el Architect en Plan Mode, donde un plan equivocado sale caro |
claude-haiku-4-5 | $0.70 / $3.50 | default/ |
gpt-5-6-sol | $2.00 / $12.00 | una segunda opinión de otra familia: una entrada más, con la misma URL y clave |
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 Theia | Compatible con OpenAI | Lo que requiere del ID de modelo |
|---|---|---|
| Streaming | Sí (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 herramientas | Sí (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 estructurada | Sí (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:
- 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-completiona un ID económico, o cambia el agente al modo manual en'AIFeatures'=>'CodeCompletion'y actívalo conCtrl+Alt+Space. - 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
- 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/completionscompleta. - 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 clavesk-kn-. Ten en cuenta el valor predeterminado documentado: si no hay ningúnapiKey, Theia envíano-key, por lo que un campo ausente parece una clave rechazada en lugar de una clave faltante. (truesignifica «usar la clave global de la API de OpenAI», que no es lo que quieres aquí.) - 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 campoides lo que muestra la interfaz; si lo omites, se usa el nombre del modelo. - El primer mensaje del sistema se rechaza o se ignora: ese es
developerMessageSettings. Su valor predeterminado esdeveloper, que es un rol con formato de OpenAI; el ejemplo de Theia para un proveedor que no sea de OpenAI establecesystem, razón por la que el bloque anterior lo hace.user,mergeWithFollowingUserMessageyskipson las alternativas documentadas. - 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.