Аккаунты с ключом 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. Не храните настройки провайдера в общих настройках.