Réglages des outils agentiques
Les outils agentiques envoient à chaque étape le contenu des fichiers, la sortie des commandes et tout l’historique de la conversation. Un prompt aussi volumineux peut mettre des dizaines de secondes avant que le premier token arrive. Si votre application abandonne avant, la requête est quand même comptée, mais vous ne recevez rien. Réglez le timeout, le streaming, les retries et la taille du contexte comme indiqué ci-dessous.
Pourquoi c’est important
- Les requêtes coupées avant l’arrivée de la réponse sont quand même comptées. Dès qu’une requête arrive, le serveur IA commence à traiter tout le prompt. Si votre application l’abandonne avant (timeout, bouton stop, connexion perdue), le coût du traitement est déjà engagé, mais vous n’obtenez aucune réponse.
- Les prompts énormes demandent plus de 30 secondes avant le premier token. Des prompts agentiques de plusieurs centaines de Ko avec des milliers de messages peuvent dépasser la limite par défaut de nombreuses applications (30 ou 60 secondes) avant qu’un seul token ne sorte.
- Le streaming maintient la connexion en vie. Avec le streaming activé, notre serveur envoie immédiatement les en-têtes, puis un signal keepalive toutes les 10 secondes en attendant la réponse. Ce qui peut encore couper, c’est la limite de temps totale de votre application : réglez-la sur au moins 300 secondes.
- Choisissez un modèle rapide pour les grands contextes. Pour les longues sessions ou les gros dépôts, utilisez un modèle plus rapide et gardez les grands modèles pour les étapes qui en ont vraiment besoin. Comparez-les sur la page Tarifs.
Consignes pour tous les outils
- Timeout
- Au moins 300 secondes. Attention à l’unité : certains outils utilisent des secondes (
300), d’autres des millisecondes (300000). - Streaming
- Activez-le. Sans streaming, aucune donnée ne circule tant que la réponse n’est pas complète, donc les proxys et les applications abandonnent plus tôt.
- Retries
- Gardez-les bas (0–3). Un retry après un timeout est une nouvelle requête, elle aussi facturée. Corrigez d’abord le timeout au lieu d’augmenter les retries.
- Contexte
- Gardez-le petit. Utilisez le compact/résumé automatique, démarrez une nouvelle session par tâche et excluez les gros dossiers (node_modules, build, data).
Claude Code
- URL de base et clé
- Suivez le guide Claude Code :
ANTHROPIC_BASE_URL=https://ai.geraikita.com(sans /v1) etANTHROPIC_AUTH_TOKEN= votre clé gk-. Vous pouvez placer les variables dans le blocenvde~/.claude/settings.json. - Timeout
API_TIMEOUT_MS(millisecondes) : durée pendant laquelle chaque tentative attend les en-têtes de réponse, 600000 par défaut (10 minutes). Ne le baissez pas ; si vous l’avez déjà réduit, remettez-le à au moins300000.- Streaming
- Toujours en streaming. Aucun réglage ne permet de le désactiver.
- Retries
CLAUDE_CODE_MAX_RETRIES, 10 par défaut, y compris les timeouts avant le début du streaming de la réponse. Pour les gros prompts, réglez 2–3 afin qu’une même étape ne soit pas facturée encore et encore.- Contexte
/compactrésume la conversation,/clearen démarre une nouvelle. L’auto-compact est activé par défaut (autoCompactEnabled) ; unCLAUDE_AUTOCOMPACT_PCT_OVERRIDEplus bas (p. ex. 60) compacte plus tôt.
{
"env": {
"ANTHROPIC_BASE_URL": "https://ai.geraikita.com",
"ANTHROPIC_AUTH_TOKEN": "gk-xxxxxxxx",
"API_TIMEOUT_MS": "600000",
"CLAUDE_CODE_MAX_RETRIES": "3",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "60"
}
}Cline
- URL de base et clé
- Suivez le guide Cline : provider OpenAI Compatible (Base URL
https://ai.geraikita.com/v1) ou Anthropic avec Use custom base URLhttps://ai.geraikita.com. - Timeout
- La documentation officielle de Cline ne propose aucun réglage de timeout pour les providers OpenAI Compatible ou Anthropic (Request Timeout concerne uniquement Ollama). Pour obtenir rapidement le premier token : réduisez le contexte et choisissez un modèle plus rapide pour les grands contextes.
- Streaming
- Aucun réglage de streaming dans la documentation officielle ; rien à modifier.
- Retries
- Aucun réglage de retry dans la documentation officielle.
- Contexte
- Auto Compact résume automatiquement quand le contexte est presque plein.
/smol(alias/compact) résume manuellement,/newtaskreporte un résumé dans une nouvelle tâche. Réglez Context Window size dans Model Configuration selon le modèle.
Roo Code
- URL de base et clé
- Remarque : l’extension Roo Code a été officiellement arrêtée le 15 mai 2026. Si vous l’utilisez encore : provider OpenAI Compatible, Base URL
https://ai.geraikita.com/v1, votre clé gk- (comme pour Cline). - Timeout
roo-cline.apiRequestTimeoutdans le settings.json de VS Code, en secondes (600 par défaut, plage 0–3600, 0 = sans limite). Ne descendez pas sous300.- Streaming
- Vérifiez que Enable streaming reste coché dans le profil OpenAI Compatible.
- Retries
- Avec Auto-Approve activé, les requêtes échouées sont relancées automatiquement avec des délais croissants ; il n’y a pas d’option distincte.
- Contexte
- Intelligent Context Condensing (Settings → Context) : baissez le seuil par rapport aux 100 % par défaut pour que la condensation démarre plus tôt, ou cliquez sur Condense Context. Excluez les gros dossiers avec
.rooignore.
Kilo Code
- URL de base et clé
- Settings → Providers → Custom provider → OpenAI Compatible, Base URL
https://ai.geraikita.com/v1, votre clé gk-. Ou utilisez le fichier~/.config/kilo/kilo.jsonccomme dans l’exemple ci-dessous. - Timeout
options.timeoutsur le provider (millisecondes) couvre l’attente des en-têtes et du premier octet. La valeur par défaut est 300000, pile à la limite ; réglez600000. Ne réglez paschunkTimeouttrop bas.- Streaming
- Aucun réglage de streaming dans la documentation officielle ; rien à modifier.
- Retries
- Aucun réglage de retry dans la documentation officielle.
- Contexte
compaction.auto(truepar défaut) et/compact. Vous devez définirlimit.contextpour chaque modèle (un nombre plus petit compacte plus tôt) : sans lui, la compaction automatique ne s’exécute pas. Excluez les gros dossiers avec.kilocodeignoreou des règles de permission.
{
"provider": {
"geraikita": {
"npm": "@ai-sdk/openai-compatible",
"name": "Geraikita AI",
"options": {
"baseURL": "https://ai.geraikita.com/v1",
"apiKey": "gk-xxxxxxxx",
"timeout": 600000
},
"models": {
"claude-sonnet-5": {
"name": "Claude Sonnet 5",
"limit": { "context": 128000, "output": 16000 }
}
}
}
},
"compaction": { "auto": true }
}Cursor
- URL de base et clé
- Cursor Settings → Models → OpenAI API key. La documentation officielle de Cursor ne décrit pas d’URL de base personnalisée ; si votre version de Cursor affiche Override OpenAI Base URL, saisissez
https://ai.geraikita.com/v1. Votre propre clé API ne fonctionne que pour les modèles de chat (Tab conserve les modèles intégrés de Cursor), et les requêtes passent par les serveurs de Cursor. - Timeout
- Aucun réglage de timeout modifiable dans la documentation officielle. À la place : réduisez le contexte, démarrez un nouveau chat par tâche et choisissez un modèle rapide pour que le premier token arrive avant la limite de l’application.
- Streaming
- Géré par Cursor ; aucun réglage.
- Retries
- Aucun réglage de retry dans la documentation officielle.
- Contexte
- Cursor résume automatiquement les parties anciennes de la conversation quand le contexte est presque plein. Démarrez un nouveau chat à chaque changement de tâche et excluez les gros fichiers avec
.cursorignore.
OpenCode
- URL de base et clé
- Suivez le guide OpenCode : provider
@ai-sdk/openai-compatibleavecbaseURLhttps://ai.geraikita.com/v1. - Timeout
- Dans
provider.geraikita.options(millisecondes) :headerTimeout(attente des en-têtes, 300000 par défaut) etchunkTimeout(écart entre les chunks du stream, 300000 par défaut).timeout(limite globale) est désactivé par défaut ; si vous le définissez, utilisez au moins300000. - Streaming
- Toujours en streaming. Aucun réglage ne permet de le désactiver.
- Retries
- Aucun réglage de retry dans la documentation officielle. Si les requêtes continuent de tomber, corrigez le timeout et réduisez le contexte.
- Contexte
compaction.auto(truepar défaut) résume automatiquement la session quand le contexte est plein./compactrésume manuellement,/newdémarre une nouvelle session.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"geraikita": {
"npm": "@ai-sdk/openai-compatible",
"options": {
"baseURL": "https://ai.geraikita.com/v1",
"apiKey": "{env:GERAIKITA_API_KEY}",
"headerTimeout": 300000,
"chunkTimeout": 300000
}
}
},
"compaction": { "auto": true }
}Continue
- URL de base et clé
- Dans
config.yaml:provider: openai,apiBase: https://ai.geraikita.com/v1,apiKey= votre clé gk-. - Timeout
requestOptions.timeouten secondes (7200 par défaut). Utilisez au moins300, pas 300000.- Streaming
- Le provider
openaiest toujours en streaming. - Retries
- Aucun réglage de retry dans la documentation officielle.
- Contexte
defaultCompletionOptions.contextLengthetmaxTokensplafonnent la taille du contexte et de la réponse. Démarrez un nouveau chat par tâche ; la CLI Continue dispose de/compactet/clear.
models:
- name: Claude Sonnet 5 (Geraikita)
provider: openai
model: claude-sonnet-5
apiBase: https://ai.geraikita.com/v1
apiKey: gk-xxxxxxxx
requestOptions:
timeout: 600 # secondes, pas millisecondes
defaultCompletionOptions:
contextLength: 64000 # plus petit = historique tronqué
maxTokens: 8192n8n
- URL de base et clé
- Identifiants OpenAI : réglez Base URL sur
https://ai.geraikita.com/v1et votre clé API gk-. Identifiants Anthropic : Base URLhttps://ai.geraikita.com. - Timeout
- Nœud OpenAI Chat Model → Options → Timeout (millisecondes). La valeur par défaut est 60000 (60 secondes), cause fréquente de coupures à 60 secondes ; réglez au moins
300000. Le nœud HTTP Request → Options → Timeout est lui aussi en millisecondes. En auto-hébergement : ne réglez pasEXECUTIONS_TIMEOUT(secondes) plus bas que cela. - Streaming
- AI Agent → Options → Enable Streaming (activé par défaut ; nécessite un Chat Trigger ou un Webhook avec Response Mode Streaming). Anthropic Chat Model → Stream Responses. L’OpenAI Chat Model n’a pas d’option de streaming : comptez donc sur un Timeout suffisamment long.
- Retries
- OpenAI Chat Model → Options → Max Retries, 2 par défaut. Les retries après un timeout sont facturés aussi ; corrigez d’abord le Timeout.
- Contexte
- Sous-nœud Simple Memory → Context Window Length = nombre d’interactions passées envoyées. Gardez-le petit, p. ex. 5–10.
SDK OpenAI (Python et Node.js)
- URL de base et clé
base_url/baseURL=https://ai.geraikita.com/v1,api_key/apiKey= votre clé gk-. Un exemple de base se trouve dans Première requête.- Timeout
timeout: secondes en Python, millisecondes en Node.js. La valeur par défaut du SDK est de 10 minutes, ce qui convient tant que vous ne la baissez pas sous 300 secondes.- Streaming
stream=True(Python) /stream: true(Node.js).- Retries
max_retries/maxRetries, 2 par défaut, y compris la relance des requêtes en timeout. Pour les gros prompts, réglez 0–1.- Contexte
- N’envoyez que l’historique nécessaire : supprimez les anciens messages ou résumez-les avant l’envoi.
from openai import OpenAI
client = OpenAI(
base_url="https://ai.geraikita.com/v1",
api_key="gk-xxxxxxxx",
timeout=600.0, # secondes
max_retries=1, # les retries après timeout sont aussi facturés
)
stream = client.chat.completions.create(
model="claude-sonnet-5",
messages=[{"role": "user", "content": "Halo!"}],
stream=True,
)
for chunk in stream:
if chunk.choices and chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="", flush=True)SDK Anthropic (Python et Node.js)
- URL de base et clé
base_url/baseURL=https://ai.geraikita.com(sans /v1, le SDK ajoute lui-même /v1/messages),api_key/apiKey= votre clé gk-.- Timeout
timeout: secondes en Python, millisecondes en Node.js ; 10 minutes par défaut. Le SDK refuse les requêtes sans streaming censées durer plus d’environ 10 minutes, utilisez donc le streaming.- Streaming
client.messages.stream(...), oustream=True/stream: truesurmessages.create.- Retries
max_retries/maxRetries, 2 par défaut. Pour les gros prompts, réglez 0–1.- Contexte
- N’envoyez que l’historique nécessaire ; limitez
max_tokensà ce dont la réponse a besoin.
import anthropic
client = anthropic.Anthropic(
base_url="https://ai.geraikita.com", # sans /v1
api_key="gk-xxxxxxxx",
timeout=600.0, # secondes
max_retries=1, # les retries après timeout sont aussi facturés
)
with client.messages.stream(
model="claude-sonnet-5",
max_tokens=4096,
messages=[{"role": "user", "content": "Halo!"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)curl
- URL de base et clé
- En-tête
Authorization: Bearer gk-...vershttps://ai.geraikita.com/v1/chat/completions. Un exemple de base se trouve dans Première requête. - Timeout
- Sans
--max-time, curl ne limite pas la durée totale. Si vous l’utilisez, réglez au moins300(secondes). - Streaming
"stream": truedans le body, plus-N(--no-buffer) pour que les chunks de réponse s’affichent immédiatement.- Retries
--retryvaut 0 par défaut et relance aussi en cas de timeout. Ne l’ajoutez pas pour les gros prompts.- Contexte
- Vous construisez le body vous-même : n’envoyez que les messages nécessaires.
curl https://ai.geraikita.com/v1/chat/completions \
--max-time 600 -N \
-H "Authorization: Bearer gk-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"model":"claude-sonnet-5","stream":true,"messages":[{"role":"user","content":"Halo!"}]}'Conditions de facturation
Les requêtes annulées côté acheteur (timeout de l’application, bouton stop, connexion interrompue) avant l’arrivée de la réponse restent facturées. Une sortie vide n’est compensée qu’en cas de problème de notre côté (réponse vide ou erreur du serveur, ou aucune sortie pendant ≥60 secondes). Applicable à partir du 1er novembre 2026.
Conditions Générales, Article 10FAQ
Mon application a expiré (timeout) et la sortie était vide. Suis-je quand même facturé ?
Oui, si votre application a coupé avant l’arrivée de la réponse : le serveur IA avait déjà traité votre prompt. C’est prévu dans les Conditions générales et s’applique à partir du 1er novembre 2026.
Quand une sortie vide est-elle compensée ?
Quand le problème vient de notre côté : le serveur renvoie une réponse vide ou une erreur, ou il n’y a aucune sortie pendant 60 secondes ou plus.
Pourquoi ne pas simplement augmenter les retries ?
Chaque retry est une nouvelle requête. Si la cause est un timeout trop court, les retries ne font que répéter la facturation sans résultat. Augmentez le timeout à au moins 300 secondes et activez le streaming.
Mon prompt est énorme. Qu’est-ce qui aide le plus ?
Résumer ou démarrer une nouvelle session, exclure les gros dossiers et utiliser un modèle plus rapide pour les grands contextes. Comparez les modèles sur la page Tarifs.