บัญชี API key
หน้านี้แปลด้วยเครื่องจากภาษาอังกฤษ ยินดีรับการแก้ไข แก้ไขหน้านี้บน GitHub
บัญชี API key เริ่ม Claude Code ด้วย API key แทนการเข้าสู่ระบบแบบสมัครสมาชิก Claude: API ของ Anthropic หรือ endpoint ที่ใช้รูปแบบ Messages เดียวกัน เช่น เกตเวย์ LiteLLM หรือ OpenRouter ccam ไม่เก็บคีย์ไว้ แต่จะอ่านคีย์ทุกครั้งที่บัญชีเริ่มทำงาน จากตัวแปรสภาพแวดล้อมหรือจากคำสั่ง เช่น โปรแกรมจัดการรหัสผ่าน และส่งให้เฉพาะโปรเซส Claude Code นั้นเท่านั้น
การใช้งาน
ccam add api --api --key-from env:ANTHROPIC_KEY_WORK
ccam add gw --api --base-url https://llm.example.com --auth bearer \
--model claude-sonnet-5-5 --key-from 'command:pass show llm/gateway-key'
ccam add mac --api --key-from 'command:security find-generic-password -s anthropic-api -w'
ccam gw -p "summarise the open issues"
ccam list$ ccam list
# Name Shortcut Email Shared Last used
* 1 personal - me@example.com mcp settings md ext 2h ago
2 gw - (API: llm.example.com) mcp settings md ext -บัญชี API key ใช้การตั้งค่า CLAUDE.md ส่วนขยาย และเซิร์ฟเวอร์ MCP ร่วมกันเหมือนบัญชีอื่น และใช้งานได้กับคำสั่งลัด ccam folder และ ccam ext
ตัวเลือก
| ตัวเลือก | สิ่งที่ทำ | ค่าเริ่มต้น |
|---|---|---|
--api |
เพิ่มบัญชี API key แทนการเข้าสู่ระบบ | ปิด |
--key-from env:NAME |
อ่านคีย์จากตัวแปรสภาพแวดล้อม NAME |
|
--key-from command:COMMAND |
รัน COMMAND (ด้วย sh -c หรือ cmd /C บน Windows) และใช้บรรทัดแรกที่พิมพ์ออกมา |
|
--base-url <url> |
endpoint (ANTHROPIC_BASE_URL) |
API ของ Anthropic |
--auth api-key|bearer |
ส่งคีย์เป็น ANTHROPIC_API_KEY (x-api-key) หรือเป็น ANTHROPIC_AUTH_TOKEN (Authorization: Bearer ซึ่งเกตเวย์มักต้องการ) |
api-key |
--model <model> |
โมเดล (ANTHROPIC_MODEL) |
ค่าเริ่มต้นของ Claude Code |
การตั้งค่าถูกเก็บไว้ใน config.toml:
[[profile]]
name = 'gw'
slot = 2
[profile.api]
base_url = 'https://llm.example.com'
key_from = 'command:pass show llm/gateway-key'
auth = 'bearer'
model = 'claude-sonnet-5-5'วิธีการทำงาน
ทุกครั้งที่บัญชีเริ่มทำงาน หลังการตรวจตามปกติและก่อนที่ Claude Code จะเริ่ม:
- ccam อ่านคีย์:
env:จากสภาพแวดล้อม ส่วนcommand:โดยรันคำสั่งด้วยเวลาจำกัด 30 วินาที คำสั่งสามารถขอรหัสผ่านทางเทอร์มินัลได้ และเอาต์พุตข้อผิดพลาดของคำสั่งก็ไปที่เทอร์มินัลด้วย คีย์ที่ว่างจะหยุดการเริ่มพร้อมข้อความที่บอกว่าคาดว่าคีย์จะอยู่ที่ใด - ccam ลบตัวแปรที่สืบทอดมาทุกตัวที่กำหนดว่า Claude Code จะเข้าสู่ระบบอย่างไรหรือใช้ผู้ให้บริการรายใด:
ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKEN,CLAUDE_CODE_OAUTH_TOKEN,ANTHROPIC_BASE_URL,ANTHROPIC_MODEL,CLAUDE_CODE_USE_BEDROCK,CLAUDE_CODE_USE_VERTEXและCLAUDE_CODE_USE_FOUNDRYคีย์ที่ตั้งไว้ใน shell เพื่อใช้กับอย่างอื่นจึงไปไม่ถึงบัญชีนี้ และการเข้าสู่ระบบแบบสมัครสมาชิกก็ไม่สามารถชนะคีย์ของบัญชีนี้ได้ - ccam ตั้ง
ANTHROPIC_BASE_URLและANTHROPIC_MODELเมื่อระบุไว้ และตั้งคีย์เป็นANTHROPIC_API_KEYหรือANTHROPIC_AUTH_TOKEN
บัญชีที่เข้าสู่ระบบแบบสมัครสมาชิกยังคงใช้สภาพแวดล้อมที่สืบทอดมาเหมือนเดิม ในเซสชันแบบโต้ตอบ Claude Code อาจถามหนึ่งครั้งว่าจะใช้คีย์ที่พบในสภาพแวดล้อมหรือไม่
ความปลอดภัยและกรณีพิเศษ
- คีย์ไม่เคยถูกเขียนลงใน
config.tomlแคช หรือล็อก และccam --dry-run gwไม่อ่านคีย์: การทดลองรันจะไม่รันแหล่งcommand: ccam add --apiตรวจแหล่งenv:ทันทีและเตือนหากตัวแปรว่าง ส่วนแหล่งcommand:จะถูกรันครั้งแรกตอนเริ่มบัญชีccam loginและccam logoutปฏิเสธบัญชี API key เพราะบัญชีนี้ไม่มีการเข้าสู่ระบบccam doctorแสดง endpoint และแหล่งของคีย์ และเตือนเมื่อตัวแปรenv:ว่างccam usageแสดงAPIสำหรับบัญชีนี้ccam next --auto,--fallbackและccam pickเลือกจากบัญชีแบบสมัครสมาชิกเท่านั้น เพราะ API key ไม่มีขีดจำกัด 5 ชั่วโมงหรือรายสัปดาห์ให้เปรียบเทียบsettings.jsonที่ใช้ร่วมกันซึ่งมีบล็อกenvหรือapiKeyHelperจะมีผลกับทุกบัญชีในกลุ่ม รวมถึงบัญชี API key ด้วย อย่าใส่การตั้งค่าผู้ให้บริการไว้ในการตั้งค่าที่ใช้ร่วมกัน