خصوصیات

اسکرپٹس کے لیے اکاؤنٹ چننا

تحریر: jhyunwoo
آخری اپ ڈیٹ 20 اکتوبر، 2026
ccam 0.8.0 اور Claude Code 2.1.302 کے ساتھ جانچا گیا

اس صفحے کا انگریزی سے مشینی ترجمہ کیا گیا ہے۔ اصلاحات کا خیرمقدم ہے۔ اس صفحے میں 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 انتخاب ریکارڈ کیے بغیر چنتا ہے بند

یہ کیسے کام کرتا ہے

  1. ccam لاگ اِن شدہ اکاؤنٹس کی فہرست بناتا ہے (API key اکاؤنٹس کی کوئی حد نہیں ہوتی، اس لیے وہ شامل نہیں ہوتے)۔
  2. یہ ایک لاک (~/.local/state/ccam/picks.lock) لیتا ہے، تاکہ ایک ساتھ چلنے والے انتخاب ایک کے بعد ایک ہوں۔
  3. یہ ہر اکاؤنٹ کا استعمال ایک ساتھ پوچھتا ہے، اسی طرح جیسے ccam usage پوچھتا ہے، 60 سیکنڈ کے کیش کے ساتھ۔
  4. پچھلے 2 منٹ میں چنے گئے اکاؤنٹس (~/.local/state/ccam/picks/<name>) پہلے الگ کر دیے جاتے ہیں، اور ccam next --auto کے انتخاب کے اصول باقیوں میں سے چنتے ہیں: پہلے auto_max_usage سے کم والے، حکمتِ عملی کے مطابق، اور کبھی 100% والا اکاؤنٹ نہیں۔
  5. اگر گنجائش والے تمام اکاؤنٹس حال ہی میں چنے جا چکے ہوں تو اصول دوبارہ ان سب میں سے چنتے ہیں، اس لیے تین اکاؤنٹس پر چوتھا ورکر کسی ایک اکاؤنٹ میں شریک ہو جاتا ہے۔
  6. انتخاب ریکارڈ ہوتا ہے اور لاک چھوڑ دیا جاتا ہے، پھر نام پرنٹ ہوتا ہے۔

2 منٹ کی ونڈو اس لیے اہم ہے کہ نئی جاب کا استعمال اعداد میں ظاہر ہونے میں کچھ وقت لیتا ہے: اس کے بغیر، ایک ساتھ شروع ہونے والے پانچ ورکرز سب ایک ہی اکاؤنٹ کو سب سے زیادہ گنجائش والا دیکھتے۔

حفاظت اور خاص صورتیں

  • ccam pick صرف استعمال پڑھتا ہے اور انتخاب کا وقت لکھتا ہے؛ یہ کبھی ٹوکنز کی تجدید نہیں کرتا اور انہیں اس سے زیادہ نہیں پڑھتا جتنا ccam usage پڑھتا ہے۔
  • انتخاب اکاؤنٹ کو ریزرو نہیں کرتا۔ 2 منٹ بعد دو اسکرپٹس پھر بھی ایک ہی اکاؤنٹ پر شروع ہو سکتے ہیں؛ جب وہ اکاؤنٹ اپنی حد کو پہنچے تو سنبھلنے کے لیے --fallback استعمال کریں۔
  • --wait کے ساتھ انتظار کوئی لاک نہیں رکھتا، اس لیے اس دوران دوسرے انتخاب جاری رہتے ہیں۔
  • ccam pick، ccam folder کو نظر انداز کرتا ہے: یہ صرف استعمال کی بنیاد پر چنتا ہے۔