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

> ccam pick اسکرپٹ کے لیے سب سے زیادہ گنجائش والا اکاؤنٹ پرنٹ کرتا ہے، ایک ساتھ شروع ہونے والے ورکرز کو الگ اکاؤنٹس دیتا ہے، اور گنجائش نہ ہو تو 75 پر نکلتا ہے۔

Source: https://ccam.dev/ur/features/pick/ · Updated 2026-10-20

`ccam pick` سب سے زیادہ گنجائش والے لاگ اِن شدہ اکاؤنٹ کا نام پرنٹ کرتا ہے، تاکہ کوئی اسکرپٹ اس سے Claude Code شروع کر سکے۔ ایک ہی وقت میں شروع ہونے والے ورکرز میں سے ہر ایک کو الگ اکاؤنٹ ملتا ہے جب تک گنجائش والے کافی اکاؤنٹس موجود ہوں، اس لیے `claude -p` جابز کا ایک بیچ ایک اکاؤنٹ کو خالی کرنے کے بجائے آپ کے اکاؤنٹس میں بٹ جاتا ہے۔

## استعمال

```sh
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
```

```console
$ 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` کے [انتخاب کے اصول](https://ccam.dev/ur/features/next.md#auto) باقیوں میں سے چنتے ہیں: پہلے `auto_max_usage` سے کم والے، حکمتِ عملی کے مطابق، اور کبھی 100% والا اکاؤنٹ نہیں۔
5. اگر گنجائش والے تمام اکاؤنٹس حال ہی میں چنے جا چکے ہوں تو اصول دوبارہ ان سب میں سے چنتے ہیں، اس لیے تین اکاؤنٹس پر چوتھا ورکر کسی ایک اکاؤنٹ میں شریک ہو جاتا ہے۔
6. انتخاب ریکارڈ ہوتا ہے اور لاک چھوڑ دیا جاتا ہے، پھر نام پرنٹ ہوتا ہے۔

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

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

- `ccam pick` صرف استعمال پڑھتا ہے اور انتخاب کا وقت لکھتا ہے؛ یہ کبھی ٹوکنز کی تجدید نہیں کرتا اور انہیں اس سے زیادہ نہیں پڑھتا جتنا `ccam usage` پڑھتا ہے۔
- انتخاب اکاؤنٹ کو ریزرو نہیں کرتا۔ 2 منٹ بعد دو اسکرپٹس پھر بھی ایک ہی اکاؤنٹ پر شروع ہو سکتے ہیں؛ جب وہ اکاؤنٹ اپنی حد کو پہنچے تو سنبھلنے کے لیے `--fallback` استعمال کریں۔
- `--wait` کے ساتھ انتظار کوئی لاک نہیں رکھتا، اس لیے اس دوران دوسرے انتخاب جاری رہتے ہیں۔
- `ccam pick`، [`ccam folder`](https://ccam.dev/ur/features/folder.md) کو نظر انداز کرتا ہے: یہ صرف استعمال کی بنیاد پر چنتا ہے۔

## متعلقہ

- [اگلے اکاؤنٹ پر جانا](https://ccam.dev/ur/features/next.md)
- [حد پر دوبارہ چلانا](https://ccam.dev/ur/features/next.md#run-again-at-the-limit)
- [استعمال کی حدیں](https://ccam.dev/ur/features/usage.md)
- [API key اکاؤنٹس](https://ccam.dev/ur/features/api.md)
