Dokumentation

Agentic-Tool-Einstellungen

Agentic-Tools senden bei jedem Schritt Dateiinhalte, Befehlsausgaben und den gesamten Gesprächsverlauf. Ein so großer Prompt kann Dutzende Sekunden brauchen, bis das erste Token ankommt. Gibt deine App vorher auf, zählt der Request trotzdem, aber du bekommst nichts. Stelle Timeout, Streaming, Retries und Kontextgröße wie unten beschrieben ein.

Warum das wichtig ist

  • Requests, die vor der Antwort abgebrochen werden, zählen trotzdem. Sobald ein Request eintrifft, beginnt der KI-Server, den gesamten Prompt zu verarbeiten. Bricht deine App ihn vorher ab (Timeout, Stopp-Button, Verbindungsabbruch), sind die Verarbeitungskosten bereits entstanden, aber du erhältst keine Antwort.
  • Riesige Prompts brauchen mehr als 30 Sekunden bis zum ersten Token. Agentic-Prompts mit Hunderten KB und Tausenden Nachrichten können das Standardlimit vieler Apps (30 oder 60 Sekunden) überschreiten, bevor überhaupt ein Token herauskommt.
  • Streaming hält die Verbindung am Leben. Mit aktivem Streaming sendet unser Server die Header sofort und danach alle 10 Sekunden ein Keepalive-Signal, während er auf die Antwort wartet. Abbrechen kann dann nur noch das Gesamt-Zeitlimit deiner App, also setze es auf mindestens 300 Sekunden.
  • Wähle für große Kontexte ein schnelles Modell. Nutze für lange Sessions oder große Repos ein schnelleres Modell und hebe große Modelle für die Schritte auf, die sie wirklich brauchen. Vergleiche sie auf der Seite Preise.

Richtlinien für alle Tools

Timeout
Mindestens 300 Sekunden. Achte auf die Einheit: Manche Tools nutzen Sekunden (300), andere Millisekunden (300000).
Streaming
Schalte es ein. Ohne Streaming fließen keine Daten, bis die Antwort vollständig ist, deshalb geben Proxys und Apps früher auf.
Retries
Halte sie niedrig (0–3). Ein Retry nach einem Timeout ist ein neuer Request, der ebenfalls berechnet wird. Behebe zuerst den Timeout, statt die Retries zu erhöhen.
Kontext
Halte ihn klein. Nutze automatisches Compact/Zusammenfassen, starte pro Aufgabe eine neue Session und schließe große Ordner aus (node_modules, build, data).

Claude Code

Base-URL & Key
Folge der Claude-Code-Anleitung: ANTHROPIC_BASE_URL = https://ai.geraikita.com (ohne /v1) und ANTHROPIC_AUTH_TOKEN = dein gk--Key. Du kannst die Variablen in den env-Block von ~/.claude/settings.json schreiben.
Timeout
API_TIMEOUT_MS (Millisekunden): wie lange jeder Versuch auf die Antwort-Header wartet, Standard 600000 (10 Minuten). Nicht verringern; falls du ihn je gesenkt hast, setze ihn wieder auf mindestens 300000.
Streaming
Streamt immer. Es gibt keine Einstellung, um das abzuschalten.
Retries
CLAUDE_CODE_MAX_RETRIES, Standard 10, auch bei Timeouts, bevor die Antwort zu streamen beginnt. Für große Prompts 2–3 setzen, damit ein Schritt nicht immer wieder berechnet wird.
Kontext
/compact fasst das Gespräch zusammen, /clear startet ein neues. Auto-Compact ist standardmäßig an (autoCompactEnabled); ein niedrigerer CLAUDE_AUTOCOMPACT_PCT_OVERRIDE (z. B. 60) komprimiert früher.
~/.claude/settings.json
{
  "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
Folge der Cline-Anleitung: Provider OpenAI Compatible (Base URL https://ai.geraikita.com/v1) oder Anthropic mit Use custom base URL https://ai.geraikita.com.
Timeout
Die offizielle Doku von Cline bietet für die Provider OpenAI Compatible und Anthropic keine Timeout-Einstellung (Request Timeout gilt nur für Ollama). Damit das erste Token schnell kommt: Kontext verkleinern und für große Kontexte ein schnelleres Modell wählen.
Streaming
Keine Streaming-Einstellung in der offiziellen Doku; nichts zu ändern.
Retries
Keine Retry-Einstellung in der offiziellen Doku.
Kontext
Auto Compact fasst automatisch zusammen, wenn der Kontext fast voll ist. /smol (Alias /compact) fasst manuell zusammen, /newtask übernimmt eine Zusammenfassung in eine neue Aufgabe. Stelle Context Window size in Model Configuration passend zum Modell ein.

Roo Code

Base-URL & Key
Hinweis: Die Roo-Code-Erweiterung wurde am 15. Mai 2026 offiziell eingestellt. Falls du sie noch nutzt: Provider OpenAI Compatible, Base URL https://ai.geraikita.com/v1, dein gk--Key (wie bei Cline).
Timeout
roo-cline.apiRequestTimeout in der settings.json von VS Code, in Sekunden (Standard 600, Bereich 0–3600, 0 = kein Limit). Nicht unter 300 gehen.
Streaming
Achte darauf, dass Enable streaming im OpenAI-Compatible-Profil aktiviert bleibt.
Retries
Mit aktivem Auto-Approve werden fehlgeschlagene Requests automatisch mit wachsenden Pausen wiederholt; einen eigenen Schalter gibt es nicht.
Kontext
Intelligent Context Condensing (Settings → Context): Senke den Schwellenwert vom Standard 100 %, damit das Verdichten früher beginnt, oder drücke Condense Context. Schließe große Ordner mit .rooignore aus.

Kilo Code

Base-URL & Key
Settings → Providers → Custom provider → OpenAI Compatible, Base URL https://ai.geraikita.com/v1, dein gk--Key. Oder nutze die Datei ~/.config/kilo/kilo.jsonc wie im Beispiel unten.
Timeout
options.timeout beim Provider (Millisekunden) deckt das Warten auf Header und das erste Byte ab. Der Standard ist 300000, genau an der Grenze; setze 600000. Setze chunkTimeout nicht zu niedrig.
Streaming
Keine Streaming-Einstellung in der offiziellen Doku; nichts zu ändern.
Retries
Keine Retry-Einstellung in der offiziellen Doku.
Kontext
compaction.auto (Standard true) und /compact. Du musst limit.context pro Modell setzen (eine kleinere Zahl komprimiert früher): Ohne diesen Wert läuft die automatische Komprimierung nicht. Schließe große Ordner mit .kilocodeignore oder Berechtigungsregeln aus.
~/.config/kilo/kilo.jsonc
{
  "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. Die offizielle Doku von Cursor beschreibt keine eigene Base-URL; wenn deine Cursor-Version Override OpenAI Base URL anzeigt, trage https://ai.geraikita.com/v1 ein. Dein eigener API-Key funktioniert nur für Chat-Modelle (Tab nutzt weiter die eingebauten Modelle von Cursor), und Requests laufen über die Server von Cursor.
Timeout
Keine einstellbare Timeout-Option in der offiziellen Doku. Stattdessen: Kontext verkleinern, pro Aufgabe einen neuen Chat starten und ein schnelles Modell wählen, damit das erste Token vor dem Limit der App ankommt.
Streaming
Wird von Cursor gesteuert; keine Einstellung.
Retries
Keine Retry-Einstellung in der offiziellen Doku.
Kontext
Cursor fasst ältere Teile des Gesprächs automatisch zusammen, wenn der Kontext fast voll ist. Starte bei jedem Aufgabenwechsel einen neuen Chat und schließe große Dateien mit .cursorignore aus.

OpenCode

Base-URL & Key
Folge der OpenCode-Anleitung: Provider @ai-sdk/openai-compatible mit baseURL https://ai.geraikita.com/v1.
Timeout
In provider.geraikita.options (Millisekunden): headerTimeout (Warten auf Header, Standard 300000) und chunkTimeout (Abstand zwischen Stream-Chunks, Standard 300000). timeout (Gesamtlimit) ist standardmäßig aus; wenn du es setzt, nimm mindestens 300000.
Streaming
Streamt immer. Es gibt keine Einstellung, um das abzuschalten.
Retries
Keine Retry-Einstellung in der offiziellen Doku. Wenn Requests ständig abbrechen, behebe den Timeout und verkleinere den Kontext.
Kontext
compaction.auto (Standard true) fasst die Session automatisch zusammen, wenn der Kontext voll ist. /compact fasst manuell zusammen, /new startet eine neue Session.
~/.config/opencode/opencode.json
{
  "$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 = dein gk--Key.
Timeout
requestOptions.timeout in Sekunden (Standard 7200). Nimm mindestens 300, nicht 300000.
Streaming
Der Provider openai streamt immer.
Retries
Keine Retry-Einstellung in der offiziellen Doku.
Kontext
defaultCompletionOptions.contextLength und maxTokens begrenzen Kontext- und Antwortgröße. Starte pro Aufgabe einen neuen Chat; die Continue CLI hat /compact und /clear.
~/.continue/config.yaml
models:
  - name: Claude Sonnet 5 (Geraikita)
    provider: openai
    model: claude-sonnet-5
    apiBase: https://ai.geraikita.com/v1
    apiKey: gk-xxxxxxxx
    requestOptions:
      timeout: 600        # Sekunden, nicht Millisekunden
    defaultCompletionOptions:
      contextLength: 64000  # kleiner = Verlauf wird gekürzt
      maxTokens: 8192

n8n

Base-URL & Key
OpenAI-Zugangsdaten: Setze Base URL auf https://ai.geraikita.com/v1 und deinen gk--API-Key. Anthropic-Zugangsdaten: Base URL https://ai.geraikita.com.
Timeout
Node OpenAI Chat Model → Options → Timeout (Millisekunden). Der Standard ist 60000 (60 Sekunden), eine häufige Ursache für Abbrüche nach 60 Sekunden; setze mindestens 300000. Auch beim Node HTTP Request → Options → Timeout gilt Millisekunden. Self-hosted: Setze EXECUTIONS_TIMEOUT (Sekunden) nicht niedriger.
Streaming
AI Agent → Options → Enable Streaming (standardmäßig an; braucht einen Chat Trigger oder einen Webhook mit Response Mode Streaming). Anthropic Chat Model → Stream Responses. Das OpenAI Chat Model hat keine Streaming-Option, verlass dich also auf einen ausreichend langen Timeout.
Retries
OpenAI Chat Model → Options → Max Retries, Standard 2. Retries nach einem Timeout werden ebenfalls berechnet; behebe zuerst den Timeout.
Kontext
Sub-Node Simple Memory → Context Window Length = wie viele frühere Interaktionen mitgesendet werden. Halte den Wert klein, z. B. 5–10.

OpenAI SDK (Python & Node.js)

Base-URL & Key
base_url / baseURL = https://ai.geraikita.com/v1, api_key / apiKey = dein gk--Key. Ein einfaches Beispiel findest du unter Erster Request.
Timeout
timeout: Sekunden in Python, Millisekunden in Node.js. Der SDK-Standard ist 10 Minuten, das passt, solange du ihn nicht unter 300 Sekunden senkst.
Streaming
stream=True (Python) / stream: true (Node.js).
Retries
max_retries / maxRetries, Standard 2, inklusive Wiederholung von Requests mit Timeout. Für große Prompts 0–1 setzen.
Kontext
Sende nur den nötigen Verlauf: Kürze alte Nachrichten oder fasse sie vor dem Senden zusammen.
from openai import OpenAI

client = OpenAI(
    base_url="https://ai.geraikita.com/v1",
    api_key="gk-xxxxxxxx",
    timeout=600.0,   # Sekunden
    max_retries=1,   # Retries nach Timeout werden auch berechnet
)
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 (ohne /v1, das SDK hängt /v1/messages selbst an), api_key / apiKey = dein gk--Key.
Timeout
timeout: Sekunden in Python, Millisekunden in Node.js; Standard 10 Minuten. Das SDK lehnt Nicht-Streaming-Requests ab, die voraussichtlich länger als etwa 10 Minuten dauern, also nutze Streaming.
Streaming
client.messages.stream(...) oder stream=True / stream: true bei messages.create.
Retries
max_retries / maxRetries, Standard 2. Für große Prompts 0–1 setzen.
Kontext
Sende nur den nötigen Verlauf; begrenze max_tokens auf das, was die Antwort braucht.
import anthropic

client = anthropic.Anthropic(
    base_url="https://ai.geraikita.com",   # ohne /v1
    api_key="gk-xxxxxxxx",
    timeout=600.0,   # Sekunden
    max_retries=1,   # Retries nach Timeout werden auch berechnet
)
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-... an https://ai.geraikita.com/v1/chat/completions. Ein einfaches Beispiel findest du unter Erster Request.
Timeout
Ohne --max-time begrenzt curl die Gesamtdauer nicht. Wenn du es nutzt, setze mindestens 300 (Sekunden).
Streaming
"stream": true im Body, dazu -N (--no-buffer), damit Antwort-Chunks sofort erscheinen.
Retries
--retry ist standardmäßig 0 und wiederholt auch bei Timeouts. Für große Prompts nicht hinzufügen.
Kontext
Du baust den Body selbst: Sende nur die nötigen Nachrichten.
bash
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!"}]}'

Abrechnungsbedingungen

Requests, die auf Käuferseite abgebrochen werden (App-Timeout, Stopp-Button, Verbindungsabbruch), bevor die Antwort ankommt, werden trotzdem berechnet. Leere Ausgaben werden nur bei Problemen auf unserer Seite erstattet (leere Antwort oder Fehler vom Server oder keine Ausgabe für ≥60 Sekunden). Gilt ab 1. November 2026.

Nutzungsbedingungen, Artikel 10

FAQ

Meine App hatte einen Timeout und die Ausgabe war leer. Wird mir trotzdem etwas berechnet?

Ja, wenn deine App abgebrochen hat, bevor die Antwort ankam: Der KI-Server hatte deinen Prompt bereits verarbeitet. Das ist in den Allgemeinen Geschäftsbedingungen geregelt und gilt ab 1. November 2026.

Wann wird eine leere Ausgabe erstattet?

Wenn das Problem auf unserer Seite liegt: Der Server liefert eine leere Antwort oder einen Fehler, oder es gibt 60 Sekunden oder länger überhaupt keine Ausgabe.

Warum nicht einfach die Retries erhöhen?

Jeder Retry ist ein neuer Request. Ist ein zu kurzer Timeout die Ursache, wiederholen Retries nur die Kosten ohne Ergebnis. Erhöhe den Timeout auf mindestens 300 Sekunden und schalte Streaming ein.

Mein Prompt ist riesig. Was hilft am meisten?

Zusammenfassen oder eine neue Session starten, große Ordner ausschließen und für große Kontexte ein schnelleres Modell nutzen. Vergleiche die Modelle auf der Seite Preise.