Comptes à clé d'API
Cette page a été traduite automatiquement depuis l'anglais. Les corrections sont les bienvenues. Modifier cette page sur GitHub
Un compte à clé d'API lance Claude Code avec une clé d'API au lieu d'une connexion à un abonnement Claude : l'API d'Anthropic, ou un point de terminaison qui parle le même format Messages, comme une passerelle LiteLLM ou OpenRouter. ccam ne stocke pas la clé. Il la lit à chaque lancement du compte, depuis une variable d'environnement ou une commande comme un gestionnaire de mots de passe, et ne la transmet qu'à ce processus Claude Code.
Utilisation
ccam add api --api --key-from env:ANTHROPIC_KEY_WORK
ccam add gw --api --base-url https://llm.example.com --auth bearer \
--model claude-sonnet-5-5 --key-from 'command:pass show llm/gateway-key'
ccam add mac --api --key-from 'command:security find-generic-password -s anthropic-api -w'
ccam gw -p "summarise the open issues"
ccam list$ ccam list
# Name Shortcut Email Shared Last used
* 1 personal - me@example.com mcp settings md ext 2h ago
2 gw - (API: llm.example.com) mcp settings md ext -Un compte à clé d'API partage les paramètres, CLAUDE.md, les extensions et les serveurs MCP comme n'importe quel autre compte, et fonctionne avec les raccourcis, ccam folder et ccam ext.
Options
| Option | Effet | Par défaut |
|---|---|---|
--api |
Ajouter un compte à clé d'API au lieu de se connecter | désactivé |
--key-from env:NAME |
Lire la clé dans la variable d'environnement NAME |
|
--key-from command:COMMAND |
Exécuter COMMAND (avec sh -c, ou cmd /C sous Windows) et utiliser la première ligne qu'elle affiche |
|
--base-url <url> |
Le point de terminaison (ANTHROPIC_BASE_URL) |
L'API d'Anthropic |
--auth api-key|bearer |
Envoyer la clé comme ANTHROPIC_API_KEY (x-api-key) ou comme ANTHROPIC_AUTH_TOKEN (Authorization: Bearer, ce que les passerelles attendent en général) |
api-key |
--model <model> |
Le modèle (ANTHROPIC_MODEL) |
Celui de Claude Code par défaut |
Les paramètres sont enregistrés dans config.toml :
[[profile]]
name = 'gw'
slot = 2
[profile.api]
base_url = 'https://llm.example.com'
key_from = 'command:pass show llm/gateway-key'
auth = 'bearer'
model = 'claude-sonnet-5-5'Fonctionnement
À chaque lancement du compte, après les vérifications habituelles et avant le démarrage de Claude Code :
- ccam lit la clé :
env:depuis l'environnement,command:en exécutant la commande avec une limite de 30 secondes. Une commande peut demander un mot de passe dans le terminal ; sa sortie d'erreur va aussi au terminal. Une clé vide arrête le lancement avec un message qui indique où la clé était attendue. - Il retire toute variable héritée qui détermine comment Claude Code se connecte ou quel fournisseur il utilise :
ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKEN,CLAUDE_CODE_OAUTH_TOKEN,ANTHROPIC_BASE_URL,ANTHROPIC_MODEL,CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEXetCLAUDE_CODE_USE_FOUNDRY. Une clé définie dans votre shell pour autre chose ne peut pas atteindre ce compte, et une connexion à un abonnement ne peut pas l'emporter sur sa clé. - Il définit
ANTHROPIC_BASE_URLetANTHROPIC_MODELs'ils sont donnés, et la clé commeANTHROPIC_API_KEYouANTHROPIC_AUTH_TOKEN.
Les comptes connectés à un abonnement gardent l'environnement dont ils héritent, comme avant. Dans une session interactive, Claude Code peut demander une fois s'il doit utiliser la clé qu'il trouve dans l'environnement.
Sécurité et cas particuliers
- La clé n'est jamais écrite dans
config.toml, un cache ou un journal, etccam --dry-run gwne la lit pas : une sourcecommand:n'est pas exécutée par une simulation. ccam add --apivérifie une sourceenv:tout de suite et avertit si la variable est vide ; une sourcecommand:est exécutée pour la première fois au lancement.ccam loginetccam logoutrefusent un compte à clé d'API, puisqu'il n'a pas de connexion.ccam doctoraffiche son point de terminaison et la source de sa clé, et avertit quand une variableenv:est vide.ccam usageafficheAPIpour lui.ccam next --auto,--fallbacketccam pickne choisissent que parmi les comptes à abonnement, car une clé d'API n'a pas de limite sur 5 heures ou hebdomadaire à comparer.- Un
settings.jsonpartagé avec un blocenvouapiKeyHelpers'applique à chaque compte du groupe, comptes à clé d'API compris. Gardez les paramètres de fournisseur hors des paramètres partagés.