Choisir un compte pour les scripts
Cette page a été traduite automatiquement depuis l'anglais. Les corrections sont les bienvenues. Modifier cette page sur GitHub
ccam pick affiche le nom du compte connecté qui a le plus de marge, pour qu'un script lance Claude Code avec. Les workers lancés en même temps reçoivent chacun un compte différent tant qu'il y a assez de comptes avec de la marge, si bien qu'un lot de tâches claude -p se répartit sur vos comptes au lieu d'en épuiser un seul.
Utilisation
ccam "$(ccam pick)" -p "fix the failing tests"
for task in parse lint docs; do
ccam "$(ccam pick)" -p "do the $task task" > "$task.json" &
done; wait
ccam pick --json # the account and its usage
ccam pick --model opus # also count the Opus weekly limit
ccam pick --max-usage 80 --strategy expiring
ccam pick --wait=2h # nobody has room: wait for a reset
ccam --fallback "$(ccam pick)" -p "…" # also switch if this account hits its limit mid-job$ ccam pick --json
{
"name": "work",
"slot": 2,
"email": "dev@company.com",
"five_hour": { "percent": 12, "resets_at": "2026-10-20T15:10:00Z", "known": true },
"weekly": { "percent": 41, "resets_at": "2026-10-24T09:00:00Z", "known": true },
"source": "live"
}Codes de sortie : 0 avec un nom sur la sortie standard, 75 (EX_TEMPFAIL) quand aucun compte n'a de marge ou qu'aucun n'est connecté, 1 pour les autres erreurs, comme une option invalide.
Options
| Option | Effet | Par défaut |
|---|---|---|
--json |
Afficher le compte, son utilisation sur 5 heures et hebdomadaire, et l'origine des chiffres | désactivé |
--model <model> |
Compter aussi la fenêtre hebdomadaire de ce modèle, comme opus |
aucun |
--max-usage <1-100> |
Préférer les comptes sous ce niveau d'utilisation | auto_max_usage, sinon 100 |
--strategy headroom|expiring |
L'utilisation sur 5 heures la plus basse, ou la réinitialisation sur 5 heures la plus proche | auto_strategy, sinon headroom |
--wait[=<duration>] |
Quand aucun compte n'a de marge, attendre la réinitialisation du premier, au plus cette durée | désactivé ; 5h s'il est donné seul |
--dry-run |
Choisir sans enregistrer le choix | désactivé |
Fonctionnement
- ccam liste les comptes connectés (les comptes à clé d'API n'ont pas de limites et sont laissés de côté).
- Il prend un verrou (
~/.local/state/ccam/picks.lock), si bien que les choix lancés en même temps se font l'un après l'autre. - Il consulte l'utilisation de tous les comptes en même temps, de la même façon que
ccam usage, avec le cache de 60 secondes. - Les comptes choisis au cours des 2 dernières minutes (
~/.local/state/ccam/picks/<name>) sont d'abord écartés, et les règles de choix deccam next --autochoisissent parmi les autres : d'abord sousauto_max_usage, selon la stratégie, jamais un compte à 100 %. - Si tous les comptes qui ont de la marge ont été choisis récemment, les règles choisissent de nouveau parmi tous, si bien qu'un quatrième worker sur trois comptes en partage un.
- Le choix est enregistré et le verrou libéré, puis le nom est affiché.
La fenêtre de 2 minutes compte, car l'utilisation d'une nouvelle tâche met un moment à apparaître dans les chiffres : sans elle, cinq workers lancés ensemble verraient tous le même compte comme celui qui a le plus de marge.
Sécurité et cas particuliers
ccam pickne fait que lire l'utilisation et écrire l'heure du choix ; il ne renouvelle ni ne lit jamais de jetons au-delà de ce que faitccam usage.- Un choix ne réserve pas le compte. Deux scripts peuvent encore démarrer sur le même compte après 2 minutes ; utilisez
--fallbackpour reprendre la main quand ce compte atteint sa limite. - L'attente avec
--waitne garde aucun verrou, si bien que les autres choix continuent pendant ce temps. ccam pickignoreccam folder: il choisit uniquement selon l'utilisation.