Memilih akun untuk skrip
Halaman ini diterjemahkan dengan mesin dari bahasa Inggris. Koreksi sangat dihargai. Sunting halaman ini di GitHub
ccam pick mencetak nama akun yang sudah login dengan ruang terbanyak, agar skrip bisa menjalankan Claude Code dengannya. Worker yang dimulai pada waktu yang sama masing-masing mendapat akun berbeda selama masih cukup akun yang punya ruang, sehingga sekumpulan tugas claude -p tersebar ke akun-akun Anda alih-alih menghabiskan satu akun.
Penggunaan
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"
}Kode keluar: 0 dengan nama di output standar, 75 (EX_TEMPFAIL) jika tidak ada akun yang punya ruang atau tidak ada yang sudah login, 1 untuk galat lain seperti flag yang salah.
Opsi
| Opsi | Fungsinya | Default |
|---|---|---|
--json |
Mencetak akun, penggunaan 5 jam dan mingguannya, serta asal angka-angka itu | nonaktif |
--model <model> |
Juga menghitung jendela mingguan model itu, seperti opus |
tidak ada |
--max-usage <1-100> |
Utamakan akun di bawah penggunaan ini | auto_max_usage, jika tidak ada 100 |
--strategy headroom|expiring |
Penggunaan 5 jam terendah, atau reset 5 jam yang paling cepat | auto_strategy, jika tidak ada headroom |
--wait[=<duration>] |
Jika tidak ada akun yang punya ruang, tunggu akun pertama di-reset, paling lama selama ini | nonaktif; 5h jika diberikan tanpa nilai |
--dry-run |
Memilih tanpa mencatat pilihan itu | nonaktif |
Cara kerjanya
- ccam membuat daftar akun yang sudah login (akun kunci API tidak punya batas dan tidak diikutkan).
- ccam mengambil kunci (
~/.local/state/ccam/picks.lock), sehingga pemilihan yang berjalan bersamaan dilakukan satu per satu. - ccam menanyakan penggunaan semua akun sekaligus, dengan cara yang sama seperti
ccam usage, memakai cache 60 detik. - Akun yang dipilih dalam 2 menit terakhir (
~/.local/state/ccam/picks/<name>) dikeluarkan lebih dulu, lalu aturan pemilihanccam next --automemilih di antara sisanya: akun di bawahauto_max_usagelebih dulu, menurut strategi, dan tidak pernah akun yang sudah 100%. - Jika setiap akun yang punya ruang baru saja dipilih, aturan itu memilih lagi di antara semuanya, sehingga worker keempat pada tiga akun berbagi satu akun.
- Pilihan dicatat dan kunci dilepas, lalu nama akun dicetak.
Jendela 2 menit itu penting karena penggunaan tugas baru butuh waktu untuk muncul di angka: tanpa jendela itu, lima worker yang dimulai bersamaan akan melihat akun yang sama sebagai akun dengan ruang terbanyak.
Keamanan dan kasus khusus
ccam pickhanya membaca penggunaan dan menulis waktu pemilihan; ia tidak pernah memperbarui atau membaca token lebih dari yang dilakukanccam usage.- Pemilihan tidak memesan akun. Dua skrip tetap bisa dimulai di akun yang sama setelah 2 menit; gunakan
--fallbackuntuk pulih saat akun itu mencapai batasnya. - Menunggu dengan
--waittidak memegang kunci, sehingga pemilihan lain tetap berjalan sementara itu. ccam pickmengabaikanccam folder: ia memilih hanya berdasarkan penggunaan.