Funktionen

Ein Konto für Skripte wählen

Von jhyunwoo
Zuletzt aktualisiert am 20. Oktober 2026
Geprüft mit ccam 0.8.0 und Claude Code 2.1.302

Diese Seite wurde maschinell aus dem Englischen übersetzt. Korrekturen sind willkommen. Diese Seite auf GitHub bearbeiten

Auf dieser Seite

ccam pick gibt den Namen des angemeldeten Kontos mit dem meisten Spielraum aus, damit ein Skript Claude Code damit starten kann. Gleichzeitig gestartete Worker erhalten jeweils ein anderes Konto, solange genug Konten mit Spielraum da sind, sodass sich ein Stapel von claude -p-Jobs auf deine Konten verteilt, statt ein einziges aufzubrauchen.

Verwendung

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

Exit-Codes: 0 mit einem Namen auf der Standardausgabe, 75 (EX_TEMPFAIL), wenn kein Konto Spielraum hat oder keines angemeldet ist, 1 bei anderen Fehlern wie einer ungültigen Option.

Optionen

Option Wirkung Standard
--json Das Konto, seine 5-Stunden- und Wochennutzung und die Herkunft der Zahlen ausgeben aus
--model <model> Auch das Wochenfenster dieses Modells berücksichtigen, etwa opus keins
--max-usage <1-100> Konten unter dieser Nutzung bevorzugen auto_max_usage, sonst 100
--strategy headroom|expiring Niedrigste 5-Stunden-Nutzung oder die früheste 5-Stunden-Zurücksetzung auto_strategy, sonst headroom
--wait[=<duration>] Wenn kein Konto Spielraum hat, auf die Zurücksetzung des ersten warten, höchstens so lange aus; 5h, wenn ohne Wert angegeben
--dry-run Wählen, ohne die Wahl zu erfassen aus

So funktioniert es

  1. ccam listet die angemeldeten Konten auf (API-Schlüssel-Konten haben keine Limits und werden ausgelassen).
  2. Es setzt eine Sperre (~/.local/state/ccam/picks.lock), sodass gleichzeitig laufende Auswahlen nacheinander erfolgen.
  3. Es fragt die Nutzung aller Konten gleichzeitig ab, genauso wie ccam usage, mit dem 60-Sekunden-Cache.
  4. Konten, die in den letzten 2 Minuten gewählt wurden (~/.local/state/ccam/picks/<name>), werden zuerst ausgelassen, und die Auswahlregeln von ccam next --auto wählen unter den übrigen: zuerst unter auto_max_usage, nach der Strategie, nie ein Konto bei 100 %.
  5. Wurden alle Konten mit Spielraum kürzlich gewählt, wählen die Regeln wieder unter allen, sodass sich ein vierter Worker bei drei Konten eines mit einem anderen teilt.
  6. Die Wahl wird erfasst und die Sperre freigegeben, dann wird der Name ausgegeben.

Das 2-Minuten-Fenster ist wichtig, weil die Nutzung eines neuen Jobs eine Weile braucht, bis sie in den Zahlen erscheint: Ohne es würden fünf gleichzeitig gestartete Worker alle dasselbe Konto als das mit dem meisten Spielraum sehen.

Sicherheit und Sonderfälle

  • ccam pick liest nur die Nutzung und schreibt den Zeitpunkt der Wahl; es erneuert oder liest Tokens nie über das hinaus, was ccam usage tut.
  • Eine Wahl reserviert das Konto nicht. Zwei Skripte können nach 2 Minuten trotzdem mit demselben Konto starten; verwende --fallback, um weiterzumachen, wenn dieses Konto sein Limit erreicht.
  • Warten mit --wait hält keine Sperre, sodass andere Auswahlen währenddessen weiterlaufen.
  • ccam pick ignoriert ccam folder: Es wählt nur nach Nutzung.