// интеграция

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
Значит её нет в models конфига. Список туда не подтягивается сам, модели перечисляются явно.
Работает ли из России
Да, эндпоинт открывается напрямую, пополнение картой, через СБП или криптой.
Рядом
ClineCodex CLIZed
Получить ключ