Облікові записи з ключем API
Цю сторінку перекладено з англійської машинним способом. Виправлення вітаються. Редагувати цю сторінку на GitHub
Обліковий запис із ключем API запускає Claude Code з ключем API замість входу за підпискою Claude: для API Anthropic або для кінцевої точки, яка розуміє той самий формат 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 або cmd /C у Windows) і використати перший виведений рядок |
|
--base-url <url> |
Кінцева точка (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 секунд. Команда може запитати пароль у терміналі; її потік помилок теж іде в термінал. Порожній ключ зупиняє запуск із повідомленням про те, де очікувався ключ. - Він видаляє всі успадковані змінні, які визначають, як 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. Ключ, заданий у вашій оболонці для чогось іншого, не потрапить до цього облікового запису, а вхід за підпискою не візьме гору над його ключем. - Він задає
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-годинного чи тижневого ліміту для порівняння.- Спільний
settings.jsonіз блокомenvабоapiKeyHelperзастосовується до кожного облікового запису групи, зокрема до облікових записів із ключем API. Не тримайте налаштування провайдера в спільних налаштуваннях.