ฟีเจอร์

การสลับไปยังบัญชีถัดไป

อัปเดตล่าสุด 19 ตุลาคม 2569
ตรวจสอบกับ ccam 0.6.0 และ Claude Code 2.1.302

หน้านี้แปลด้วยเครื่องจากภาษาอังกฤษ ยินดีรับการแก้ไข แก้ไขหน้านี้บน GitHub

ในหน้านี้

ccam next เปิด Claude Code ด้วยบัญชีอื่นโดยที่คุณไม่ต้องระบุชื่อ ใช้เมื่อบัญชีถึงขีดจำกัดการใช้งาน: ccam next แบบธรรมดาจะเลือกบัญชีถัดจากบัญชีที่คุณใช้ล่าสุด --auto จะเลือกบัญชีที่เหลือโควตามากที่สุดในช่วง 5 ชั่วโมง และ --continue จะนำการสนทนาล่าสุดไปต่อในบัญชีใหม่

การใช้งาน

ccam next                       # the account after the one you used last
ccam next --auto                # the account with the lowest 5-hour usage
ccam next --continue            # the next account that shares history, with claude --continue
ccam next -c --auto             # both: lowest usage among accounts sharing history
ccam next -- -p "summarize"     # pass arguments to claude after --
ccam --dry-run next --auto      # print the choice and the command, start nothing
$ ccam --dry-run next
→ personal → work
CLAUDE_CONFIG_DIR=/home/you/.local/share/ccam/profiles/work /usr/local/bin/claude

ccam พิมพ์การสลับเป็น → <from> → <to> ทาง standard error จากนั้นเริ่ม Claude Code ด้วยบัญชีใหม่แบบเดียวกับ ccam <name> <from> คือบัญชีที่คุณใช้ล่าสุด อาร์กิวเมนต์หลัง -- จะส่งต่อให้ claude โดยไม่เปลี่ยนแปลง

ตัวเลือก

ตัวเลือก สิ่งที่ทำ ค่าเริ่มต้น
--auto เลือกบัญชีที่เข้าสู่ระบบแล้วซึ่งใช้งาน 5 ชั่วโมงน้อยที่สุด โดยข้ามบัญชีที่ใช้ไปถึง 100% ปิด
-c, --continue พิจารณาเฉพาะบัญชีที่ใช้ประวัติการสนทนาร่วมกับบัญชีที่คุณใช้ล่าสุด และเริ่ม claude --continue ปิด
-- <claude args> อาร์กิวเมนต์ที่ส่งให้ claude ต่อจากอาร์กิวเมนต์ของ ccam เอง ไม่มี
--dry-run รองรับ: พิมพ์ → <from> → <to> และบรรทัดคำสั่งที่จะรัน โดยไม่เริ่ม Claude Code และไม่บันทึกการเริ่ม ปิด

--auto และ --continue ใช้ร่วมกันได้ เมื่อใช้ --continue ตัวเลือก --continue จะถูกวางไว้ก่อนอาร์กิวเมนต์ของคุณ

วิธีการทำงาน

การเริ่มทุกครั้งผ่าน ccam จะเขียนเวลาลงใน ~/.local/state/ccam/last-used/<name> ccam next อ่านไฟล์เหล่านี้ ตรวจว่าบัญชีใดเข้าสู่ระบบแล้ว แล้วจึงเลือก

  1. cli.candidates สร้าง next.Candidate หนึ่งรายการต่อบัญชีจาก config.toml: ได้แก่ บัญชี เวลาที่เริ่มครั้งล่าสุด (launcher.LastUsed) และบัญชีนั้นมีการเข้าสู่ระบบหรือไม่ (creds.Has: มี .credentials.json ที่อ่านได้ หรือบน macOS มีรายการในพวงกุญแจ (Keychain))
  2. หากไม่ใส่ --auto next.Rotate จะเรียงบัญชีตามหมายเลขสล็อตและหาบัญชีที่เริ่มล่าสุด ซึ่งคือบัญชีที่คุณกำลังสลับออก หากยังไม่มีบัญชีใดถูกเริ่มเลย จะใช้สล็อตต่ำสุด
  3. จากตรงนั้นจะไล่ไปข้างหน้าตามลำดับสล็อต วนจากสล็อตสุดท้ายกลับไปสล็อตแรก และคืนบัญชีแรกที่เข้าสู่ระบบแล้ว
  4. launcher.LaunchWith เตรียมและเริ่มบัญชีที่เลือกเหมือนกับที่ ccam <name> ทำทุกประการ: ตรวจลิงก์ของบัญชี ใช้การตั้งค่า MCP ที่ใช้ร่วมกัน ลงทะเบียนเซสชัน และแทนที่ ccam ด้วย claude ผ่าน syscall.Exec

การไล่เริ่มที่บัญชีที่ใช้ล่าสุด และหยุดที่บัญชีแรกที่เข้าสู่ระบบแล้วซึ่งอยู่ถัดไป:

work ถูกเริ่มล่าสุด การไล่จึงเริ่มต่อจากบัญชีนี้ side ไม่มีการเข้าสู่ระบบจึงถูกข้าม และเลือก lab หาก lab ออกจากระบบไปแล้วด้วย การไล่จะวนกลับไปที่ personal (% len ในแผนภาพ) การหมุนเวียนไม่มีทางคืนบัญชีที่คุณเริ่มต้นมา: หากไม่มีบัญชีอื่นที่เข้าสู่ระบบแล้ว จะหยุดพร้อมข้อผิดพลาด

--auto

--auto ตัดสินจากการใช้งานแทนลำดับสล็อต cli.pickAuto เก็บบัญชีที่เข้าสู่ระบบแล้วไว้ สอบถามการใช้งานของทุกบัญชีพร้อมกันด้วย Fetcher.FetchAll ตัวเดียวกับที่ ccam usage ใช้ และให้ usage.Best() เป็นผู้เลือก:

usage.Best() เลือกเปอร์เซ็นต์ 5 ชั่วโมงที่ต่ำที่สุด และข้ามบัญชีที่ใช้ไปถึง 100% หรือไม่ทราบการใช้งาน 5 ชั่วโมง การสอบถามทำตามกฎของ ccam usage: ตัวเลขที่ดึงมาเมื่อไม่ถึง 60 วินาทีที่แล้วจะถูกนำกลับมาใช้ แต่ละบัญชีมีเวลา 3 วินาที และบัญชีที่ไม่ตอบกลับหรือการเข้าสู่ระบบหมดอายุแล้วจะถูกตัดสินจากตัวเลขที่บันทึกไว้ ช่วงเวลาที่บันทึกไว้ซึ่งเลยเวลารีเซ็ตไปแล้วจะนับเป็น 0% บัญชีที่ช่วงเวลารีเซ็ตไปแล้วจึงไม่ถูกมองข้าม --auto ไม่เคยต่ออายุโทเค็น ต่างจากการหมุนเวียนแบบธรรมดา --auto อาจเลือกบัญชีที่คุณใช้ล่าสุดได้หากบัญชีนั้นยังเหลือโควตามากที่สุด

--continue

--continue ของ Claude Code เปิดการสนทนาล่าสุดในโฟลเดอร์ปัจจุบัน ซึ่งจะใช้ได้ก็ต่อเมื่อบัญชีใหม่มองเห็นการสนทนานั้น ดังนั้นเมื่อใช้ --continue ccam จะพิจารณาเฉพาะบัญชีที่อยู่ในกลุ่ม history เดียวกับบัญชีที่คุณใช้ล่าสุด แล้ววาง --continue ไว้หน้าอาร์กิวเมนต์ของคุณ บัญชีที่ประวัติเป็น local ไม่ได้ใช้ร่วมกับใครเลย --continue จากบัญชีแบบนั้นจึงล้มเหลวเสมอ ให้เปิดการใช้ร่วมกันก่อนด้วย ccam share <name> --history on (ดูที่การใช้ร่วมกัน)

ความปลอดภัยและกรณีพิเศษ

  • บัญชีที่ไม่มีการเข้าสู่ระบบจะไม่ถูกเลือกเลย หากไม่มีบัญชีอื่นที่เข้าสู่ระบบแล้ว ccam next แบบธรรมดาจะหยุดด้วย no logged-in account other than <name>
  • เมื่อใช้ --continue และไม่มีบัญชีใดใช้ประวัติร่วมกัน: no other account shares conversation history with <name>. Turn it on with `ccam share <name> --history on`
  • เมื่อใช้ --auto และไม่มีบัญชีที่เข้าสู่ระบบแล้ว: no logged-in account to pick เมื่อทุกบัญชีเต็มหรือไม่ทราบการใช้งาน: no account with known usage and headroom (see `ccam usage`)
  • --auto ส่งคำขอผ่านเครือข่ายแม้จะใส่ --dry-run โดยจะอ่านเท่านั้น และไม่เคยเขียนไฟล์โทเค็น
  • บัญชีที่เลือกจะเริ่มผ่านเส้นทางเดียวกับ ccam <name> จึงผ่านการตรวจแบบเดียวกัน รวมถึงคำเตือนเมื่อมี Claude Code อีกตัวที่ใช้ประวัติเดียวกันกำลังทำงานอยู่ในโฟลเดอร์นี้
  • last-used จะถูกเขียนเฉพาะเมื่อ Claude Code เริ่มทำงานจริง --dry-run จะไม่แตะไฟล์นี้ การทดลองรันจึงไม่ทำให้การหมุนเวียนเลื่อนไปข้างหน้า