वैशिष्ट्ये

scripts साठी खाते निवडणे

लेखक: jhyunwoo
शेवटचे अपडेट २० ऑक्टोबर, २०२६
ccam 0.8.0 आणि Claude Code 2.1.302 सोबत तपासले

हे पान इंग्रजीतून मशीनद्वारे भाषांतरित केले आहे. दुरुस्त्यांचे स्वागत आहे. हे पान GitHub वर संपादित करा

या पानावर

ccam pick सर्वाधिक जागा असलेल्या लॉग इन केलेल्या खात्याचे नाव छापते, जेणेकरून एखादी script त्याने Claude Code सुरू करू शकेल. जागा असलेली खाती पुरेशी असेपर्यंत एकाच वेळी सुरू झालेल्या प्रत्येक worker ला वेगळे खाते मिळते, त्यामुळे claude -p jobs चा एक संच एकच खाते संपवण्याऐवजी तुमच्या खात्यांमध्ये विभागला जातो.

वापर

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"
}

Exit codes: standard output वर नावासह 0, कोणत्याही खात्यात जागा नसेल किंवा कोणतेही खाते लॉग इन नसेल तर 75 (EX_TEMPFAIL), आणि चुकीच्या flag सारख्या इतर त्रुटींसाठी 1.

पर्याय

पर्याय काय करते डीफॉल्ट
--json खाते, त्याचा 5 तासांचा आणि साप्ताहिक वापर, आणि आकडे कुठून आले ते छापा बंद
--model <model> त्या model ची साप्ताहिक window सुद्धा मोजा, जसे opus काहीही नाही
--max-usage <1-100> या वापराखालील खात्यांना प्राधान्य द्या auto_max_usage, नाहीतर 100
--strategy headroom|expiring सर्वात कमी 5 तासांचा वापर, किंवा सर्वात लवकर होणारा 5 तासांचा reset auto_strategy, नाहीतर headroom
--wait[=<duration>] कोणत्याही खात्यात जागा नसेल तर पहिले खाते reset होण्याची वाट पाहा, जास्तीत जास्त इतका वेळ बंद; एकटे दिल्यास 5h
--dry-run निवड नोंदवल्याशिवाय निवडा बंद

हे कसे काम करते

  1. ccam लॉग इन केलेल्या खात्यांची यादी करते (API key खात्यांना मर्यादा नसते, त्यामुळे ती वगळली जातात).
  2. ते एक lock (~/.local/state/ccam/picks.lock) घेते, जेणेकरून एकाच वेळी चालणाऱ्या निवडी एकामागून एक होतात.
  3. ते प्रत्येक खात्याचा वापर एकाच वेळी विचारते, ccam usage प्रमाणेच, 60 सेकंदांच्या cache सह.
  4. मागील 2 मिनिटांत निवडलेली खाती (~/.local/state/ccam/picks/<name>) आधी वगळली जातात, आणि उरलेल्यांतून ccam next --auto चे निवडीचे नियम निवडतात: आधी auto_max_usage खालची, strategy नुसार, आणि 100% वरचे खाते कधीच नाही.
  5. जागा असलेले प्रत्येक खाते नुकतेच निवडले गेले असेल तर नियम पुन्हा त्या सर्वांतून निवडतात, त्यामुळे तीन खात्यांवर चौथा worker एखादे खाते शेअर करतो.
  6. निवड नोंदवली जाते आणि lock सोडला जातो, मग नाव छापले जाते.

2 मिनिटांची window महत्त्वाची आहे कारण नवीन job चा वापर आकड्यांमध्ये दिसायला थोडा वेळ लागतो: तिच्याशिवाय एकत्र सुरू झालेले पाच workers सर्वजण एकाच खात्याला सर्वाधिक जागा असलेले खाते म्हणून पाहतील.

सुरक्षितता आणि अपवादात्मक स्थिती

  • ccam pick फक्त वापर वाचते आणि निवडीची वेळ लिहिते; ccam usage जे करते त्यापलीकडे ते कधीच tokens नूतनीकरण करत नाही किंवा वाचत नाही.
  • निवड खाते राखून ठेवत नाही. 2 मिनिटांनंतर दोन scripts तरीही एकाच खात्यावर सुरू होऊ शकतात; ते खाते मर्यादा गाठेल तेव्हा सावरण्यासाठी --fallback वापरा.
  • --wait ने वाट पाहताना कोणताही lock धरला जात नाही, त्यामुळे दरम्यान इतर निवडी चालू राहतात.
  • ccam pick ccam folder कडे दुर्लक्ष करते: ते फक्त वापरावरून निवडते.