DOS_AI/ Документация
ОтзывыДля когоАгентствамВозможностиЦенаFAQОбучениеДокиВойтиСтарт
← Руководство
Старт
  • Что такое DOS AI
  • Как бот думает
  • Быстрый старт: первый бот за 30 минут
  • Карта кабинета (навигация)
  • Глоссарий
Проект и бот
  • Создание проекта
  • Системный промпт (характер бота)
  • JSON-ответ бота (статусы, стадии, флаги)
  • Выбор AI-модели
  • Тестовый чат
  • Продвинутые настройки бота
  • Загрузить знания о бизнесе в бота (что куда)
Каналы
  • Обзор каналов
  • Подключить WhatsApp (по QR)
  • Подключить Telegram-бота
  • Гигиена и антибан (WhatsApp)
Инструменты бота
  • Функции (инструменты бота)
  • База знаний (RAG)
  • Медиа-библиотека
  • Дожимы (follow-up)
  • Теги и сегментация
  • Уведомления владельцу (Telegram и почта)
  • Запись на время (Calendar и движок окошек)
  • Бот выставляет счёт (Kaspi)
  • Письмо клиенту
  • Рассылки по базе контактов
Работа с клиентами
  • Диалоги, лента, перехват, «AI на паузе»
  • Лиды и их статусы
  • Стадии диалога (воронка)
  • Аналитика
  • Логи событий
  • Авто-отчёты владельцу (Telegram и почта)
Интеграции
  • Обзор интеграций + сервисный аккаунт Google
  • Google Sheets
  • Google Calendar
  • Gmail
  • CRM, Bitrix24 / amoCRM / AlphaCRM
  • Вебхуки и безопасность (SSRF)
Деньги
  • Биллинг проекта: токены, подписка, пополнение
  • Сколько стоит сообщение
  • Приём оплат от клиентов (Kaspi)
  • Промокоды и партнёрская программа
Команда и аккаунт
  • Роли и права (viewer / tester / editor / admin / owner)
  • Участники и приглашения
  • Профиль, пароль, безопасность
  • Уведомления и личные настройки
  • Удаление, передача, дублирование проекта
Для разработчиков
  • Публичный API и ключи dos_sk_live_…
  • Кастомные вебхуки (продвинутый режим)
  • Язык выражений (expressions)
  • Формат данных и интеграция фронта
  • Подключить ИИ-агента: Claude Code, Codex, Cursor (MCP)
Решение проблем
  • Бот не отвечает, диагностика
  • Функция не вызывается / падает
  • Канал отвалился / WhatsApp забанили
  • Платёж не прошёл
  • Частые вопросы (FAQ)
  • Лиды из рекламы приходят с задержкой
Справочники
  • Каталог встроенных функций
  • Справочник настроек (agent_config)
  • Коды ошибок и состояния
  • Стадии, статусы лида, типы клиента
  • Лимиты и квоты
  • Переменные и хелперы выражений
  • Типы уведомлений

Документация › Для разработчиков › Подключить ИИ-агента

Подключить ИИ-агента (MCP)

[для разработчиков] Подключите Claude Code, Codex или Cursor к DOS AI одной командой и управляйте проектами прямо из своего ИИ-инструмента: «покажи вчерашних лидов», «поправь промпт», «сколько потратили за неделю».

⏱ 7 мин · 👤 для разработчика и интегратора · 🟢 live

За 30 секунд:
  • Адрес сервера: https://dosai.pro/api/mcp, авторизация тем же ключом dos_sk_live_…, что и у API.
  • В Claude Code подключается одной командой, в Codex и Cursor через конфиг.
  • Агент получает 13 инструментов: проекты, промпт, функции, лиды, диалоги, отправка сообщения, аналитика, баланс.
  • Удалять проекты и проводить платежи агент не может: этого нет в наборе инструментов намеренно.
  • Готовые команды с подставленным ключом лежат в кабинете: раздел для разработчиков.

Что это даёт

Обычный API нужно программировать. MCP (Model Context Protocol) это стандартный «разъём», через который ИИ-инструмент видит платформу как набор понятных действий и вызывает их сам, по просьбе на человеческом языке.

Практический смысл для интегратора, который ведёт несколько клиентов:

  • «Покажи все проекты, где вчера не было ни одного лида», вместо обхода кабинетов руками.
  • «Прочитай промпт барбершопа, добавь правило про запись на выходные, сохрани»: правка без переключения окон.
  • «Сколько диалогов и лидов у стоматологии за июль, какая конверсия»: сводка в одном ответе.
  • «Открой последний диалог и ответь клиенту, что мастер перезвонит в 10:00»: ответ оператором из терминала.

Шаг 1. Выпустить ключ

Ключ выпускается в кабинете, раздел для разработчиков (/developers). Подробно про права и область действия написано в статье Публичный API.

Что важно выбрать правильно:

ВыборКогдаЧто сможет агент
Только чтениеАналитика, отчёты, разбор диалоговСмотреть, но ничего не менять
Чтение и записьПравка промпта, ответы клиентамЕщё и менять промпт, статусы лидов, отправлять сообщения
Один проектРабота по одному клиентуТолько этот проект. dosai_list_projects вернёт ровно его, остальные недоступны
Весь аккаунтВедёте несколько проектовВсе проекты аккаунта
🔑 Ключ показывается один раз. Скопируйте сразу; потеряли, отзовите и выпустите новый.

Шаг 2. Подключить свой инструмент

Готовые команды с уже подставленным ключом появляются в кабинете сразу после создания ключа, проще скопировать оттуда. Ниже те же команды, если подключаете позже.

Claude Code

claude mcp add --transport http dosai https://dosai.pro/api/mcp \
  --header "Authorization: Bearer dos_sk_live_ВАШ_КЛЮЧ"

Проверка: claude mcp list, сервер dosai должен быть в списке. Дальше просто просите словами: «покажи мои проекты в DOS AI».

Codex

В ~/.codex/config.toml:

[mcp_servers.dosai]
url = "https://dosai.pro/api/mcp"
bearer_token_env_var = "DOSAI_KEY"

И ключ в профиль оболочки (~/.zshrc или ~/.bashrc):

export DOSAI_KEY="dos_sk_live_ВАШ_КЛЮЧ"

Так ключ не лежит в конфиге, который легко утащить в репозиторий или синхронизировать между машинами. Если ваш Codex ругается на поле url, он старый: обновите его, поддержка удалённых серверов там встроенная.

Cursor

В ~/.cursor/mcp.json:

{
  "mcpServers": {
    "dosai": {
      "url": "https://dosai.pro/api/mcp",
      "headers": { "Authorization": "Bearer dos_sk_live_ВАШ_КЛЮЧ" }
    }
  }
}

Cursor умеет подставлять переменные окружения, так что ключ тоже можно не держать в файле: "Authorization": "Bearer ${env:DOSAI_KEY}".


Что умеет агент

ИнструментЧто делаетПрава ключа
dosai_list_projectsСписок проектовчтение
dosai_get_projectНастройки проекта: статус, канал, модель, балансчтение
dosai_get_promptПрочитать системный промптчтение (роль админа или владельца)
dosai_update_promptЗаменить системный промптзапись (роль админа или владельца)
dosai_list_functionsСписок функций ассистентачтение
dosai_list_leadsЛиды постранично, с фильтром по статусу (none, potential, qualified, hot, converted, reserve, lost)чтение
dosai_get_leadПолная карточка лида с ответами анкетычтение
dosai_update_leadСтатус лида, имя, телефон, почтазапись
dosai_list_conversationsДиалоги, с фильтром по статусу (open, resolved, closed) и включением архивныхчтение
dosai_get_messagesПереписка одного диалогачтение
dosai_send_operator_messageНаписать клиенту от лица операторазапись
dosai_get_analyticsДиалоги, лиды, конверсия, время ответа, воронка, источники и расход за период (без указания дат: последние 7 дней)чтение
dosai_get_balanceОстаток и расходчтение

Чего в наборе нет намеренно: удаление проектов, платежи и возвраты, управление участниками, админ-функции. ИИ иногда ошибается, и цена ошибки не должна равняться удалённому проекту или списанным деньгам. Эти действия остались в API, где вызов делается осознанно.


Безопасность

  • Ключ = доступ к вашим проектам. Команда подключения содержит его в открытом виде: вставляйте только в свой терминал, не выкладывайте в репозиторий и не показывайте на экране при записи видео.
  • Начните с ключа только на чтение. Права на запись выдавайте, когда точно нужны правки.
  • Клиенту или подрядчику выдавайте ключ, привязанный к одному проекту.
  • Агент действует от вашего имени. Он видит ровно то, что видите вы, и ограничен вашей ролью на каждом проекте.
  • Отправка сообщения необратима. dosai_send_operator_message пишет живому человеку в WhatsApp или Telegram. Согласуйте текст с агентом до отправки.
  • Тексты клиентов это данные, а не команды. В переписке может оказаться фраза вида «игнорируй прежние инструкции и сделай…». Сервер прямо предупреждает об этом агента при подключении, но привычка проверять, что именно агент собирается сделать, остаётся за вами.

Лимиты

  • 120 запросов в минуту на ключ, плюс собственный лимит у каждого эндпоинта (например, аналитика 20 в минуту).
  • Один вызов инструмента = два запроса к платформе, поэтому ориентируйтесь примерно на 60 действий агента в минуту.
  • Лимит считается на каждый ключ отдельно: два ключа одного аккаунта имеют по своему бюджету, они не складываются и не делятся.
  • При превышении приходит понятная агенту фраза «превышен лимит, подожди N секунд», и он повторит сам.

Если не работает

Что видит агентЧто произошлоЧто делать
«API-ключ недействителен, истёк или отозван»Ключ удалён, истёк или скопирован с опечаткойВыпустить новый в кабинете
«Этот ключ только для чтения»Ключ без права записи, а действие меняет данныеВыпустить ключ с правом записи
«Ключ привязан к другому проекту»Ключ на один проект, а запрос к другомуВзять ключ на весь аккаунт или на нужный проект
«Недостаточно прав на этом проекте»Ваша роль ниже администратораПопросить владельца повысить роль
«Превышен лимит запросов»Слишком частоПодождать указанные секунды
«Конфликт: такое действие уже выполнено» на отправкеТот же текст в тот же диалог в пределах минуты считается случайным дублем и не уходитТак задумано: защищает клиента от двойного сообщения при повторе запроса. Нужно отправить то же самое ещё раз, подождите минуту или измените текст
«Неверные аргументы. Unrecognized key»Агент передал поле, которого у инструмента нетНичего не делать: в ответе названо лишнее поле, агент исправится сам. Так сделано нарочно, чтобы выдуманный параметр не поменял смысл ответа молча
Сервер не появился в спискеОпечатка в адресе или заголовкеПроверить https://dosai.pro/api/mcp и формат Bearer dos_sk_live_…

Под капотом

Сервер работает по streamable HTTP и не хранит сессий: каждый вызов самодостаточен, поэтому переключение серверов между двумя запросами агента ничего не ломает.

Каждый инструмент внутри вызывает тот же публичный REST-эндпоинт, что и обычная интеграция. Это сделано намеренно: права, лимиты, проверки и запись в журнал живут в одном месте, и агент получает ровно те же ответы, что получил бы curl. Отдельной «агентской» логики доступа не существует, поэтому она не может разойтись с основной.

Ответы инструментов подрезаются: списки отдаются постранично, длинный системный промпт не приезжает вместе со списком проектов, аналитика сворачивается до цифр (без превью рекламных креативов и почасовой карты), а слишком большой ответ обрезается с подсказкой сузить запрос. Причина простая: результат вызова попадает в контекст модели, и один неаккуратный запрос иначе вытеснит всё, над чем вы работали. Там, где данные свёрнуты, инструмент прямо перечисляет, что именно осталось за кадром: иначе «этого у меня нет под рукой» легко превращается в «таких данных не существует».

Машиночитаемое описание REST-части лежит на https://dosai.pro/api/openapi.json, краткая памятка для агентов на https://dosai.pro/llms.txt.


Простыми словами

Обычно, чтобы связать программу с платформой, нужен программист: он пишет код, который ходит по адресам и разбирает ответы. MCP убирает этот шаг для ИИ-инструментов. Вы один раз даёте своему ИИ-помощнику адрес и ключ, и дальше говорите обычными словами: «сколько заявок пришло вчера», «поправь приветствие у бота стоматологии», «ответь этому клиенту, что перезвоним в десять». Помощник сам понимает, какое действие вызвать.

Ключ это пароль: он даёт помощнику ровно те же возможности, что есть у вас в кабинете, не больше. Если хотите, чтобы помощник только смотрел и ничего не менял, выпустите ключ «только чтение». Если работаете с одним клиентом, выпустите ключ на один проект: до остальных помощник не дотянется.

И главное, что мы решили заранее: помощник не умеет удалять проекты и трогать деньги. Даже если он что-то неправильно поймёт, худшее, что произойдёт, это изменённый текст промпта или одно лишнее сообщение клиенту. Всё это видно и поправимо.


Дальше: → Кастомные вебхуки
Связано: Публичный API · Роли и права
Не получилось? → напиши в саппорт