Documentation

Documentation

Theia IDE

L’IDE Theia dispose d’un fournisseur pour des modèles OpenAI compatibles arbitraires, configuré sous forme de liste dans settings.json. Une entrée par id de modèle, toutes dirigées vers la même URL de base et la même clé.

Une entrée dans ai-features.openAiCustom.customOpenAiModels — model, url et apiKey — place Kunavo derrière Theia Coder, Architect et la complétion en ligne.

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 conserve le /v1. Le texte de Theia n’énonce aucune règle — son fichier Readme indique seulement que « model et url sont des attributs obligatoires qui désignent le point de terminaison et le modèle à utiliser ». C’est l’exemple détaillé figurant sur la même page de documentation, pour le seul fournisseur qui n’est pas OpenAI, qui précise le format : "url": "https://api.mistral.ai/v1". Il s’agit de la racine du point de terminaison, suffixe compris — utilisez donc https://api.kunavo.com/v1 ici, et non l’origine seule. Si une requête renvoie une erreur 404, c’est le premier champ à vérifier ; le curl ci-dessous vous indique laquelle des deux formes le point de terminaison accepte réellement.
L’IDE Theia, et non le framework Theia. Ce nom désigne à la fois une application destinée aux utilisateurs finaux et la plateforme sur laquelle d’autres outils sont construits ; la préférence ci-dessus concerne l’IDE et le package de fournisseur OpenAI de Theia AI. Si vous développez votre propre produit avec Theia, les noms des champs sont identiques, mais vous les définissez dans la configuration de votre produit, et non dans ce fichier de paramètres.
Cette configuration a été relevée dans la documentation de Theia à la date indiquée ci-dessous. Kunavo n’a pas testé l’IDE Theia avec son point de terminaison — ni lors d’un échange, ni pour une complétion en ligne, ni pour un appel d’outil. Une page de configuration publiée ne constitue pas un test et ne doit pas être interprétée comme tel ; vous pouvez vérifier en dix secondes le curl ci-dessous, tandis que le comportement du client relève de Theia.
Kunavo ne propose aucun modèle d’embeddings, de synthèse vocale ou de reconnaissance vocale ; ce point de terminaison répond donc uniquement aux requêtes de complétion de chat. Les fonctions d’IA documentées pour l’IDE — agents de chat, complétion en ligne, assistance dans le terminal — n’ont besoin de rien d’autre ; tout index vectoriel ou traitement audio ailleurs dans votre configuration conserve la clé de fournisseur qu’il utilise déjà.
Pas encore de clé ? Créez un compte Kunavo, créez une clé (elle commence par sk-kn-) et ajoutez un crédit à partir de 10 $ — les appels sont payés sur ce solde et les appels échoués ne sont pas facturés. Le tableau de bord s’ouvre ensuite sur la configuration Theia IDE.

Étape par étape

  1. Créez une clé sur /app/keys et copiez-la — elle n’est affichée qu’une seule fois.
  2. Activez la fonction : la documentation de Theia indique d’aller dans Préférences et d’activer le paramètre « AI-features => AI Enable ». Rien de ce qui suit ne s’affichera tant que ce ne sera pas fait.
  3. Ouvrez la vue Configuration de l’IA — Alt+A, ou Configuration de l’IA dans le menu Manage (icône d’engrenage) en bas à gauche, juste sous Settings. Ses catégories sont Général, Fournisseurs et modèles, Alias de modèles, Agents, Prompts et compétences, Variables, Outils, Utilisation des jetons et Serveurs MCP.
  4. Ajoutez les entrées ci-dessus. La documentation indique qu’il faut cliquer sur le lien dans la section des paramètres pour OpenAI Compatible Models — la préférence est une liste structurée, et Theia précise que les paramètres structurés sans éditeur dédié « renvoient vers settings.json », le fichier où vous aboutissez. Un objet par identifiant de modèle ; les url et apiKey se répètent.
  5. Associez un élément à ce modèle. Sous Agents, chaque agent dispose d’un sélecteur Language Model ; de nombreux agents résolvent plutôt un alias de modèle. Définir default/code, default/universal, default/code-completion, default/summarize et default/fast sous Model Aliases permet donc de déplacer plusieurs agents à la fois.
  6. Envoyez un message de chat à Theia Coder, puis demandez-lui de faire quelque chose qui touche à un fichier. Les agents de cet IDE s’appuient sur les appels d’outils et le contenu de l’espace de travail ; un premier essai qui lit ou modifie quelque chose vous en apprend donc davantage qu’une salutation — et Token Usage, dans la même vue, indique le coût du tour en tokens.

Vérifié avec la page des fonctionnalités d’IA de l’IDE Theia, section OpenAI Compatible Models le 21 septembre 2026. Les paramètres tiers évoluent ; si le nom d’un champ ne correspond plus à ce que vous voyez ici, cette page fait autorité, pas celle-ci.

Vérifiez avant de déboguer le client

Une requête suffit à déterminer si l’échec vient de l’endpoint, de la clé ou du fichier de configuration. Si cette requête renvoie du JSON, la même URL de base et la même clé fonctionnent dans 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-..."

Quel identifiant de modèle saisir dans le champ

Tous les modèles textuels sont accessibles sous forme d’identifiant de modèle — la liste à jour se trouve sur GET /v1/models, et le catalogue avec les prix sur la page des modèles. Les tarifs sont en USD par million de tokens, entrée / sortie.

Identifiant du modèleEntrée / sortie sur KunavoOù cela s’intègre dans Theia IDE
claude-sonnet-5$1.40 / $7.00Theia Coder et l’alias default/code — le modèle qui modifie les fichiers
claude-opus-5$3.50 / $17.50l’Architect en mode Plan, où un mauvais plan coûte cher
claude-haiku-4-5$0.70 / $3.50default/fast, default/summarize et default/code-completion — noms du chat, recherches, compression du contexte et complétion à la frappe
gpt-5-6-sol$2.00 / $12.00un deuxième avis issu d’une autre famille — une entrée de plus, avec la même URL et la même clé
La facturation se fait au token à partir d’un solde prépayé, sans frais mensuels — consultez la facturation. Avec un contexte répété — ce qu’envoient la plupart des éditeurs et clients de chat — la mise en cache des prompts influe davantage sur la facture que le choix du modèle.

Ce que Theia affirme au sujet de ce fournisseur

Dans le tableau LLM Providers Overview de sa propre page, Theia évalue chaque fournisseur selon trois axes. Il s’agit des affirmations de Theia sur Theia, reprises de ce tableau à la date indiquée ci-dessus — ce n’est pas un résultat de test de Kunavo, et la colonne intitulée « Ce que cela exige de l’identifiant de modèle » est la seule partie de ce tableau rédigée ici.

La ligne de TheiaCompatible OpenAICe que cela exige de l’identifiant de modèle
Diffusion en continuOui (état : public)Rien de plus. Le Readme documente enableStreaming sur le même objet, avec la valeur true par défaut — définissez-le sur false si un tour se bloque et que vous voulez isoler le flux.
Appels d’outilsOui (état : public)Un identifiant de modèle qui prend en charge les outils. Les agents qui modifient des fichiers, exécutent des commandes ou pilotent des serveurs MCP sont tous des agents qui font des appels d’outils ; un identifiant sans prise en charge des outils vous limite donc au chat simple.
Sortie structuréeOui (état : public)Rien de plus au moment de la configuration, mais c’est l’axe qui a le plus de chances de varier entre les identifiants de différentes familles derrière un même point de terminaison.

Deux paragraphes plus haut, Theia ajoute une réserve à ce tableau, qui mérite d’être répétée car elle donne le cadre honnête de toute cette page : tous les modèles « ne fonctionneront pas nécessairement dès le départ, car ils peuvent nécessiter des personnalisations ou optimisations spécifiques ».

Ce qui coûte réellement de l’argent

L’IDE Theia est libre et gratuit à télécharger, et ses fonctionnalités d’IA ne sont pas facturées — ce qui coûte de l’argent, ce sont les appels au modèle, facturés par le détenteur de la clé dans apiKey. Deux paramètres ont davantage d’incidence sur cette facture que le choix du modèle, et tous deux figurent dans la documentation :

  1. Automatic Code Completion est activé par défaut ; la documentation indique qu’il effectue des « requêtes continues au LLM sous-jacent pendant la programmation ». C’est l’agent qui s’exécute des milliers de fois par jour. Associez default/code-completion à un identifiant peu coûteux, ou passez l’agent en mode manuel dans 'AIFeatures'=>'CodeCompletion' et déclenchez-le avec Ctrl+Alt+Space.
  2. Max Context Lines, dans le même groupe de paramètres, limite la quantité de contenu environnant du fichier incluse dans chaque requête de complétion. Chaque ligne est facturée comme entrée à chaque appel déclenché par une frappe.

Les agents de chat ont le profil inverse : moins d’appels, un contexte bien plus vaste et les mêmes fichiers de l’espace de travail renvoyés à chaque tour. C’est précisément le cas d’usage de la mise en cache des prompts — voir /docs/caching — et c’est pourquoi les deux moitiés du tableau des modèles ci-dessus sont séparées selon la fréquence d’exécution de l’agent, plutôt que selon son niveau d’intelligence.

En cas de problème de connexion

  1. 404 — le url. Kunavo sert /v1/chat/completions ; le champ attend donc la racine /v1. Une origine seule ou un .../chat/completions complet ne convient pas.
  2. 401 — la clé. Le Readme de Theia précise que le apiKey « sera envoyé comme Bearer Token dans la requête d’autorisation », ce qui correspond exactement à ce qu’attend une clé sk-kn-. Notez la valeur par défaut documentée : en l’absence totale de apiKey, Theia envoie no-key ; un champ manquant ressemble donc à une clé rejetée plutôt qu’à une clé absente. (true signifie « utiliser la clé API OpenAI globale » — ce n’est pas ce qu’il vous faut ici.)
  3. L’identifiant du modèle n’apparaît pas dans la liste — cette liste provient de vos propres entrées customOpenAiModels, et non du point de terminaison ; un identifiant absent signifie donc qu’il manque un objet. Le champ id est celui affiché dans l’interface ; omettez-le et le nom du modèle sera utilisé à la place.
  4. Le premier message système est rejeté ou ignoré — c’est le developerMessageSettings. Sa valeur par défaut est developer, un rôle au format OpenAI ; l’exemple de Theia pour un fournisseur autre qu’OpenAI définit system, d’où le choix dans le bloc ci-dessus. user, mergeWithFollowingUserMessage et skip sont les autres possibilités documentées.
  5. Aucune réponse, où que ce soit — vérifiez la confiance accordée à l’espace de travail. Theia exige cette confiance pour toutes ses fonctionnalités d’IA ; un espace de travail non approuvé désactive le champ de saisie du chat et la complétion en ligne, et affiche le message AI Features are Restricted.

Questions fréquentes

Comment utiliser une API personnalisée compatible avec OpenAI dans l’IDE Theia ?

Activez AI-features => AI Enable dans Preferences, puis ajoutez une entrée à la préférence ai-features.openAiCustom.customOpenAiModels. Chaque entrée est un objet composé, dans cet ordre selon l’exemple de Theia, de model, url, id, apiKey et developerMessageSettings ; model et url sont les deux champs obligatoires. Comme la liste est un paramètre structuré, l’IDE vous renvoie vers settings.json pour la modifier. Ensuite, attribuez le modèle à un agent sous Agents dans la vue AI Configuration, ou à l’un des alias de modèle.

Le champ url de l’IDE Theia doit-il se terminer par /v1 ?

Pour un point de terminaison compatible avec OpenAI comme Kunavo, oui. La documentation de Theia n’énonce pas cette règle en toutes lettres — son Readme indique seulement que model et url précisent le point de terminaison et le modèle à utiliser — mais l’exemple détaillé pour un fournisseur autre qu’OpenAI, sur la même page, donne la racine du point de terminaison avec le suffixe : "url": "https://api.mistral.ai/v1". Utilisez donc https://api.kunavo.com/v1. L’absence ou le doublon de /v1 entraîne une réponse 404 plutôt qu’une erreur d’authentification, ce qui permet de distinguer le problème d’un souci de clé.

L’IDE Theia peut-il utiliser des modèles Claude sans compte Anthropic ?

Oui, de deux façons. Theia fournit un fournisseur Anthropic qui accepte directement une clé Anthropic, ainsi qu’un fournisseur OpenAI Compatible qui envoie une requête au format OpenAI à l’url configurée et transmet directement l’identifiant de modèle. Avec cette deuxième option, l’identifiant est résolu au niveau de ce point de terminaison, et non dans l’IDE ; vous devez donc disposer des identifiants d’accès de ce point de terminaison. Kunavo répond aux identifiants Claude sur son interface compatible avec OpenAI, combinaison décrite sur cette page.

Quel modèle attribuer à chaque agent Theia ?

Choisissez en fonction de la fréquence d’exécution de l’agent plutôt que d’un classement, car personne n’a ici évalué ces identifiants dans cet IDE. Code Completion s’exécute en continu pendant la saisie, et son contexte est limité par Max Context Lines ; il lui faut donc un identifiant peu coûteux. Theia Coder modifie des fichiers et doit pouvoir faire des appels d’outils. L’Architect en mode Plan est le seul cas où un identifiant plus performant et plus coûteux se justifie, car un mauvais plan peut coûter une session entière. Les alias de modèle — default/code, default/code-completion, default/fast et les autres — permettent de déplacer plusieurs agents à la fois.

Kunavo a-t-il testé l’IDE Theia avec son point de terminaison ?

Non. Le 21 septembre 2026, la vérification a porté sur la documentation de Theia : l’identifiant de préférence, les noms et l’ordre des champs, ainsi que le format de l’URL de base, cités depuis theia-ide.org/docs/user_ai/ et le Readme ai-openai auquel cette page renvoie. Kunavo n’a exécuté aucune session Theia, complétion en ligne ou séquence d’appels d’outils, et ne prétend rien quant au comportement de ce client. La seule chose que vous pouvez vérifier directement est le bon fonctionnement du point de terminaison et de la clé, avec la commande curl de cette page.