Подключение opencodex к Detta
opencodex — инструмент, который запускает Codex и Claude Code поверх любого LLM-провайдера. Провайдеры настраиваются в веб-дашборде opencodex (или вручную в ~/.opencodex/config.json). Detta подключается как кастомный провайдер с адаптером Anthropic и endpoint Messages API:
https://api.detta.one/v1/messages
Перед началом
- Откройте панель Detta и войдите через Telegram.
- В Dashboard погасите код пополнения, если он у вас есть.
- В разделе API keys создайте ключ.
- Скопируйте ключ сразу: полный ключ показывается только один раз. Ключ имеет префикс
dk_. - Получите актуальный идентификатор модели из каталога: https://api.detta.one/v1/models или список моделей в Dashboard (раздел Модели).
Внимание: API-ключ — секрет.
Не публикуйте ключ в чатах, Git, issue, скриншотах или логах CI. Не сохраняйте реальный ключ в файлах конфигурации, которые попадают в репозиторий.
Подключение провайдера Detta
В дашборде opencodex:
- Откройте раздел Providers.
- Нажмите Add Provider и выберите Add a custom one (кастомный провайдер).
- Заполните поля:
| Поле | Значение |
|---|---|
| Provider name | Detta |
| Adapter | anthropic (Anthropic) |
| Base URL | https://api.detta.one/v1 |
| API key | ваш ключ dk_... из Dashboard |
- Сохраните провайдера.
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.
Проверка
- Выберите провайдера
Dettaи модель из каталога. - Отправьте короткий запрос и убедитесь, что ответ приходит без ошибки авторизации.
- Проверьте, что баланс 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: Adapteranthropic, Base URLhttps://api.detta.one/v1. - Модель взята из актуального каталога Detta.
- Первый запрос через opencodex успешен, баланс списан.
- В конфигах, логах и скриншотах, которые попадают в репозиторий, нет ключей и приватных prompt-ов.
Более подробно про Messages API Detta — в гайде для Anthropic-клиентов. Для OpenAI-совместимых клиентов используйте гайд OpenAI.