Betikler için hesap seçme
Bu sayfa İngilizceden makine çevirisiyle çevrilmiştir. Düzeltmelere açığız. Bu sayfayı GitHub üzerinde düzenleyin
ccam pick, bir betiğin Claude Code'u başlatması için en çok payı kalan girişli hesabın adını yazdırır. Aynı anda başlatılan çalışan süreçler, payı kalan yeterli hesap olduğu sürece her biri farklı bir hesap alır; böylece bir grup claude -p işi tek bir hesabı tüketmek yerine hesaplarınıza dağılır.
Kullanım
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"
}Çıkış kodları: standart çıktıda bir adla 0, hiçbir hesapta pay kalmadığında veya hiçbir hesapta giriş yapılmadığında 75 (EX_TEMPFAIL), hatalı bir bayrak gibi diğer hatalar için 1.
Seçenekler
| Seçenek | Ne yapar | Varsayılan |
|---|---|---|
--json |
Hesabı, 5 saatlik ve haftalık kullanımını ve sayıların nereden geldiğini yazdırır | kapalı |
--model <model> |
O modelin haftalık penceresini de sayar, örneğin opus |
yok |
--max-usage <1-100> |
Bu kullanımın altındaki hesapları tercih eder | auto_max_usage, yoksa 100 |
--strategy headroom|expiring |
En düşük 5 saatlik kullanım ya da en yakın 5 saatlik sıfırlanma | auto_strategy, yoksa headroom |
--wait[=<duration>] |
Hiçbir hesapta pay yoksa ilk hesabın sıfırlanmasını en fazla bu süre kadar bekler | kapalı; tek başına verilirse 5h |
--dry-run |
Seçimi kaydetmeden seçer | kapalı |
Nasıl çalışır
- ccam girişli hesapları listeler (API anahtarlı hesapların limiti yoktur ve dışarıda bırakılır).
- Bir kilit alır (
~/.local/state/ccam/picks.lock); böylece aynı anda çalışan seçimler birbiri ardına gerçekleşir. - Her hesabın kullanımını,
ccam usageile aynı şekilde ve 60 saniyelik önbellekle, aynı anda sorar. - Son 2 dakika içinde seçilen hesaplar (
~/.local/state/ccam/picks/<name>) önce dışarıda bırakılır ve kalanlar arasındanccam next --autokomutunun seçim kuralları seçer: önceauto_max_usagealtındakiler, stratejiye göre, %100'deki bir hesap asla seçilmeden. - Payı kalan her hesap yakın zamanda seçildiyse kurallar yeniden hepsi arasından seçer; böylece üç hesaptaki dördüncü çalışan süreç bir hesabı paylaşır.
- Seçim kaydedilir, kilit bırakılır, ardından ad yazdırılır.
2 dakikalık pencere önemlidir, çünkü yeni bir işin kullanımının sayılara yansıması biraz zaman alır: o olmasa birlikte başlatılan beş çalışan süreç, en çok payı kalan hesap olarak hep aynı hesabı görürdü.
Güvenlik ve uç durumlar
ccam pickyalnızca kullanımı okur ve seçim zamanını yazar;ccam usagekomutunun yaptığının ötesinde hiçbir zaman token yenilemez veya okumaz.- Bir seçim hesabı ayırmaz. İki betik 2 dakika sonra yine aynı hesapta başlayabilir; o hesap limitine ulaştığında toparlanmak için
--fallbackkullanın. --waitile beklemek kilit tutmaz; bu sırada diğer seçimler devam eder.ccam pick,ccam folderayarını yok sayar: yalnızca kullanıma göre seçer.