Перейти к основному содержимому

Подключение opencodex к Detta

opencodex — инструмент, который запускает Codex и Claude Code поверх любого LLM-провайдера. Провайдеры настраиваются в веб-дашборде opencodex (или вручную в ~/.opencodex/config.json). Detta подключается как кастомный провайдер с адаптером Anthropic и endpoint Messages API:

https://api.detta.one/v1/messages

Перед началом​

  1. Откройте панель Detta и войдите через Telegram.
  2. В Dashboard погасите код пополнения, если он у вас есть.
  3. В разделе API keys создайте ключ.
  4. Скопируйте ключ сразу: полный ключ показывается только один раз. Ключ имеет префикс dk_.
  5. Получите актуальный идентификатор модели из каталога: https://api.detta.one/v1/models или список моделей в Dashboard (раздел Модели).

Внимание: API-ключ — секрет.

Не публикуйте ключ в чатах, Git, issue, скриншотах или логах CI. Не сохраняйте реальный ключ в файлах конфигурации, которые попадают в репозиторий.

Подключение провайдера Detta​

В дашборде opencodex:

  1. Откройте раздел Providers.
  2. Нажмите Add Provider и выберите Add a custom one (кастомный провайдер).
  3. Заполните поля:
ПолеЗначение
Provider nameDetta
Adapteranthropic (Anthropic)
Base URLhttps://api.detta.one/v1
API keyваш ключ dk_... из Dashboard
  1. Сохраните провайдера.

Base URL указывайте без /v1/messages. Anthropic-адаптер opencodex сам добавляет /v1/messages к запросам (нормализует завершающие /v1 или /v1/messages в один /v1/messages), а обнаружение моделей в дашборде (раздел Models) обращается к {base}/v1/models — с полным endpoint https://api.detta.one/v1/messages этот запрос уходит на https://api.detta.one/v1/messages/v1/models и провайдер показывает «Models / discovery failed». Base URL https://api.detta.one/v1 работает и для чата, и для обнаружения моделей.

Внимание: если провайдер Detta уже добавлен в opencodex с Base URL https://api.detta.one/v1/messages, поменяйте его на https://api.detta.one/v1 (Providers → Detta → изменить поле Base URL) и сохраните. Обнаружение моделей заработает без переустановки.

Вместо literal-ключа в поле API key можно указать ссылку на переменную окружения ${DETTA_API_KEY} — opencodex подставит значение при запросе. Переменную храните в локальном секрет-менеджере, а не в репозитории.

Выбор модели​

  • Используйте точный id из актуального каталога Detta (https://api.detta.one/v1/models); идентификаторы чувствительны к регистру.
  • Модели «за токены» предназначены для обычного chat-запроса; модели «за единицу» (видео, изображения) через Messages endpoint не вызываются.
  • Detta передаёт tools и другие поля запроса downstream без изменений, но фактическая поддержка tool use определяется upstream-провайдером. Проверяйте инструменты отдельным тестовым запросом через ваш аккаунт Detta.

Проверка​

  1. Выберите провайдера Detta и модель из каталога.
  2. Отправьте короткий запрос и убедитесь, что ответ приходит без ошибки авторизации.
  3. Проверьте, что баланс Detta уменьшился после завершённого запроса (Dashboard → Баланс или история usage).

Диагностика​

«Models / discovery failed» в дашборде opencodex​

Обнаружение моделей Detta (раздел Models → бейдж «Discovery failed») обращается к {Base URL}/v1/models:

  • Base URL https://api.detta.one/v1 → запрос на https://api.detta.one/v1/models — работает;
  • Base URL https://api.detta.one/v1/messages → запрос на https://api.detta.one/v1/messages/v1/models — не работает.

Исправление: укажите Base URL https://api.detta.one/v1. Каталог публичный, API-ключ для списка моделей не требуется.

401 Unauthorized​

  • Используется активный ключ dk_... без лишних пробелов и кавычек.
  • Ключ не был отозван или заменён ротацией.
  • Для провайдера выбран API-ключ, а не OAuth-вход Anthropic: Detta работает только с ключом dk_....

402 или недостаточный баланс​

Погасите код пополнения в Dashboard и повторите запрос с тем же ключом. Не создавайте новый ключ: ключ не пополняет баланс.

404 для модели​

Сверьте id модели с текущим каталогом Detta. Идентификатор чувствителен к регистру; устаревшие модели могут исчезнуть из активного каталога.

502 или 504​

Это ошибка или недоступность downstream-провайдера. Повторите запрос позже и передайте поддержке время, endpoint, HTTP-статус и x-request-id, если он был в ответе. Не отправляйте API-ключ и полный приватный prompt.

Чек-лист перед первым запросом​

  • Вы вошли в Dashboard и пополнили баланс.
  • Создан активный ключ dk_... и сохранён в секрет-менеджере.
  • Провайдер Detta: Adapter anthropic, Base URL https://api.detta.one/v1.
  • Модель взята из актуального каталога Detta.
  • Первый запрос через opencodex успешен, баланс списан.
  • В конфигах, логах и скриншотах, которые попадают в репозиторий, нет ключей и приватных prompt-ов.

Более подробно про Messages API Detta — в гайде для Anthropic-клиентов. Для OpenAI-совместимых клиентов используйте гайд OpenAI.