NouveauBranchez n’importe quel agent sur UberLLM : une clé, tous les modèles, au prix catalogue ou moins.
UberLLM

Claude Code

Claude Code communique avec UberLLM via son adresse compatible Anthropic, https://api.uberllm.dev. Une fois l'adresse et votre clé configurées, les commandes et outils de Claude Code fonctionnent comme avant, et les requêtes sont facturées sur votre solde UberLLM.

Mettre en place à la main

Vous n'avez rien à exécuter, sauf Claude Code lui-même. Créez une clé sur votre page de clés, puis :

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

Ceci est valable pour le terminal actuel. Pour le conserver sans clé dans votre profil shell, enregistrez la clé dans un fichier que vous seul pouvez lire :

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

et mettez ceci dans ~/.claude/settings.json (tous les projets) ou dans <project>/.claude/settings.local.json (un seul projet) :

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

Ou utilisez l'installateur

L'installateur fait la même chose pour vous et obtient la clé via votre navigateur. Lisez-le d'abord si vous voulez : c'est du texte brut à l'adresse uberllm.dev/install/claude-code.sh.

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

Pour le vérifier avant de l'exécuter :

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

Chaque projet sur cet ordinateur :

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

Un seul projet (exécutez-le à l'intérieur du projet ; les autres projets restent sur votre forfait Anthropic) :

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

Ajoutez un dossier après --project pour configurer un projet autre que celui en cours.

Windows PowerShell (chaque projet) :

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

Vous n'avez pas besoin d'une clé API au préalable, et vous n'avez pas besoin d'être connecté lorsque vous collez la commande. L'installateur ouvre un lien dans votre navigateur (https://uberllm.dev/cli/link?code=XXXX-XXXX) et affiche le même code de confirmation dans le terminal. Connectez-vous, vérifiez que le code correspond, et appuyez sur Approuver.

L'approbation crée une clé API sur votre compte et la transmet à l'installateur en attente. Le code dans votre terminal n'est pas le secret : seul l'installateur qui a initié la requête peut récupérer la clé, la clé est remise exactement une fois, et la requête expire après 15 minutes.

Si Claude Code n'a jamais été configuré sur cet ordinateur, utilisez d'abord l'installation pour tous les projets. Claude Code ne lit les paramètres propres à un projet qu'après que vous ayez approuvé ce dossier, donc une nouvelle installation pourrait toujours vous demander de vous connecter.

Pour afficher le bloc de paramètres de votre ordinateur sans rien écrire :

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

Ce que l'installateur écrit

La clé est placée dans un fichier que vous seul pouvez lire (mode dossier 700, mode fichier 600) :

Installation Fichier de clé Fichier de paramètres
Chaque projet ~/.uberllm/key ~/.claude/settings.json (ou $CLAUDE_CONFIG_DIR/settings.json)
Un seul projet ~/.uberllm/key-<folder>-<number> <project>/.claude/settings.local.json

Le fichier de paramètres reçoit l'adresse et un apiKeyHelper qui lit le fichier de clé. La clé elle-même n'est jamais écrite dans un fichier de paramètres, elle ne se retrouve donc pas dans une sauvegarde, un dépôt de dotfiles ou un partage d'écran.

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

Claude Code exécute apiKeyHelper pour obtenir la clé et l'envoie à la fois comme Authorization: Bearer et x-api-key, afin qu'elle fonctionne avec une passerelle telle qu' UberLLM. Il conserve la réponse pendant cinq minutes (CLAUDE_CODE_API_KEY_HELPER_TTL_MS modifie cela).

L'installateur fusionne avec votre fichier existant plutôt que de le remplacer, ainsi les hooks, les permissions et les serveurs MCP sont conservés, et il copie d'abord l'ancien fichier vers <file>.bak-<timestamp>. Il supprime un ANTHROPIC_AUTH_TOKEN en texte brut laissé par une installation plus ancienne. Il effectue ensuite une seule requête réelle via la passerelle, de sorte qu'un message de succès signifie qu'une requête a été transmise.

L'installateur Windows écrit toujours la clé dans settings.json comme ANTHROPIC_AUTH_TOKEN.

Quel paramètre l'emporte

Claude Code lit les paramètres dans cet ordre, le premier l'emporte :

  1. Paramètres gérés (définis par votre entreprise, le cas échéant)
  2. claude --settings <file>
  3. <project>/.claude/settings.local.json
  4. <project>/.claude/settings.json
  5. ~/.claude/settings.json

Une variable dans le bloc env d'un fichier de paramètres l'emporte sur la même variable dans votre shell dans la plupart des sessions. Deux exceptions sont importantes ici :

  • La clé. Claude Code utilise ANTHROPIC_AUTH_TOKEN en premier, puis ANTHROPIC_API_KEY, puis apiKeyHelper. Un token exporté dans votre shell remplace la clé enregistrée.
  • Le modèle. /model dans la session l'emporte, puis claude --model, puis ANTHROPIC_MODEL, puis le paramètre model. Un ANTHROPIC_MODEL de shell l'emporte sur le paramètre model.

Supprimez donc chaque variable ANTHROPIC_* de votre shell et de votre profil de shell (~/.zshrc, ~/.bashrc) et conservez-les dans le fichier de paramètres. L'installateur vous avertit lorsqu'il en trouve une.

Utiliser d'autres modèles

Par défaut, rien n'est épinglé : Claude Code demande ses propres noms de modèles (opus, sonnet, haiku, claude-opus-5-5…) et UberLLM sert les mêmes modèles Claude. Pour piloter Claude Code avec DeepSeek, GLM, Qwen, GPT ou tout autre modèle, associez chaque emplacement de modèle de Claude Code à un identifiant de modèle UberLLM dans le bloc env :

Variable Ce qu'elle définit
ANTHROPIC_MODEL Le modèle sur lequel la session démarre.
ANTHROPIC_DEFAULT_OPUS_MODEL Ce que opus signifie.
ANTHROPIC_DEFAULT_SONNET_MODEL Ce que sonnet signifie.
ANTHROPIC_DEFAULT_HAIKU_MODEL Ce que haiku signifie. Claude Code l'utilise également pour les tâches de fond comme les titres et les résumés.
CLAUDE_CODE_SUBAGENT_MODEL Le modèle sur lequel les sous-agents s'exécutent.
{
  "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"
  }
}

Associez chaque emplacement. Un emplacement laissé non défini continue de demander un modèle Claude, et vous payez les prix Claude pour cela.

L'installateur le fait pour vous avec un profil :

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

Les profils sont claude-native (par défaut, n'épingle rien), glm, deepseek et gpt. Tout identifiant de modèle de la table des modèles fonctionne si vous définissez les variables manuellement ; GET https://api.uberllm.dev/v1/models les liste.

Contexte et compaction

Claude Code connaît la taille du contexte des modèles Claude uniquement. Pour tout autre modèle, il suppose 200,000 tokens et compacte la conversation avant cela.

  • Si le modèle a un contexte de 1 millions de tokens (sa page sur uberllm.dev indique le contexte), ajoutez [1m] à la fin de son ID, par exemple "ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro[1m]" ou claude --model 'deepseek/deepseek-v4-pro[1m]'. Claude Code prévoit alors 1M.
  • Pour toute autre taille, définissez CLAUDE_CODE_MAX_CONTEXT_TOKENS sur le contexte du modèle, par exemple "CLAUDE_CODE_MAX_CONTEXT_TOKENS": "400000".
  • Pour choisir quand il compacte : le paramètre autoCompactWindow (ou la variable CLAUDE_CODE_AUTO_COMPACT_WINDOW) prend un nombre de tokens de 100,000 à 1,000,000. CLAUDE_AUTOCOMPACT_PCT_OVERRIDE (1–100) compacte plus tôt, à cette part de la fenêtre. autoCompactEnabled: false le désactive.

Définir un contexte plus grand que celui du modèle fait échouer les requêtes une fois que la conversation dépasse le modèle.

Ce qui change

  • Votre identifiant claude.ai n'est pas utilisé. Les fonctionnalités qui en ont besoin, telles que les connecteurs claude.ai, /schedule et Remote Control, ne sont pas disponibles dans une session qui s'exécute sur UberLLM.
  • Le coût affiché par Claude Code n'est pas votre facture. Claude Code le calcule sur votre ordinateur à partir des prix catalogue d'Anthropic, et n'affiche rien d'utile pour les autres modèles. Ce que vous payez se trouve dans Tableau de bord → Activité. Ajoutez votre solde à la ligne d'état (ci-dessous) pour le voir pendant que vous travaillez.
  • Votre code est envoyé à des fournisseurs de modèles tiers. Tout ce que la session lit est envoyé au modèle, qui est exécuté par des fournisseurs de modèles tiers sur le marché UberLLM. Ne l'utilisez pas dans un dépôt qui contient des secrets, des identifiants ou des données client.

Solde dans la barre d'état

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

Ceci enregistre un petit script dans ~/.uberllm/statusline.sh et l'ajoute comme statusLine de Claude Code dans ~/.claude/settings.json (ajoutez --project après --install pour le placer plutôt dans le .claude/settings.local.json de ce projet). Sous l'invite, vous verrez alors :

UberLLM $12.40 · $0.35 held · Opus

C'est votre solde disponible, le montant réservé pour les requêtes toujours en cours, et le modèle. Il lit GET /v1/balance avec la même key que Claude Code utilise, au maximum une fois par minute. Il n'a besoin que de sh, curl et sed. Lisez-le d'abord sur uberllm.dev/install/statusline.sh.

Vérifier

Démarrez Claude Code et exécutez /status : l'adresse de l'API est https://api.uberllm.dev. Ensuite, posez-lui n'importe quelle question ; la requête apparaît dans Tableau de bord → Activité en moins d'une minute.

La même clé répond via l'API Messages :

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"}]}'

Si une requête échoue avec Your apiKeyHelper script is failing, le fichier de clé est manquant ou illisible : exécutez à nouveau l'installateur.

Désinstaller et révoquer

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

Pour une installation mono-projet, exécutez-le à l'intérieur du projet avec sh -s -- --project --uninstall. Il sauvegarde d'abord le fichier de paramètres, supprime uniquement ce qu'il a ajouté, et supprime le fichier de clé enregistré. Claude Code revient à votre connexion Anthropic au prochain démarrage.

La désinstallation ne révoque pas la clé ; elle cesse seulement de l'utiliser. Supprimez la clé sur votre page des clés pour vous assurer qu'elle ne pourra plus jamais être utilisée. Faites cela pour tout ordinateur auquel vous ne faites plus confiance, ou si vous avez approuvé une demande que vous n'avez pas initiée.