# Свои провайдеры (BYOK)

> Как добавить совместимый с OpenAI или Anthropic провайдер в Kodik: базовый URL, ключ, заголовки, формат, обнаружение моделей, индикатор здоровья.

Источник: https://docs.kodik.ru/models/custom-providers

Custom Provider позволяет подключить любой API, совместимый с форматом OpenAI или Anthropic. Сюда входят как крупные облачные сервисы (OpenRouter, Groq, Mistral и другие), так и локальные прокси и любые самостоятельно развёрнутые серверы.

![Image](https://docs.kodik.ru/img/image43.png)

## Добавление провайдера

Перейдите в настройки Kodik → **Провайдер** → **Custom Provider** → **Добавить провайдера**. Укажите следующие параметры:

| Поле                       | Описание                                                            |
| -------------------------- | ------------------------------------------------------------------- |
| Название                   | Произвольное имя для отображения в интерфейсе                       |
| Базовый URL                | Корневой адрес API (см. [требования к URL](#требования-к-url))      |
| API Key                    | Ключ авторизации (опционально, если эндпоинт не требует)            |
| Формат                     | `openai` (по умолчанию) или `anthropic`                             |
| Пользовательские заголовки | Дополнительные HTTP-заголовки через интерфейс ключ–значение         |
| Стриминг                   | Включён по умолчанию; отключите, если провайдер его не поддерживает |

После сохранения Kodik немедленно проверяет доступность провайдера и обновляет список его моделей.

:::note[Требование к подписке]
Добавление, переключение на свои провайдеры **и их использование** требует входа в аккаунт с платной подпиской Kodik. Kodik определяет это по профилю аккаунта, а не по плану, зашитому в токен входа (который может оставаться действительным ещё долго после смены плана), и запоминает результат последней успешной проверки — поэтому свои провайдеры продолжают работать офлайн после подтверждения, а при окончании платного плана блокируются при следующей возможности связаться с аккаунтом. Пока доступа нет, кнопка **Добавить провайдера** заблокирована, модели своих провайдеров неактивны в выборе модели, а запуск задачи на своём провайдере блокируется. Удаление уже существующего провайдера доступно всегда.
:::

## Требования к URL

- Принимаются и `http://`, и `https://` базовые URL — для любых эндпоинтов, локальных и удалённых. Хост, указанный без схемы, считается `http://`.
- Эндпоинты `/responses` не поддерживаются — используйте базовый URL или путь `/chat/completions`.
- Если вы вводите URL с суффиксом `/chat/completions` для формата OpenAI или `/messages` для формата Anthropic, Kodik автоматически определяет правильный базовый путь.

:::caution[Несовпадение формата и URL]
Kodik покажет ошибку, если URL заканчивается на `/messages` (Anthropic), а выбранный формат — `openai`, и наоборот. Убедитесь, что формат совпадает с API вашего провайдера.
:::

## Обнаружение моделей

При добавлении или обновлении провайдера Kodik запрашивает список моделей по эндпоинту `/models` или `/v1/models`. Обнаруженные модели включаются в список выбора — вместе с метаданными: именем, описанием, размером контекстного окна и флагами поддержки изображений и инструментов, если провайдер их возвращает.

В карточке провайдера у каждой модели показаны значки возможностей ИЗОБРАЖЕНИЯ, ИНСТРУМЕНТЫ и РАССУЖДЕНИЕ — это кликабельные переключатели (цветной = включено, приглушённый = выключено). Если автоматическое определение не совпадает с реальными возможностями модели, нажмите значок, чтобы переключить возможность.

Когда у выбранной модели своего провайдера включена поддержка изображений, кнопка чата **Добавить файлы и изображения** принимает изображения и отправляет их как image-вложения. Для моделей без поддержки изображений выбор остаётся ограничен обычным файловым контекстом.

Значение «Контекст» в строке модели тоже редактируется по клику. Задайте реальный размер окна для моделей, у которых провайдер его не сообщает — иначе Kodik исходит из 128k, и небольшие локальные модели переполняются посреди задачи. Заданное вручную значение сохраняется при обновлениях каталога; очистите поле, чтобы вернуться к автоматическому режиму.

:::tip[LM Studio]
Укажите в качестве базового URL провайдера `http://localhost:1234/api/v0` — родной REST-каталог LM Studio сообщает возможности каждой модели и размер контекста, с которым она реально загружена, поэтому значки и контекст заполняются автоматически.
:::

Модели с поддержкой рассуждения получают селектор режима рассуждения в выборе модели чата — тот же элемент управления, что и у моделей Kodik. Когда каталог провайдера сообщает режимы рассуждения модели (родной API LM Studio передаёт точный список вариантов и режим по умолчанию), Kodik предлагает именно их — без догадок: вариант провайдера по умолчанию выбран заранее. Если каталог ничего не сообщает, используется стандартный список усилий (None…X-High) с предвыбранным Medium. Ваш выбор сохраняется на модели и применяется к каждому запросу — как `reasoning_effort` для провайдеров формата OpenAI, как унифицированный объект `reasoning` для OpenRouter или в виде бюджета размышления для формата Anthropic.

Если первый ответ каталога моделей пустой, Kodik немного подождёт и повторит запрос перед показом списка выбора. Если эндпоинт моделей недоступен или по-прежнему возвращает пустой список, Kodik всё равно позволит использовать провайдера — просто выберите модель вручную.

## Индикатор здоровья

Рядом с каждым провайдером в списке отображается цветной индикатор:

| Цвет    | Статус      | Описание                               |
| ------- | ----------- | -------------------------------------- |
| Зелёный | ok          | Провайдер отвечает быстро              |
| Жёлтый  | degraded    | Ответ занял более 3 секунд             |
| Красный | unreachable | Провайдер недоступен или вернул ошибку |

Kodik проверяет здоровье каждого провайдера раз в минуту, запрашивая список его моделей. Статус обновляется автоматически без перезагрузки.

## Автоматическое определение известных сервисов

Kodik распознаёт популярные сервисы по базовому URL и автоматически применяет подходящие настройки по умолчанию:

| Сервис      | URL              | Формат по умолчанию |
| ----------- | ---------------- | ------------------- |
| OpenRouter  | `openrouter.ai`  | openai              |
| Groq        | `groq.com`       | openai              |
| Together AI | `together.xyz`   | openai              |
| Mistral     | `mistral.ai`     | openai              |
| Perplexity  | `perplexity.ai`  | openai              |
| Fireworks   | `fireworks.ai`   | openai              |
| DeepSeek    | `deepseek.com`   | openai              |
| LM Studio   | `localhost:1234` | openai              |
| LiteLLM     | `localhost:4000` | openai              |

Для нераспознанных URL Kodik использует формат `openai` по умолчанию. Вы можете переопределить любой параметр вручную.

Распознавание влияет только на оформление и настройки подключения по умолчанию — оно никогда не ограничивает возможности провайдера. Поддержка инструментов включена у каждой модели независимо от того, где размещён провайдер, поэтому агентные функции (правка файлов, терминал, MCP-серверы) работают сразу; возможность отключается только если каталог моделей самого провайдера сообщает, что модель её не поддерживает.

## Пользовательские заголовки

Раздел **Пользовательские заголовки** позволяет добавить произвольные HTTP-заголовки к каждому запросу. Это полезно, например, для аутентификации через `X-Custom-Auth` или для передачи параметров маршрутизации, специфичных для провайдера.

## Изменение и удаление провайдеров

Нажмите на карточку провайдера, чтобы открыть его настройки, и внесите необходимые изменения. Удалить провайдера можно кнопкой **Удалить провайдера** внутри той же карточки.

:::caution
При удалении провайдера, который выбран как провайдер субагента, его настройки субагента автоматически сбрасываются. Подробнее: [модель субагентов](https://docs.kodik.ru/models/sub-agent-model).
:::
