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 :
- Paramètres gérés (définis par votre entreprise, le cas échéant)
claude --settings <file><project>/.claude/settings.local.json<project>/.claude/settings.json~/.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_TOKENen premier, puisANTHROPIC_API_KEY, puisapiKeyHelper. Un token exporté dans votre shell remplace la clé enregistrée. - Le modèle.
/modeldans la session l'emporte, puisclaude --model, puisANTHROPIC_MODEL, puis le paramètremodel. UnANTHROPIC_MODELde shell l'emporte sur le paramètremodel.
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]"ouclaude --model 'deepseek/deepseek-v4-pro[1m]'. Claude Code prévoit alors 1M. - Pour toute autre taille, définissez
CLAUDE_CODE_MAX_CONTEXT_TOKENSsur le contexte du modèle, par exemple"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "400000". - Pour choisir quand il compacte : le paramètre
autoCompactWindow(ou la variableCLAUDE_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: falsele 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,
/scheduleet 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.