NeuVerbinde jeden Agenten mit UberLLM: ein Schlüssel, alle Modelle, zum Listenpreis oder günstiger.
UberLLM

Claude Code

Claude Code kommuniziert mit UberLLM über seine Anthropic-kompatible Adresse, https://api.uberllm.dev. Sobald die Adresse und Ihr Schlüssel eingerichtet sind, funktionieren die Befehle und Tools von Claude Code wie zuvor, und Anfragen werden Ihrem UberLLM-Guthaben belastet.

Manuell einrichten

Sie müssen nichts außer Claude Code selbst ausführen. Erstellen Sie einen Schlüssel auf Ihrer Schlüsselseite, dann:

export ANTHROPIC_BASE_URL=https://api.uberllm.dev
export ANTHROPIC_AUTH_TOKEN=ull_your_key
claude

Windows PowerShell:

$env:ANTHROPIC_BASE_URL = "https://api.uberllm.dev"
$env:ANTHROPIC_AUTH_TOKEN = "ull_your_key"
claude

Das gilt für das aktuelle Terminal. Um es dauerhaft in Ihrem Shell-Profil zu speichern, speichern Sie den Schlüssel in einer Datei, die nur Sie lesen können:

mkdir -p ~/.uberllm && chmod 700 ~/.uberllm
printf '%s\n' 'ull_your_key' > ~/.uberllm/key && chmod 600 ~/.uberllm/key

und fügen Sie dies in ~/.claude/settings.json (jedes Projekt) oder in <project>/.claude/settings.local.json (ein Projekt) ein:

{
  "apiKeyHelper": "cat ~/.uberllm/key",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.uberllm.dev"
  }
}

Oder verwenden Sie den Installer

Der Installer erledigt dasselbe für Sie und ruft den Schlüssel über Ihren Browser ab. Lesen Sie ihn zuerst, wenn Sie möchten: Er ist Klartext unter uberllm.dev/install/claude-code.sh.

  • SHA-256 von claude-code.sh: f5aa1c4610992d8f4ecc1b1cd777bc731c5fad9da6a38cac46989834b194d66c
  • SHA-256 von claude-code.ps1: 60d631b48e60a2e3f17e5eee19136d47a255f143627986e86b6ceb379858a3b9

Um ihn vor dem Ausführen zu überprüfen:

curl -fsSL https://uberllm.dev/install/claude-code.sh -o claude-code.sh
shasum -a 256 claude-code.sh   # compare with the hash above
sh claude-code.sh

Jedes Projekt auf diesem Computer:

curl -fsSL https://uberllm.dev/install/claude-code.sh | sh

Nur ein Projekt (führen Sie es innerhalb des Projekts aus; andere Projekte bleiben auf Ihrem Anthropic-Plan):

curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --project

Fügen Sie einen Ordner nach --project hinzu, um ein anderes Projekt als das aktuelle einzurichten.

Windows PowerShell (jedes Projekt):

irm https://uberllm.dev/install/claude-code.ps1 | iex

Sie benötigen nicht zuerst einen API key, und Sie müssen nicht angemeldet sein, wenn Sie den Befehl einfügen. Der Installer öffnet einen Link in Ihrem Browser (https://uberllm.dev/cli/link?code=XXXX-XXXX) und gibt denselben Bestätigungscode im Terminal aus. Melden Sie sich an, überprüfen Sie, ob der Code übereinstimmt, und drücken Sie auf Approve.

Das Genehmigen erstellt einen API key in Ihrem Konto und übergibt ihn dem wartenden Installer. Der Code in Ihrem Terminal ist nicht das Geheimnis: Nur der Installer, der die Anfrage gestartet hat, kann den key abrufen, der key wird genau einmal ausgegeben, und die Anfrage läuft nach 15 Minuten ab.

Wenn Claude Code noch nie auf diesem Computer eingerichtet wurde, verwenden Sie zuerst die Installation für jedes Projekt. Claude Code liest die eigenen Einstellungen eines Projekts erst, nachdem Sie diesem Ordner vertraut haben, sodass eine brandneue Installation Sie möglicherweise trotzdem zur Anmeldung auffordern könnte.

Um den Einstellungsblock für Ihren Computer auszudrucken, ohne etwas zu schreiben:

curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --print

Was der Installer schreibt

Der Schlüssel kommt in eine Datei, die nur Sie lesen können (Ordner-Modus 700, Datei-Modus 600):

Installation Schlüsseldatei Einstellungsdatei
Jedes Projekt ~/.uberllm/key ~/.claude/settings.json (oder $CLAUDE_CONFIG_DIR/settings.json)
Ein Projekt ~/.uberllm/key-<folder>-<number> <project>/.claude/settings.local.json

Die Einstellungsdatei erhält die Adresse und ein apiKeyHelper, das die Schlüsseldatei liest. Der Schlüssel selbst wird niemals in eine Einstellungsdatei geschrieben, damit er nicht in einem Backup, einem Dotfiles-Repository oder einer Bildschirmfreigabe landet.

{
  "apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
    "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
  }
}

Claude Code führt apiKeyHelper aus, um den Schlüssel abzurufen, und sendet ihn sowohl als Authorization: Bearer als auch als x-api-key, damit es mit einem Gateway wie UberLLM funktioniert. Es behält die Antwort für fünf Minuten (CLAUDE_CODE_API_KEY_HELPER_TTL_MS ändert das).

Der Installer verschmilzt mit Ihrer bestehenden Datei, anstatt sie zu ersetzen, sodass Hooks, Berechtigungen und MCP-Server erhalten bleiben, und er kopiert die alte Datei zuerst nach <file>.bak-<timestamp>. Er entfernt ein Klartext-ANTHROPIC_AUTH_TOKEN, das von einer älteren Installation hinterlassen wurde. Er führt dann eine echte Anfrage über das Gateway aus, sodass eine Erfolgsmeldung bedeutet, dass eine Anfrage erfolgreich war.

Der Windows-Installer schreibt den Schlüssel weiterhin in settings.json als ANTHROPIC_AUTH_TOKEN.

Welche Einstellung gewinnt

Claude Code liest Einstellungen in dieser Reihenfolge, die erste gewinnt:

  1. Verwaltete Einstellungen (von Ihrem Unternehmen festgelegt, falls vorhanden)
  2. claude --settings <file>
  3. <project>/.claude/settings.local.json
  4. <project>/.claude/settings.json
  5. ~/.claude/settings.json

Eine Variable im env Block einer Einstellungsdatei hat in den meisten Sitzungen Vorrang vor derselben Variable in Ihrer shell. Zwei Ausnahmen sind hier wichtig:

  • Der Schlüssel. Claude Code verwendet zuerst ANTHROPIC_AUTH_TOKEN, dann ANTHROPIC_API_KEY, dann apiKeyHelper. Ein in Ihrer shell exportierter token ersetzt den gespeicherten Schlüssel.
  • Das Modell. /model in der Sitzung gewinnt, dann claude --model, dann ANTHROPIC_MODEL, dann die model Einstellung. Ein shell ANTHROPIC_MODEL schlägt die model Einstellung.

Entfernen Sie daher jede ANTHROPIC_* Variable aus Ihrer shell und Ihrem shell-Profil (~/.zshrc, ~/.bashrc) und bewahren Sie sie in der Einstellungsdatei auf. Der Installer warnt Sie, wenn er eine findet.

Andere Modelle verwenden

Standardmäßig ist nichts festgelegt: Claude Code fragt nach seinen eigenen Modellnamen (opus, sonnet, haiku, claude-opus-5-5…) und UberLLM stellt dieselben Claude-Modelle bereit. Um Claude Code mit DeepSeek, GLM, Qwen, GPT oder einem anderen Modell zu betreiben, ordnen Sie jeden Modell-Slot von Claude Code einer UberLLM-Modell-ID im env-Block zu:

Variable Was es einstellt
ANTHROPIC_MODEL Das Modell, mit dem die Sitzung beginnt.
ANTHROPIC_DEFAULT_OPUS_MODEL Was opus bedeutet.
ANTHROPIC_DEFAULT_SONNET_MODEL Was sonnet bedeutet.
ANTHROPIC_DEFAULT_HAIKU_MODEL Was haiku bedeutet. Claude Code verwendet es auch für Hintergrundarbeiten wie Titel und Zusammenfassungen.
CLAUDE_CODE_SUBAGENT_MODEL Das Modell, auf dem Subagenten laufen.
{
  "apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
    "ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-v4-pro",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek/deepseek-v4-pro",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek/deepseek-v4-flash",
    "CLAUDE_CODE_SUBAGENT_MODEL": "deepseek/deepseek-v4-pro"
  }
}

Jeden Slot zuordnen. Ein nicht zugewiesener Slot fragt weiterhin nach einem Claude-Modell, und Sie zahlen Claude-Preise dafür.

Der Installer erledigt dies für Sie mit einem Profil:

curl -fsSL 'https://uberllm.dev/install/claude-code.sh?profile=glm' | sh

Profile sind claude-native (die Standardeinstellung, legt nichts fest), glm, deepseek und gpt. Jede Modell-ID aus der Modell-Tabelle funktioniert, wenn Sie die Variablen manuell einstellen; GET https://api.uberllm.dev/v1/models listet sie auf.

Kontext und Kompaktierung

Claude Code kennt nur die Kontextgröße von Claude-Modellen. Für jedes andere Modell nimmt es 200,000 tokens an und komprimiert die Konversation davor.

  • Wenn das Modell einen 1-million-token Kontext hat (seine Seite auf uberllm.dev zeigt den Kontext), fügen Sie [1m] an das Ende seiner ID an, zum Beispiel "ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro[1m]" oder claude --model 'deepseek/deepseek-v4-pro[1m]'. Claude Code plant dann für 1M.
  • Für jede andere Größe setzen Sie CLAUDE_CODE_MAX_CONTEXT_TOKENS auf den Kontext des Modells, zum Beispiel "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "400000".
  • Um zu wählen, wann komprimiert wird: die autoCompactWindow Einstellung (oder die CLAUDE_CODE_AUTO_COMPACT_WINDOW Variable) nimmt eine Anzahl von tokens von 100,000 bis 1,000,000. CLAUDE_AUTOCOMPACT_PCT_OVERRIDE (1–100) komprimiert früher, bei diesem Anteil des Fensters. autoCompactEnabled: false schaltet es aus.

Einen Kontext zu setzen, der größer ist als der des Modells, führt dazu, dass Anfragen fehlschlagen, sobald die Konversation das Modell übersteigt.

Was sich ändert

  • Ihr claude.ai Login wird nicht verwendet. Funktionen, die es benötigen, wie claude.ai Konnektoren, /schedule und Remote Control, sind in einer Sitzung, die auf UberLLM läuft, nicht verfügbar.
  • Die Kosten, die Claude Code anzeigt, sind nicht Ihre Rechnung. Claude Code berechnet sie auf Ihrem Computer anhand der Listenpreise von Anthropic und zeigt für andere Modelle nichts Nützliches an. Was Sie bezahlen, finden Sie unter Dashboard → Activity. Fügen Sie Ihr Guthaben zur Statuszeile (unten) hinzu, um es während der Arbeit zu sehen.
  • Ihr Code geht an Drittanbieter von Modellen. Alles, was die Sitzung liest, wird an das Modell gesendet, das von Drittanbietern von Modellen auf dem UberLLM-Markt betrieben wird. Verwenden Sie es nicht in einem Repository, das Geheimnisse, Anmeldeinformationen oder Kundendaten enthält.

Guthaben in der Statuszeile

curl -fsSL https://uberllm.dev/install/statusline.sh | sh -s -- --install

Dies speichert ein kleines Skript nach ~/.uberllm/statusline.sh und fügt es als Claude Codes statusLine in ~/.claude/settings.json hinzu (füge --project nach --install hinzu, um es stattdessen in das .claude/settings.local.json dieses Projekts zu legen). Unter dem Prompt siehst du dann:

UberLLM $12.40 · $0.35 held · Opus

Das ist dein verfügbares Guthaben, der Betrag, der für noch laufende Anfragen reserviert ist, und das Modell. Es liest GET /v1/balance mit demselben Schlüssel, den Claude Code verwendet, höchstens einmal pro Minute. Es benötigt nur sh, curl und sed. Lies es zuerst unter uberllm.dev/install/statusline.sh.

Überprüfen

Starte Claude Code und führe /status aus: Die API-Adresse ist https://api.uberllm.dev. Frage es dann irgendetwas; die Anfrage erscheint in Dashboard → Activity innerhalb einer Minute.

Derselbe Schlüssel funktioniert über die Messages API:

curl https://api.uberllm.dev/v1/messages \
  -H "Authorization: Bearer $(cat ~/.uberllm/key)" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"claude-haiku-4-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'

Wenn eine Anfrage mit Your apiKeyHelper script is failing fehlschlägt, fehlt die Schlüsseldatei oder ist unlesbar: Führe den Installer erneut aus.

Deinstallieren und widerrufen

curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --uninstall

Für eine Installation in einem einzelnen Projekt führen Sie es innerhalb des Projekts aus mit sh -s -- --project --uninstall. Es sichert zuerst die Einstellungsdatei, entfernt nur das, was es hinzugefügt hat, und löscht die gespeicherte Schlüsseldatei. Claude Code kehrt zu Ihrem Anthropic-Login beim nächsten Start zurück.

Die Deinstallation widerruft den Schlüssel nicht; sie beendet lediglich dessen Nutzung. Löschen Sie den Schlüssel auf Ihrer Schlüsselseite, um sicherzustellen, dass er nie wieder ausgegeben werden kann. Tun Sie dies für jeden Computer, dem Sie nicht mehr vertrauen, oder wenn Sie eine Anfrage genehmigt haben, die Sie nicht selbst gestartet haben.