Instellingen agentic tools
Agentic tools sturen bij elke stap bestandsinhoud, commando-output en de volledige gespreksgeschiedenis mee. Bij zo’n grote prompt kan het tientallen seconden duren voordat het eerste token binnenkomt. Geeft je app eerder op, dan telt de request toch mee maar ontvang je niets. Stel timeout, streaming, retries en contextgrootte in zoals hieronder.
Waarom dit belangrijk is
- Requests die worden afgebroken voordat het antwoord binnen is, tellen toch mee. Zodra een request binnenkomt, begint de AI-server de hele prompt te verwerken. Breekt je app hem eerder af (timeout, stopknop, verbroken verbinding), dan zijn de verwerkingskosten al gemaakt, maar krijg je geen antwoord.
- Enorme prompts hebben meer dan 30 seconden nodig tot het eerste token. Agentic prompts van honderden KB met duizenden berichten kunnen de standaardlimiet van veel apps (30 of 60 seconden) overschrijden voordat er ook maar één token uitkomt.
- Streaming houdt de verbinding in leven. Met streaming aan stuurt onze server meteen de headers en daarna elke 10 seconden een keepalive-signaal terwijl hij op het antwoord wacht. Wat de verbinding nog kan afbreken, is de totale tijdslimiet van je app; zet die dus op minstens 300 seconden.
- Kies een snel model voor grote contexten. Gebruik voor lange sessies of grote repo’s een sneller model en bewaar grote modellen voor de stappen die ze echt nodig hebben. Vergelijk ze op de pagina Prijzen.
Richtlijnen voor elke tool
- Timeout
- Minstens 300 seconden. Let op de eenheid: sommige tools gebruiken seconden (
300), andere milliseconden (300000). - Streaming
- Zet het aan. Zonder streaming stroomt er geen data tot het antwoord compleet is, waardoor proxy’s en apps sneller opgeven.
- Retries
- Houd ze laag (0–3). Een retry na een timeout is een nieuwe request die ook in rekening wordt gebracht. Los eerst de timeout op in plaats van meer retries in te stellen.
- Context
- Houd hem klein. Gebruik automatisch compacten/samenvatten, start per taak een nieuwe sessie en sluit grote mappen uit (node_modules, build, data).
Claude Code
- Base URL & key
- Volg de Claude Code-handleiding:
ANTHROPIC_BASE_URL=https://ai.geraikita.com(zonder /v1) enANTHROPIC_AUTH_TOKEN= je gk-key. Je kunt de variabelen in hetenv-blok van~/.claude/settings.jsonzetten. - Timeout
API_TIMEOUT_MS(milliseconden): hoe lang elke poging op de response-headers wacht, standaard 600000 (10 minuten). Verlaag hem niet; heb je hem ooit verlaagd, zet hem dan terug op minstens300000.- Streaming
- Streamt altijd. Er is geen instelling om het uit te zetten.
- Retries
CLAUDE_CODE_MAX_RETRIES, standaard 10, inclusief timeouts voordat het antwoord begint te streamen. Zet hem bij grote prompts op 2–3, zodat één stap niet steeds opnieuw in rekening wordt gebracht.- Context
/compactvat het gesprek samen,/clearbegint een nieuw gesprek. Auto-compact staat standaard aan (autoCompactEnabled); een lagereCLAUDE_AUTOCOMPACT_PCT_OVERRIDE(bijv. 60) compact eerder.
{
"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
- Base URL & key
- Volg de Cline-handleiding: provider OpenAI Compatible (Base URL
https://ai.geraikita.com/v1) of Anthropic met Use custom base URLhttps://ai.geraikita.com. - Timeout
- De officiële documentatie van Cline biedt geen timeout-instelling voor de providers OpenAI Compatible of Anthropic (Request Timeout geldt alleen voor Ollama). Om het eerste token snel binnen te krijgen: verklein de context en kies een sneller model voor grote contexten.
- Streaming
- Geen streaming-instelling in de officiële documentatie; niets te wijzigen.
- Retries
- Geen retry-instelling in de officiële documentatie.
- Context
- Auto Compact vat automatisch samen wanneer de context bijna vol is.
/smol(alias/compact) vat handmatig samen,/newtaskneemt een samenvatting mee naar een nieuwe taak. Stel Context Window size in bij Model Configuration, passend bij het model.
Roo Code
- Base URL & key
- Let op: de Roo Code-extensie is op 15 mei 2026 officieel stopgezet. Gebruik je hem nog: provider OpenAI Compatible, Base URL
https://ai.geraikita.com/v1, je gk-key (hetzelfde als bij Cline). - Timeout
roo-cline.apiRequestTimeoutin settings.json van VS Code, in seconden (standaard 600, bereik 0–3600, 0 = geen limiet). Ga niet onder300.- Streaming
- Zorg dat Enable streaming aangevinkt blijft in het OpenAI Compatible-profiel.
- Retries
- Met Auto-Approve aan worden mislukte requests automatisch opnieuw geprobeerd met oplopende vertraging; er is geen aparte schakelaar.
- Context
- Intelligent Context Condensing (Settings → Context): verlaag de drempel van de standaard 100% zodat condenseren eerder begint, of klik op Condense Context. Sluit grote mappen uit met
.rooignore.
Kilo Code
- Base URL & key
- Settings → Providers → Custom provider → OpenAI Compatible, Base URL
https://ai.geraikita.com/v1, je gk-key. Of gebruik het bestand~/.config/kilo/kilo.jsonczoals in het voorbeeld hieronder. - Timeout
options.timeoutop de provider (milliseconden) dekt het wachten op headers en de eerste byte. De standaard is 300000, precies op de grens; zet hem op600000. ZetchunkTimeoutniet te laag.- Streaming
- Geen streaming-instelling in de officiële documentatie; niets te wijzigen.
- Retries
- Geen retry-instelling in de officiële documentatie.
- Context
compaction.auto(standaardtrue) en/compact. Je moet per modellimit.contextinstellen (een kleiner getal compact eerder): zonder die waarde draait auto-compaction niet. Sluit grote mappen uit met.kilocodeignoreof permissieregels.
{
"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
- Base URL & key
- Cursor Settings → Models → OpenAI API key. De officiële documentatie van Cursor beschrijft geen eigen base URL; toont jouw Cursor-versie Override OpenAI Base URL, vul dan
https://ai.geraikita.com/v1in. Je eigen API-key werkt alleen voor chatmodellen (Tab blijft de ingebouwde modellen van Cursor gebruiken) en requests lopen via de servers van Cursor. - Timeout
- Geen instelbare timeout in de officiële documentatie. In plaats daarvan: verklein de context, start per taak een nieuwe chat en kies een snel model, zodat het eerste token binnen is vóór de limiet van de app.
- Streaming
- Wordt door Cursor geregeld; geen instelling.
- Retries
- Geen retry-instelling in de officiële documentatie.
- Context
- Cursor vat oudere delen van het gesprek automatisch samen wanneer de context bijna vol is. Start een nieuwe chat telkens als je van taak wisselt en sluit grote bestanden uit met
.cursorignore.
OpenCode
- Base URL & key
- Volg de OpenCode-handleiding: provider
@ai-sdk/openai-compatiblemetbaseURLhttps://ai.geraikita.com/v1. - Timeout
- In
provider.geraikita.options(milliseconden):headerTimeout(wachten op headers, standaard 300000) enchunkTimeout(tijd tussen streamchunks, standaard 300000).timeout(totale limiet) staat standaard uit; stel je hem in, gebruik dan minstens300000. - Streaming
- Streamt altijd. Er is geen instelling om het uit te zetten.
- Retries
- Geen retry-instelling in de officiële documentatie. Vallen requests steeds weg, los dan de timeout op en verklein de context.
- Context
compaction.auto(standaardtrue) vat de sessie automatisch samen wanneer de context vol is./compactvat handmatig samen,/newstart een nieuwe sessie.
{
"$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
- Base URL & key
- In
config.yaml:provider: openai,apiBase: https://ai.geraikita.com/v1,apiKey= je gk-key. - Timeout
requestOptions.timeoutin seconden (standaard 7200). Gebruik minstens300, niet 300000.- Streaming
- De provider
openaistreamt altijd. - Retries
- Geen retry-instelling in de officiële documentatie.
- Context
defaultCompletionOptions.contextLengthenmaxTokensbegrenzen de grootte van context en antwoord. Start per taak een nieuwe chat; de Continue CLI heeft/compacten/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 # seconden, geen milliseconden
defaultCompletionOptions:
contextLength: 64000 # kleiner = geschiedenis wordt ingekort
maxTokens: 8192n8n
- Base URL & key
- OpenAI-credentials: zet Base URL op
https://ai.geraikita.com/v1en vul je gk-API-key in. Anthropic-credentials: Base URLhttps://ai.geraikita.com. - Timeout
- Node OpenAI Chat Model → Options → Timeout (milliseconden). De standaard is 60000 (60 seconden), een veelvoorkomende oorzaak van afbreken na 60 seconden; zet minstens
300000. Ook node HTTP Request → Options → Timeout is in milliseconden. Self-hosted: zetEXECUTIONS_TIMEOUT(seconden) niet lager dan dat. - Streaming
- AI Agent → Options → Enable Streaming (standaard aan; vereist een Chat Trigger of een Webhook met Response Mode Streaming). Anthropic Chat Model → Stream Responses. Het OpenAI Chat Model heeft geen streaming-optie, dus vertrouw op een voldoende lange Timeout.
- Retries
- OpenAI Chat Model → Options → Max Retries, standaard 2. Retries na een timeout worden ook in rekening gebracht; los eerst de Timeout op.
- Context
- Subnode Simple Memory → Context Window Length = hoeveel eerdere interacties worden meegestuurd. Houd het klein, bijv. 5–10.
OpenAI SDK (Python & Node.js)
- Base URL & key
base_url/baseURL=https://ai.geraikita.com/v1,api_key/apiKey= je gk-key. Een basisvoorbeeld staat bij Eerste request.- Timeout
timeout: seconden in Python, milliseconden in Node.js. De SDK-standaard is 10 minuten; prima, zolang je hem niet onder 300 seconden zet.- Streaming
stream=True(Python) /stream: true(Node.js).- Retries
max_retries/maxRetries, standaard 2, inclusief het opnieuw proberen van requests met een timeout. Zet bij grote prompts 0–1.- Context
- Stuur alleen de geschiedenis mee die je nodig hebt: kort oude berichten in of vat ze samen voordat je verstuurt.
from openai import OpenAI
client = OpenAI(
base_url="https://ai.geraikita.com/v1",
api_key="gk-xxxxxxxx",
timeout=600.0, # seconden
max_retries=1, # retries na een timeout worden ook in rekening gebracht
)
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)Anthropic SDK (Python & Node.js)
- Base URL & key
base_url/baseURL=https://ai.geraikita.com(zonder /v1, de SDK voegt zelf /v1/messages toe),api_key/apiKey= je gk-key.- Timeout
timeout: seconden in Python, milliseconden in Node.js; standaard 10 minuten. De SDK weigert niet-streaming requests die naar verwachting langer dan ongeveer 10 minuten duren, dus gebruik streaming.- Streaming
client.messages.stream(...), ofstream=True/stream: truebijmessages.create.- Retries
max_retries/maxRetries, standaard 2. Zet bij grote prompts 0–1.- Context
- Stuur alleen de geschiedenis mee die je nodig hebt; begrens
max_tokenstot wat het antwoord nodig heeft.
import anthropic
client = anthropic.Anthropic(
base_url="https://ai.geraikita.com", # zonder /v1
api_key="gk-xxxxxxxx",
timeout=600.0, # seconden
max_retries=1, # retries na een timeout worden ook in rekening gebracht
)
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
- Base URL & key
- Header
Authorization: Bearer gk-...naarhttps://ai.geraikita.com/v1/chat/completions. Een basisvoorbeeld staat bij Eerste request. - Timeout
- Zonder
--max-timebegrenst curl de totale duur niet. Gebruik je het wel, zet dan minstens300(seconden). - Streaming
"stream": truein de body, plus-N(--no-buffer) zodat antwoordchunks direct verschijnen.- Retries
--retrystaat standaard op 0 en probeert ook opnieuw bij timeouts. Voeg het niet toe bij grote prompts.- Context
- Je bouwt de body zelf: stuur alleen de berichten mee die je nodig hebt.
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!"}]}'Factuurvoorwaarden
Requests die aan de kant van de koper worden geannuleerd (app-timeout, stopknop, verbroken verbinding) voordat het antwoord binnen is, worden toch in rekening gebracht. Lege output wordt alleen vergoed bij problemen aan onze kant (een leeg antwoord of fout van de server, of ≥60 seconden geen output). Geldt vanaf 1 november 2026.
Algemene Voorwaarden, Artikel 10Veelgestelde vragen
Mijn app kreeg een timeout en de output was leeg. Betaal ik toch?
Ja, als je app de request afbrak voordat het antwoord binnen was: de AI-server had je prompt al verwerkt. Dit staat in de Algemene voorwaarden en geldt vanaf 1 november 2026.
Wanneer wordt lege output vergoed?
Als het probleem aan onze kant ligt: de server geeft een leeg antwoord of een fout terug, of er komt 60 seconden of langer helemaal geen output.
Waarom niet gewoon meer retries instellen?
Elke retry is een nieuwe request. Is een te korte timeout de oorzaak, dan herhalen retries alleen de kosten zonder resultaat. Verhoog de timeout naar minstens 300 seconden en zet streaming aan.
Mijn prompt is enorm. Wat helpt het meest?
Vat samen of start een nieuwe sessie, sluit grote mappen uit en gebruik een sneller model voor grote contexten. Vergelijk modellen op de pagina Prijzen.