OpenCode через teamToken
OpenCode описывает провайдеров в своём JSON-конфиге, и teamToken заводится там как обычный OpenAI-совместимый. Ключ в файл не попадает, он подставляется из переменной окружения, так что конфиг спокойно живёт в дотфайлах под гитом.
Что это за инструмент
OpenCode это терминальный агент для работы с кодом. Провайдеры у него объявляются в конфиге, а не выбираются из встроенного списка, так что ждать, пока сервис туда добавят, не нужно.
Конфиг
Файл лежит в ~/.config/opencode/opencode.json. Если он у вас уже есть, блок провайдера добавляется к существующему, а не заменяет его.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"teamtoken": {
"npm": "@ai-sdk/openai-compatible",
"name": "TeamToken",
"options": {
"baseURL": "https://api.teamtoken.store/v1",
"apiKey": "{env:TEAMTOKEN_KEY}"
},
"models": { "gpt-5.6-sol": {}, "gpt-5.3-codex": {}, "gemini-3.1-pro": {} }
}
}
}export TEAMTOKEN_KEY="<ваш ключ>"Ключ в файле не хранится, и это важнее, чем кажется
Запись {env:TEAMTOKEN_KEY} означает подстановку из окружения в момент запуска. Сам ключ в JSON не попадает никогда.
Разница здесь не косметическая. Конфиг OpenCode обычно живёт в дотфайлах, а дотфайлы обычно лежат в репозитории, и ключ, вписанный строкой, уезжает туда вместе с ними. С подстановкой из окружения файл можно коммитить, не задумываясь.
Модель выбирается командой, а не в конфиге
Перечисленные в models модели становятся доступными, а переключение между ними происходит командой /models внутри самого инструмента. Так что менять конфиг ради другой модели не придётся, достаточно перечислить нужные один раз.
Имена должны совпадать с каталогом дословно. Полный список отдаёт GET /v1/models тем же ключом; в примере выше стоят три обычных для работы по коду.
Лимит трат на ключ
Терминальный агент работает длинными сессиями и обращается к модели без вашего участия. На ключ в кабинете ставится потолок в долларах, отдельно от общего баланса, и превысить его сессия не сможет.
Если не работает
provider, а не рядом с ним, и что JSON остался валидным после правки.TEAMTOKEN_KEY должна быть видна процессу. Подстановка из {env:…} берёт её из окружения запуска, а не из файла профиля, который вы правили в другом окне.models конфига. Список туда не подтягивается сам, модели перечисляются явно.