اسکرپٹس کے لیے اکاؤنٹ چننا
اس صفحے کا انگریزی سے مشینی ترجمہ کیا گیا ہے۔ اصلاحات کا خیرمقدم ہے۔ اس صفحے میں 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 |
اکاؤنٹ، اس کا 5 گھنٹے اور ہفتہ وار استعمال اور اعداد کا ماخذ پرنٹ کرتا ہے | بند |
--model <model> |
اس ماڈل کی ہفتہ وار ونڈو بھی شمار کرتا ہے، جیسے opus |
کوئی نہیں |
--max-usage <1-100> |
اس استعمال سے کم والے اکاؤنٹس کو ترجیح دیتا ہے | auto_max_usage، ورنہ 100 |
--strategy headroom|expiring |
سب سے کم 5 گھنٹے کا استعمال، یا 5 گھنٹے کا سب سے جلد ری سیٹ | auto_strategy، ورنہ headroom |
--wait[=<duration>] |
جب کسی اکاؤنٹ میں گنجائش نہ ہو تو پہلے اکاؤنٹ کے ری سیٹ ہونے کا انتظار کرتا ہے، زیادہ سے زیادہ اتنی دیر | بند؛ اکیلا دیا جائے تو 5h |
--dry-run |
انتخاب ریکارڈ کیے بغیر چنتا ہے | بند |
یہ کیسے کام کرتا ہے
- ccam لاگ اِن شدہ اکاؤنٹس کی فہرست بناتا ہے (API key اکاؤنٹس کی کوئی حد نہیں ہوتی، اس لیے وہ شامل نہیں ہوتے)۔
- یہ ایک لاک (
~/.local/state/ccam/picks.lock) لیتا ہے، تاکہ ایک ساتھ چلنے والے انتخاب ایک کے بعد ایک ہوں۔ - یہ ہر اکاؤنٹ کا استعمال ایک ساتھ پوچھتا ہے، اسی طرح جیسے
ccam usageپوچھتا ہے، 60 سیکنڈ کے کیش کے ساتھ۔ - پچھلے 2 منٹ میں چنے گئے اکاؤنٹس (
~/.local/state/ccam/picks/<name>) پہلے الگ کر دیے جاتے ہیں، اورccam next --autoکے انتخاب کے اصول باقیوں میں سے چنتے ہیں: پہلےauto_max_usageسے کم والے، حکمتِ عملی کے مطابق، اور کبھی 100% والا اکاؤنٹ نہیں۔ - اگر گنجائش والے تمام اکاؤنٹس حال ہی میں چنے جا چکے ہوں تو اصول دوبارہ ان سب میں سے چنتے ہیں، اس لیے تین اکاؤنٹس پر چوتھا ورکر کسی ایک اکاؤنٹ میں شریک ہو جاتا ہے۔
- انتخاب ریکارڈ ہوتا ہے اور لاک چھوڑ دیا جاتا ہے، پھر نام پرنٹ ہوتا ہے۔
2 منٹ کی ونڈو اس لیے اہم ہے کہ نئی جاب کا استعمال اعداد میں ظاہر ہونے میں کچھ وقت لیتا ہے: اس کے بغیر، ایک ساتھ شروع ہونے والے پانچ ورکرز سب ایک ہی اکاؤنٹ کو سب سے زیادہ گنجائش والا دیکھتے۔
حفاظت اور خاص صورتیں
ccam pickصرف استعمال پڑھتا ہے اور انتخاب کا وقت لکھتا ہے؛ یہ کبھی ٹوکنز کی تجدید نہیں کرتا اور انہیں اس سے زیادہ نہیں پڑھتا جتناccam usageپڑھتا ہے۔- انتخاب اکاؤنٹ کو ریزرو نہیں کرتا۔ 2 منٹ بعد دو اسکرپٹس پھر بھی ایک ہی اکاؤنٹ پر شروع ہو سکتے ہیں؛ جب وہ اکاؤنٹ اپنی حد کو پہنچے تو سنبھلنے کے لیے
--fallbackاستعمال کریں۔ --waitکے ساتھ انتظار کوئی لاک نہیں رکھتا، اس لیے اس دوران دوسرے انتخاب جاری رہتے ہیں۔ccam pick،ccam folderکو نظر انداز کرتا ہے: یہ صرف استعمال کی بنیاد پر چنتا ہے۔