Переключение ключей и профилей
Несколько ключей tkbk.io под prod/CI/эксперименты: переменные окружения, скрипты-обёртки для bash и PowerShell, изоляция лимитов.
Держать один ключ на всё — риск: агент в цикле может выесть дневной лимит, а CI смешает статистику с ручной работой. Заведите отдельные ключи cr_xxx под разные задачи и переключайтесь между ними скриптами-обёртками.
prod / ci / experiment одной командой, с изолированными лимитами и раздельной статистикой по каждому ключу.#Стратегия ключей
- Создайте в кабинете tkbk.io отдельные ключи с говорящими метками:
prod,ci,experiment. - Каждому задайте свой дневной лимит: боевому — высокий, экспериментальному — низкий.
- Экспериментальный ключ не жалко ротировать, если он утёк в лог или историю команд.
#Переменные под каждый профиль
Инструменты Claude и OpenAI читают разные переменные. Обёртка должна выставлять нужную пару под выбранный профиль.
| Инструмент | Переменная base | Переменная ключа |
|---|---|---|
| Claude Code | ANTHROPIC_BASE_URL | ANTHROPIC_AUTH_TOKEN |
| Codex / OpenAI SDK | OPENAI_BASE_URL | OPENAI_API_KEY |
#Обёртка для bash / zsh
Функция tkbk выбирает профиль по имени и экспортирует переменные в текущую оболочку. Ключи храните в отдельном файле вне репозитория.
export TKBK_KEY_PROD="cr_xxx_prod"
export TKBK_KEY_CI="cr_xxx_ci"
export TKBK_KEY_EXPERIMENT="cr_xxx_exp"source ~/.tkbk-keys.sh
tkbk() {
local profile="$1"
local key
case "$profile" in
prod) key="$TKBK_KEY_PROD" ;;
ci) key="$TKBK_KEY_CI" ;;
exp) key="$TKBK_KEY_EXPERIMENT" ;;
*) echo "usage: tkbk {prod|ci|exp}"; return 1 ;;
esac
export ANTHROPIC_BASE_URL="https://api.tkbk.io/claude"
export ANTHROPIC_AUTH_TOKEN="$key"
export OPENAI_BASE_URL="https://api.tkbk.io/openai/v1"
export OPENAI_API_KEY="$key"
echo "tkbk profile: $profile"
}#Обёртка для PowerShell
$TkbkKeys = @{
prod = "cr_xxx_prod"
ci = "cr_xxx_ci"
exp = "cr_xxx_exp"
}
function Switch-Tkbk {
param([ValidateSet("prod","ci","exp")][string]$Profile)
$key = $TkbkKeys[$Profile]
$env:ANTHROPIC_BASE_URL = "https://api.tkbk.io/claude"
$env:ANTHROPIC_AUTH_TOKEN = $key
$env:OPENAI_BASE_URL = "https://api.tkbk.io/openai/v1"
$env:OPENAI_API_KEY = $key
Write-Host "tkbk profile: $Profile"
}#Использование
- 1Выберите профиль
В bash:
tkbk exp. В PowerShell:Switch-Tkbk exp. - 2Запустите инструмент
claudeилиcodexподхватят переменные текущей сессии. - 3Проверьте активный профиль
echo $ANTHROPIC_AUTH_TOKEN(bash) — сравните хвост ключа с ожидаемым.
.gitignore) и с правами 600. Переменные живут только в текущей оболочке — в новом окне переключение нужно повторить. В CI ключ подавайте секретом раннера, а не через скрипт из репозитория.