API 金鑰帳號
本頁由英文機器翻譯而成,歡迎提供修正。 在 GitHub 上編輯此頁
API 金鑰帳號會以 API 金鑰而不是 Claude 訂閱登入來啟動 Claude Code:可以是 Anthropic 的 API,也可以是支援相同 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 金鑰帳號和其他帳號一樣共用設定、CLAUDE.md、擴充功能和 MCP 伺服器,也能搭配快捷指令、ccam folder 和 ccam ext 使用。
選項
| 選項 | 作用 | 預設值 |
|---|---|---|
--api |
新增 API 金鑰帳號,而不是登入 | 關閉 |
--key-from env:NAME |
從環境變數 NAME 讀取金鑰 |
|
--key-from command:COMMAND |
執行 COMMAND(使用 sh -c,在 Windows 上使用 cmd /C),並使用它印出的第一行 |
|
--base-url <url> |
端點(ANTHROPIC_BASE_URL) |
Anthropic 的 API |
--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 秒的時間限制執行指令。指令可以在終端機上要求輸入密碼;它的錯誤輸出也會送到終端機。金鑰為空時,啟動會停止,並顯示應該從哪裡取得金鑰。 - 它會移除所有繼承而來、決定 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 中的金鑰不會傳到這個帳號,訂閱登入也不會蓋過它的金鑰。 - 有指定時,它會設定
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 金鑰帳號,因為它沒有登入。ccam doctor會顯示它的端點和金鑰來源,並在env:變數為空時發出警告。ccam usage會為它顯示API。ccam next --auto、--fallback和ccam pick只在訂閱帳號中選擇,因為 API 金鑰沒有可以比較的 5 小時或每週限制。- 含有
env區塊或apiKeyHelper的共用settings.json會套用到群組中的每個帳號,包括 API 金鑰帳號。請不要把供應商設定放在共用的設定中。