انتخاب حساب برای اسکریپتها
این صفحه بهصورت ماشینی از انگلیسی ترجمه شده است. پیشنهاد اصلاح را با کمال میل میپذیریم. ویرایش این صفحه در GitHub
ccam pick نام حساب واردشدهای را که بیشترین ظرفیت را دارد چاپ میکند تا اسکریپت Claude Code را با آن آغاز کند. کارگرهایی که همزمان آغاز میشوند، تا وقتی حسابهای کافی با ظرفیت باشد، هر کدام حساب متفاوتی میگیرند؛ پس دستهای از کارهای claude -p به جای خالی کردن یک حساب، میان حسابهای شما پخش میشود.
نحوه استفاده
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"
}کدهای خروج: 0 با یک نام در خروجی استاندارد، 75 (EX_TEMPFAIL) وقتی هیچ حسابی ظرفیت ندارد یا هیچ حسابی وارد نشده است، و 1 برای خطاهای دیگر مانند یک گزینه نادرست.
گزینهها
| گزینه | کاری که انجام میدهد | پیشفرض |
|---|---|---|
--json |
حساب، مصرف ۵ ساعته و هفتگی آن و منبع عددها را چاپ میکند | خاموش |
--model <model> |
پنجره هفتگی آن مدل را هم در نظر میگیرد، مانند opus |
هیچ |
--max-usage <1-100> |
حسابهایی را که مصرفشان زیر این مقدار است ترجیح میدهد | auto_max_usage، وگرنه ۱۰۰ |
--strategy headroom|expiring |
کمترین مصرف ۵ ساعته، یا زودترین بازنشانی ۵ ساعته | auto_strategy، وگرنه headroom |
--wait[=<duration>] |
وقتی هیچ حسابی ظرفیت ندارد، منتظر میماند تا نخستین حساب بازنشانی شود، حداکثر به این مدت | خاموش؛ اگر تنها داده شود 5h |
--dry-run |
انتخاب میکند بدون آنکه انتخاب را ثبت کند | خاموش |
سازوکار
- ccam حسابهای واردشده را فهرست میکند (حسابهای کلید API سقفی ندارند و کنار گذاشته میشوند).
- یک قفل میگیرد (
~/.local/state/ccam/picks.lock)، تا انتخابهایی که همزمان اجرا میشوند یکی پس از دیگری انجام شوند. - مصرف همه حسابها را همزمان میپرسد، به همان شکلی که
ccam usageمیپرسد، با حافظه نهان ۶۰ ثانیهای. - ابتدا حسابهایی که در ۲ دقیقه گذشته انتخاب شدهاند (
~/.local/state/ccam/picks/<name>) کنار گذاشته میشوند و قواعد انتخابccam next --autoاز میان بقیه انتخاب میکنند: ابتدا حسابهای زیرauto_max_usage، بر اساس راهبرد، و هرگز حسابی که به ۱۰۰٪ رسیده است. - اگر همه حسابهایی که ظرفیت دارند بهتازگی انتخاب شده باشند، قواعد دوباره از میان همه آنها انتخاب میکنند، پس کارگر چهارم روی سه حساب، یکی از آنها را با دیگری شریک میشود.
- انتخاب ثبت و قفل آزاد میشود و سپس نام چاپ میشود.
پنجره ۲ دقیقهای اهمیت دارد، چون مدتی طول میکشد تا مصرف یک کار تازه در عددها دیده شود: بدون آن، پنج کارگری که با هم آغاز شدهاند همگی یک حساب را حسابی با بیشترین ظرفیت میدیدند.
ایمنی و موارد خاص
ccam pickفقط مصرف را میخواند و زمان انتخاب را مینویسد؛ هرگز توکنها را تمدید نمیکند و بیش از آنچهccam usageمیخواند، آنها را نمیخواند.- انتخاب، حساب را رزرو نمیکند. دو اسکریپت ممکن است پس از ۲ دقیقه باز هم روی یک حساب آغاز شوند؛ برای بازیابی وقتی آن حساب به سقفش میرسد از
--fallbackاستفاده کنید. - انتظار با
--waitهیچ قفلی نگه نمیدارد، پس انتخابهای دیگر در این مدت ادامه مییابند. ccam pickبهccam folderتوجهی نمیکند: فقط بر اساس مصرف انتخاب میکند.