Aller au contenu principal

OpenCode / intégration d'un fournisseur personnalisé

api.aicu.ai est compatible OpenAI. Changez l'URL de base et la clé, et n'importe quel outil de code compatible OpenAI — OpenCode, Cline, Continue — peut utiliser tel quel kimi-k2.7-code (optimisé pour le code) ou les modèles OpenAI.

✅ Vérifié — Nous avons exécuté Kimi-K2.7-Code (Powered by Sakura AI Engine, kimi-k2.7-code) depuis OpenCode v1.18.9 via api.aicu.ai et confirmé que la génération de code fonctionne de bout en bout (2026-07-29).

Paramètres de connexion​

ÉlémentValeur
URL de basehttps://api.aicu.ai/v1
Clé APIaicu_live_xxx (à émettre dans le tableau de bord — obligatoire)
Modèles recommandéskimi-k2.7-code (code), gpt-4o-mini, gpt-5.4-mini

L'authentification se fait par Bearer. Le SDK OpenAI et ces outils ajoutent Authorization: Bearer <API key> pour vous : remplissez donc toujours le champ de la clé API — le laisser vide vous vaut un 401.


OpenCode (opencode.json)​

OpenCode peut ajouter des fournisseurs personnalisés via @ai-sdk/openai-compatible de l'AI SDK. Ajoutez AICU au fichier opencode.json à la racine de votre projet (ou dans ~/.config/opencode/).

{
"$schema": "https://opencode.ai/config.json",
"provider": {
"aicu": {
"npm": "@ai-sdk/openai-compatible",
"name": "AICU API",
"options": {
"baseURL": "https://api.aicu.ai/v1",
"apiKey": "{env:AICU_API_KEY}"
},
"models": {
"kimi-k2.7-code": { "name": "Kimi-K2.7-Code (SAKURA)" },
"gpt-4o-mini": { "name": "GPT-4o mini" },
"gpt-5.4-mini": { "name": "GPT-5.4 mini" }
}
}
}
}

Le plus simple pour enregistrer la clé est de passer par la TUI. Lancez /connect, choisissez Other en bas de la liste, saisissez aicu comme identifiant de fournisseur, puis collez votre clé API (aicu_live_...).

$ opencode
> /connect # Other → id: aicu → collez la clé API
> /models # aicu/kimi-k2.7-code et les autres apparaissent comme options

Si vous utilisez {env:AICU_API_KEY}, vous pouvez aussi passer la clé par l'environnement.

export AICU_API_KEY=aicu_live_xxx
opencode

Les identifiants de modèles doivent correspondre aux valeurs id renvoyées par GET /v1/chat/models. Vous pouvez consulter la liste à jour à tout moment avec curl https://api.aicu.ai/v1/chat/models. Pour l'ensemble des options de configuration, voir la documentation d'OpenCode sur les fournisseurs personnalisés.


Activer l'entrée d'images (multimodal)​

kimi-k2.7-code est multimodal, mais via @ai-sdk/openai-compatible d'OpenCode, les capacités du modèle ne peuvent pas être découvertes automatiquement : l'entrée d'images est donc désactivée par défaut. Joindre une image provoque une erreur du type this model does not support image input.

Pour utiliser l'entrée d'images, déclarez explicitement modalities sur chaque modèle.

{
"$schema": "https://opencode.ai/config.json",
"provider": {
"aicu": {
"npm": "@ai-sdk/openai-compatible",
"name": "AICU API",
"options": {
"baseURL": "https://api.aicu.ai/v1",
"apiKey": "{env:AICU_API_KEY}"
},
"models": {
"kimi-k2.7-code": {
"name": "Kimi-K2.7-Code (SAKURA)",
"modalities": {
"input": ["text", "image"],
"output": ["text"]
}
},
"sakura-kimi": {
"name": "Sakura Kimi (Kimi-K2.6)",
"modalities": {
"input": ["text", "image"],
"output": ["text"]
}
},
"gpt-4o-mini": { "name": "GPT-4o mini" },
"gpt-5.4-mini": { "name": "GPT-5.4 mini" }
}
}
}
}

Dès que modalities.input contient image, l'outil read d'OpenCode peut ouvrir des fichiers image et vous pouvez joindre des images dans le chat. Pour output, seul text est utilisable en pratique aujourd'hui.

Pourquoi c'est nécessaire : la liste des modèles de l'AICU API (GET /v1/chat/models) indique « multimodal » dans description, mais ne renvoie pas de structure modalities / capabilities lisible par une machine ; OpenCode joue donc la prudence et suppose l'absence de prise en charge des images. Lorsque l'AICU API ajoutera modalities à la liste des modèles, l'entrée d'images fonctionnera sans configuration par utilisateur.


Application de bureau (réglages d'un fournisseur personnalisé)​

Dans une interface du type « configurer un fournisseur compatible OpenAI », renseignez les champs suivants.

RéglageValeur
Identifiant du fournisseuraicu (lettres minuscules, chiffres, tirets, tirets bas)
Nom affichéAICU API
URL de basehttps://api.aicu.ai/v1
Clé APIaicu_live_xxx (obligatoire — ne la laissez pas vide)
Identifiant du modèlekimi-k2.7-code
Nom du modèleKimi-K2.7-Code
En-têtes (facultatif)Inutiles (Authorization est ajouté automatiquement)

Quand l'interface indique « vous pouvez laisser la clé API vide », c'est pour le cas où vous gérez vous-même les en-têtes de requête. api.aicu.ai utilise l'authentification Bearer : mettez votre clé dans ce champ.


Cline​

Cline fonctionne par appels d'outils (tool calling) : quelques réglages comptent donc plus qu'ailleurs.

RéglageValeurPourquoi
FournisseurOpenAI Compatibleapi.aicu.ai est compatible OpenAI
URL de basehttps://api.aicu.ai/v1
Clé APIaicu_live_xxxObligatoire. Un champ vide vous vaut un 401
Identifiant du modèlegpt-5.6-sol, gpt-5.6-terra, kimi-k2.7-code…Liste à jour : GET /v1/chat/models
Fenêtre de contexte128K pour la famille gpt-5.6max_tokens dans la liste des modèles vous l'indique
ImagesOuiLa famille gpt-5.6 lit les images (mesuré le 2026-09-22)
Prompt cachingNonNon pris en charge. Le laisser activé fait croire à Cline qu'il bénéficie d'une remise qu'il n'aura pas, et Cline continue d'empiler du contexte

Modèles de raisonnement et appels d'outils​

gpt-5.6-sol / terra / luna et gpt-6-astra sont des modèles de raisonnement (reasoning: true dans GET /v1/chat/models). En amont, le raisonnement et les appels d'outils ne peuvent pas être actifs tous les deux dans une même requête — et Cline utilise toujours les appels d'outils.

api.aicu.ai absorbe cela pour vous. Quand une requête contient tools, la passerelle abandonne l'effort de raisonnement : l'appel réussit et vous récupérez votre appel d'outil. Mesuré le 2026-09-22 avec gpt-5.6-sol :

RequêteRésultat
tools seul200, appel d'outil renvoyé
reasoning_effort: high seul200, pas d'appel d'outil (rien à appeler)
tools et reasoning_effort: high200, appel d'outil renvoyé

Vous n'avez donc pas à éviter reasoning_effort dans Cline. Ce qu'il faut savoir, c'est que lorsque des outils sont en jeu, vous ne payez pas de raisonnement approfondi et n'en obtenez pas — la profondeur demandée est mise de côté sans bruit au profit de l'appel d'outil. Si vous voulez que le modèle réfléchisse vraiment, demandez-le dans un tour sans outils attachés.

Quel modèle choisir​

ModèlePoints fortsImagesRemarque
kimi-k2.7-codeCode, inférence au JaponPreviewPreview publique sur Sakura AI Engine. Sortie plafonnée à 8K
gpt-5.6-lunaChat, résumés✅Le plus léger de la famille
gpt-5.6-terraCode au quotidien✅Moitié moins cher que sol
gpt-5.6-solRaisonnement difficile, contexte long✅Le haut de la famille 5.6
gpt-6-astraRaisonnement le plus difficile✅Au-dessus de sol, et tarifé en conséquence

Les tarifs évoluent ; GET /v1/chat/models fournit le pricing à jour de chaque modèle.


Tarifs indicatifs​

  • kimi-k2.7-code : gratuit pendant la période alpha/preview (soutien aux sinistrés du séisme de Kumamoto, jusqu'au 2026-10-31). Tarif prévu après la GA : 11 AP en entrée / 101 AP en sortie pour 1K tokens.
  • Les modèles OpenAI (gpt-4o-mini et autres) ne sont pas non plus facturés pendant l'alpha. Pour les tarifs, voir le tableau de prix de l'API LLM.

© 2026 AICU Inc.