การเลือกบัญชีสำหรับสคริปต์
หน้านี้แปลด้วยเครื่องจากภาษาอังกฤษ ยินดีรับการแก้ไข แก้ไขหน้านี้บน GitHub
ccam pick พิมพ์ชื่อของบัญชีที่เข้าสู่ระบบแล้วซึ่งเหลือโควตามากที่สุด เพื่อให้สคริปต์ใช้เริ่ม Claude Code worker ที่เริ่มพร้อมกันจะได้บัญชีคนละบัญชีตราบใดที่มีบัญชีที่เหลือโควตามากพอ งาน 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 ไม่มีขีดจำกัดจึงไม่ถูกนับรวม)
- ccam ล็อก (
~/.local/state/ccam/picks.lock) เพื่อให้การเลือกที่รันพร้อมกันเกิดขึ้นทีละรายการ - ccam สอบถามการใช้งานของทุกบัญชีพร้อมกันแบบเดียวกับ
ccam usageโดยใช้แคช 60 วินาที - บัญชีที่ถูกเลือกภายใน 2 นาทีที่ผ่านมา (
~/.local/state/ccam/picks/<name>) จะถูกตัดออกก่อน แล้วกฎการเลือกของccam next --autoจะเลือกจากบัญชีที่เหลือ: บัญชีที่ต่ำกว่าauto_max_usageมาก่อน ตามกลยุทธ์ และไม่เลือกบัญชีที่อยู่ที่ 100% เด็ดขาด - หากทุกบัญชีที่เหลือโควตาเพิ่งถูกเลือกไป กฎจะเลือกจากบัญชีทั้งหมดอีกครั้ง worker ตัวที่สี่บนสามบัญชีจึงใช้บัญชีร่วมกับตัวอื่นหนึ่งบัญชี
- ccam บันทึกการเลือกและปลดล็อก จากนั้นจึงพิมพ์ชื่อ
ช่วง 2 นาทีมีความสำคัญ เพราะการใช้งานของงานใหม่ต้องใช้เวลาสักพักกว่าจะปรากฏในตัวเลข หากไม่มีช่วงนี้ worker ห้าตัวที่เริ่มพร้อมกันจะเห็นบัญชีเดียวกันว่าเป็นบัญชีที่เหลือโควตามากที่สุดทั้งหมด
ความปลอดภัยและกรณีพิเศษ
ccam pickอ่านแค่การใช้งานและเขียนเวลาที่เลือก ไม่เคยต่ออายุหรืออ่านโทเค็นเกินกว่าที่ccam usageทำ- การเลือกไม่ได้จองบัญชีไว้ สคริปต์สองตัวอาจยังเริ่มบนบัญชีเดียวกันหลังผ่านไป 2 นาที ใช้
--fallbackเพื่อกู้คืนเมื่อบัญชีนั้นถึงขีดจำกัด - การรอด้วย
--waitไม่ถือล็อกไว้ การเลือกอื่นจึงดำเนินต่อไปได้ระหว่างนั้น ccam pickไม่สนใจccam folderโดยเลือกตามการใช้งานเท่านั้น