Запустите Chatwoot Captain на кастомном OpenAI-совместимом эндпоинте.

Updated 2026-07-30

Self-hosted Chatwoot настраивает Captain через конфиги приложения в Super Admin: CAPTAIN_OPEN_AI_ENDPOINT, CAPTAIN_OPEN_AI_API_KEY и CAPTAIN_OPEN_AI_MODEL. Укажите эндпоинт https://api.apisrouter.com (Chatwoot сам добавит /v1) — и ваш ИИ поддержки отвечает на любой модели каталога через один ключ.

Короткий ответ: три конфига Captain в Super Admin.

В текущем self-hosted Chatwoot настройки LLM для Captain — это конфиги инсталляции, а не переменные .env; поставляемый .env.example говорит об этом прямо и отправляет вас в Super Admin, App Configs, Captain. Важны три значения: CAPTAIN_OPEN_AI_API_KEY принимает ключ шлюза, CAPTAIN_OPEN_AI_MODEL принимает id модели, а CAPTAIN_OPEN_AI_ENDPOINT принимает хост эндпоинта. У значения эндпоинта есть один острый угол: вводите его без суффикса /v1. Инициализатор Chatwoot сам строит базу API, обрезая завершающий слэш и добавляя /v1, а собственное описание конфига показывает значение по умолчанию как https://api.openai.com/ именно в такой форме. Для APIsRouter введите https://api.apisrouter.com и дайте Chatwoot вывести https://api.apisrouter.com/v1. Эти конфиги читаются при загрузке приложения, так что перезапустите Chatwoot после их изменения.

CAPTAIN_OPEN_AI_API_KEY:  sk-YOUR-APISROUTER-KEY
CAPTAIN_OPEN_AI_MODEL:    claude-haiku-4-5-20251001
CAPTAIN_OPEN_AI_ENDPOINT: https://api.apisrouter.com
                          (no /v1 -- Chatwoot appends it)

then restart the Chatwoot processes

Что Captain делает с настроенной моделью.

Chatwoot (около 34K звёзд на GitHub) — ведущая open-source платформа поддержки клиентов, а Captain — её ИИ-слой: ИИ-агент, отвечающий на диалоги клиентов на основе статей вашего help-центра и FAQ, копилот, который черновит ответы и суммирует переписку для агентов-людей, а также функции знаний с опорой на документы позади обоих. На self-hosted инсталляциях, где Captain доступен, всё это работает через модель, настроенную выше. Под капотом Chatwoot настраивает свой agents SDK один раз при загрузке: ключ, выведенную базу API и модель по умолчанию. Каждая функция Captain затем говорит на стандартных chat completions с этой базой url, а id модели путешествует как обычная строка. Chatwoot действительно хранит карту префиксов имён моделей (claude-, gemini-, deepseek-), но использует её для маркировки телеметрии, а не для маршрутизации, так что id Claude или DeepSeek, заданный как CAPTAIN_OPEN_AI_MODEL, всё равно идёт на настроенный вами эндпоинт, как любая другая строка. У трафика поддержки характерный профиль стоимости: много диалогов, короткие ходы, обоснованные ответы, собранные из полученных статей. Это делает стоимость на диалог тем числом, которое имеет значение, и в ней доминируют входные токены из полученного контекста. Быстрый id хорошо справляется с тиром ассистента, а эскалация до более сильного id — это изменение одного конфига, когда вы хотите, чтобы копилот писал черновики лучше.

Полная настройка и деталь на момент загрузки.

Откройте консоль Super Admin на вашей инсталляции, перейдите в App Configs, выберите Captain, затем заполните три значения. Если ваш Chatwoot старше, чем появление конфига эндпоинта (это случилось в эпоху v4.4, в середине 2025 года), сначала обновитесь; на более старых версиях существовали только ключ и модель, а эндпоинт был захардкожен. Поскольку инициализатор читает эти конфиги во время загрузки приложения, изменения вступают в силу после перезапуска процессов web и worker. Это также означает, что неверное значение не падает во время сохранения; оно падает на первом запросе Captain после перезапуска, и это стоит знать, прежде чем отлаживать не в том месте. У Captain также есть сторона embedding: CAPTAIN_EMBEDDING_MODEL (по умолчанию text-embedding-3-small) питает поиск по документам вашего help-центра, и она резолвится против того же настроенного эндпоинта. Если вы перенаправляете эндпоинт на шлюз, убедитесь, что настроенный там id embedding действительно обслуживается эндпоинтом; иначе оставьте функции документов на их существующей настройке и проверьте их отдельно после переключения.

# Chatwoot will call <endpoint>/v1/chat/completions
curl -s https://api.apisrouter.com/v1/chat/completions \
  -H "Authorization: Bearer $APISROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-haiku-4-5-20251001",
       "messages":[{"role":"user","content":"ping"}]}'

Выбор модели для автоматизации поддержки.

Рабочий цикл оценки: прогнать неделю на быстром id, экспортировать цифры использования, затем прогнать команды с высокой нагрузкой на копилота на более сильном id и сравнить принятие черновиков, а не ощущения. Оба кандидата биллятся через один и тот же ключ, так что сравнение приходит уже с ценой.

  • Тир ИИ-агента — это объём: обоснованные ответы на основе полученных статей, тысячи диалогов в месяц. claude-haiku-4-5-20251001, gpt-5.4-mini и gemini-3.5-flash держат стоимость на диалог стабильной, не теряя дисциплины в опоре на источники.
  • Тир копилота читает целые переписки и черновит ответы для людей, где проявляется тон и суждение. claude-sonnet-4-6 — естественный шаг вверх, когда качество черновика определяет продуктивность агента.
  • Многоязычным службам поддержки стоит протестировать deepseek-v4-pro и gemini-3.5-flash на своём реальном языковом миксе; качество обоснованных ответов различается по языкам сильнее, чем предполагают англоязычные бенчмарки.
  • Стоимость на диалог измерима, а не теоретична: токены на диалог, умноженные на диалоги в месяц, прямо из лога использования.
  • Одна модель обслуживает все функции Captain на инсталляцию, так что выбирайте под доминирующую нагрузку и пересматривайте после недели реального использования.

Оплата по факту · дешевле официальных цен

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

МодельОфициальная ценаНаша цена
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.4 mini$0.75 / $4.50 per M$0.60 / $3.60 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M

Сбои, специфичные именно для Chatwoot Captain.

Двойной суффикс /v1 — классика. Поскольку Chatwoot добавляет /v1 к тому, что вы вводите, вставка https://api.apisrouter.com/v1 даёт запросы к /v1/v1/chat/completions, которые 404-ятся на шлюзе. Вводите хост без /v1. Изменения конфига, которые кажутся проигнорированными, — это правило перезапуска. Agents SDK настраивается один раз при загрузке из конфигов инсталляции; правка их в Super Admin без перезапуска оставляет старые значения живыми в каждом работающем процессе. Старые гайды указывают не на ту поверхность. Туториалы из более ранних версий Chatwoot настраивают OPENAI_API_KEY через переменные окружения или устаревшую интеграцию OpenAI; на текущих версиях поверхность — это конфиги Captain в Super Admin, и .env.example говорит об этом прямым текстом. Model-not-found на первом ответе Captain после переключения — это опечатка в id в CAPTAIN_OPEN_AI_MODEL; листинг /v1/models шлюза — авторитетное написание. Ошибки аутентификации означают, что ключ и конфиг эндпоинта не принадлежат друг другу. А если поиск по статьям или обоснование по документам деградирует, пока чат отвечает нормально, посмотрите на конфиг embedding — это отдельная модель, резолвящаяся против того же эндпоинта.

Кто направляет Chatwoot Captain через шлюз.

  • Self-hosted команды поддержки, которым нужно качество черновиков уровня Claude в копилоте без отдельного аккаунта у вендора и биллинговых отношений.
  • Службы с высоким объёмом, где ИИ-агент отвечает на большинство диалогов, и стоимость на диалог решает, окупается ли автоматизация; быстрые id каталога держат это число честным.
  • Команды, запускающие один Chatwoot на бренд или регион, замеряющие каждую инсталляцию своим собственным ключом, чтобы стоимость ИИ поддержки отчитывалась сама по каждому бренду.
  • Операторы, сравнивающие модели поддержки на реальном трафике: каждый кандидат — это одно значение конфига и перезапуск, а не миграция.
  • Разработчики без доступа к биллингу конкретного вендора. Доступ на основе пополнения без требования карты убирает зависимость от регистрации у каждого провайдера.

Проверьте эндпоинт и отладьте первый диалог.

Сначала проверьте вне Chatwoot: получите список моделей своим ключом и прогоните один chat completion против точного id, который вы задали в CAPTAIN_OPEN_AI_MODEL. Если это проходит, половина со стороны шлюза доказана, и всё остальное — на стороне Chatwoot. Затем перезапустите и понаблюдайте за первым взаимодействием Captain. Сбои аутентификации указывают на конфиг ключа; model-not-found — на конфиг модели; ошибки в форме 404 — на /v1, вставленный в конфиг эндпоинта. Если функции Captain просто не появляются, это доступность и лицензирование на вашем тире инсталляции, а не настройка эндпоинта. Как только диалоги начинают идти, консоль APIsRouter показывает модель на запрос, счётчики токенов и расходы. ИИ поддержки — это статья бюджета, накапливающаяся помесячно, и один ключ на инсталляцию превращает лог использования в отчёт о стоимости по каждой службе, который постоянно просит ваш финансовый отдел.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

Частые вопросы

Какой конфиг Chatwoot направляет Captain на кастомный OpenAI-совместимый эндпоинт?

CAPTAIN_OPEN_AI_ENDPOINT, задаваемый в консоли Super Admin в App Configs, Captain, наряду с CAPTAIN_OPEN_AI_API_KEY и CAPTAIN_OPEN_AI_MODEL. На текущих версиях это конфиги инсталляции, а не переменные .env.

Должен ли эндпоинт включать /v1?

Нет. Chatwoot обрезает завершающий слэш и сам добавляет /v1 при построении базы API. Введите https://api.apisrouter.com, и Chatwoot выведет https://api.apisrouter.com/v1; вставка /v1 самостоятельно даёт удвоенный путь, который 404-ится.

Может ли Captain работать на моделях Claude или DeepSeek?

Да. CAPTAIN_OPEN_AI_MODEL путешествует на настроенный эндпоинт как обычная строка; карта префиксов провайдеров Chatwoot только маркирует телеметрию. Работает любой id, который обслуживает шлюз, включая claude-haiku-4-5-20251001 и deepseek-v4-pro.

Почему изменение моего конфига не вступило в силу?

Настройки LLM для Captain читаются при загрузке приложения. Перезапустите процессы web и worker Chatwoot после редактирования конфигов в Super Admin; работающие процессы держат старые значения до этого момента.

Влияет ли конфиг эндпоинта на поиск по документам Captain?

Модель embedding (CAPTAIN_EMBEDDING_MODEL, по умолчанию text-embedding-3-small) резолвится против того же эндпоинта. Убедитесь, что эндпоинт обслуживает настроенный вами id embedding, либо проверьте функции документов отдельно после переключения.

Какая версия Chatwoot мне нужна?

Конфиг эндпоинта появился в эпоху v4.4, в середине 2025 года. Более ранние версии открывают только ключ и модель с захардкоженным эндпоинтом OpenAI, так что обновитесь, прежде чем направлять Captain на шлюз.