Ищем разработчиков для созвона на 25 минут: 500 ₽ на баланс за разговор.

Выбрать время
Все руководства

Руководство

AI-агенты на DADA Cloud: запуск и настройка доступа к инфраструктуре

Обновлено · 6 мин чтения

С AI-агентами на DADA Cloud работают двумя способами. Внешний агент (Claude Code, Claude Desktop, Cursor) управляет вашей инфраструктурой через MCP-сервер: создаёт приложения, базы данных, читает логи. Собственный агент можно запустить на платформе: вы описываете промпт и инструменты, платформа разворачивает его и отвечает на сообщения. Ниже оба пути по шагам, с настоящими командами и ограничениями.

ЗадачаКак решаетсяЧем пользуетесь
Агент деплоит и чинит ваши приложенияВнешний агент подключается к MCP-серверуПлагин для Claude Code или коннектор Claude Desktop
Агент живёт на платформе и отвечает пользователямОписание агента сохраняется через MCP или CLIsaveAgent или ddc agent deploy
Агенту нужны моделиOpenAI-совместимый шлюз с ключом проектаАдрес https://ai.dada-tuda.ru/v1
Агенту нужна песочница с rootBox, временная средаИнструмент boxUp

Шаг 1 - Подключите агента к MCP-серверу

Для Claude Code добавьте публичный плагин и установите его двумя командами:

/plugin marketplace add DadaDevelopment/dada-cloud
/plugin install dada-cloud@dada-cloud

Плагин запускает мост mcp-remote к адресу https://console.dada-tuda.ru/mcp, поэтому на машине нужен Node.js. В Claude Desktop добавьте пользовательский коннектор с тем же адресом, в поле OAuth Client ID впишите dada-mcp, поле секрета оставьте пустым. Другие клиенты, например Cursor или Windsurf, подключаются к тому же адресу по Streamable HTTP. Мы проверили плагин и коннектор Claude Desktop по документации и коду, а Cursor и Codex на практике пока не прогоняли.

Сервер отдаёт 63 инструмента. Среди них createApp, updateAppImage, setEnvVar, createDatabase, triggerBuild, getBuild, searchLogs, createAppServer. Проекты и приложения можно называть по имени, например ref="проект/окружение/приложение", UUID знать не нужно.

Шаг 2 - Войдите через Dada ID

При первом вызове инструмента агент открывает браузер, вы входите через Dada ID, и клиент получает токен по OAuth 2.1 с PKCE. Публичный клиент dada-mcp не имеет секрета и принимает только локальные адреса возврата. Без токена сервер отвечает 401 и в заголовке сообщает, где искать авторизацию.

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

Шаг 3 - Разверните приложение с базой данных

Типичная последовательность, которую агент проходит сам:

  1. resolveRef или listProjects, чтобы найти проект и окружение.
  2. createApp с именем, образом и портом. Вызов возвращает операцию.
  3. getOperation, пока операция не получит статус Committed. Это значит, что изменение записано в git. Приложение к этому моменту ещё может не работать.
  4. createDatabase с привязкой к приложению. Пока база создаётся, getDatabaseCredentials отвечает 404.
  5. Если база привязана к приложению, платформа сама записывает DATABASE_URL в его переменные. Без привязки получите пароль через getDatabaseCredentials с reveal=true и задайте переменную через setEnvVar с is_secret=true.
  6. listApps, пока приложение не станет Healthy. Если не станет, searchLogs покажет причину.

Подробные рецепты лежат в руководстве по MCP-рецептам, а полный список инструментов в справочнике. Подробности про базы данных собраны в материале про облачные базы данных.

Шаг 4 - Запустите собственного агента на платформе

Через MCP: listAgentTools показывает доступные MCP-серверы для инструментов агента, validateAgent проверяет имя, промпт и инструменты и возвращает список ошибок по полям, saveAgent сохраняет описание. Сохранение асинхронно: вызов возвращает операцию, после статуса Committed состояние смотрите через getAgentState, а sendAgentMessage отправляет агенту сообщение. Каждый вызов saveAgent заменяет спецификацию целиком, поэтому передавайте её полностью.

Через командную строку: установите ddc, войдите и разверните агента из репозитория.

curl -fsSL https://raw.githubusercontent.com/DadaDevelopment/ddc/main/install.sh | sh
ddc login
ddc agent deploy --project <проект> --env <окружение>

Репозиторий агента устроен просто: в agents/<имя>/core.md лежит основной промпт, в domains/*.md дополнительные знания, необязательный .dada/agent.json задаёт модель и инструменты. Для проверки до деплоя есть ddc agent up (нужен Docker), smoke, eval и invoke --text. Telegram-бот для агента подключается отдельно, об этом рассказывает страница про Telegram-шлюз для агентов.

Шаг 5 - Подключите модели через AI-шлюз

Шлюз совместим с OpenAI API и доступен по адресу https://ai.dada-tuda.ru/v1. Ключ проекта выглядит как sk-dada-ai- и несколько десятков символов, показывается один раз, создаётся в консоли проекта или через API. В поле model указывается псевдоним: gpt-4o, claude, fast, smart и другие. Ключу можно ограничить список моделей в allowed_models (до 100 штук): запрос вне списка получит ответ 403 с кодом model_not_allowed. Можно подключить и собственные ключи провайдеров, их 11, включая OpenAI, Anthropic, OpenRouter и Groq. Если у ключа есть собственный ключ провайдера, запросы идут только через него. Подробности в руководстве по провайдерам.

Как устроен доступ

Человек, который подключил агента через OAuth, даёт ему свои права. Для служебных агентов в платформе есть отдельная идентичность в группе /agents. У неё нет личной организации, и в проект она попадает только через временный грант.

  • Грант создаёт createAgentGrant: роль Developer (по умолчанию) или ReadOnly, срок ttl_minutes: по умолчанию час, максимум 24 часа. Роли Owner и Admin выдать агенту нельзя.
  • Выдать грант может только Owner или Admin проекта, и только человек, не агент.
  • listAgentGrants показывает активные, отозванные и истёкшие гранты как журнал. revokeAgentGrant отзывает доступ сразу, следующий запрос агента получит 404.
  • Создание и обновление агентов, гранты и просмотр паролей баз данных попадают в журнал аудита.
  • Агент с такой идентичностью не может создавать проекты: платформа отвечает 403 agent_project_creation_denied.

Самостоятельного пути выдать такую идентичность обычному пользователю в консоли пока нет: её настраивает оператор платформы. Если нужен ограниченный доступ уже сейчас, подключайте агента от имени участника проекта с ролью ReadOnly или Developer.

Ограничения

  • У агентской поверхности нет удаления приложений, баз данных и проектов, нет перезапуска. Эти действия выполняются в консоли.
  • queryDatabase выполняет только SELECT: не больше 1000 строк, 5 МБ и 5 секунд.
  • Имя агента глобально уникально (ошибка 409 agent_name_taken), длиной до 45 символов, промпт до 128 КиБ.
  • Движок eve работает в режиме пилота и открыт не для всех проектов. По умолчанию используется основной движок.
  • Box (boxUp) даёт временную среду на Ubuntu 24.04 с node, python, go, rust и psql, без Docker. Максимальный срок жизни 8 часов, лимит расходов по умолчанию 500 рублей. Режим превращения Box в постоянный сервер экспериментальный.
  • Лимитов на число агентов и сообщений мы не нашли в коде, но и «без ограничений» не обещаем. Актуальные условия оплаты смотрите на странице цен.

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

Можно ли подключить Cursor или Codex?

MCP-сервер использует Streamable HTTP и OAuth, поэтому подходит клиентам, которые это умеют. Для Claude Code и Claude Desktop порядок подключения проверен по документации и коду, для остальных клиентов мы практический прогон не делали.

Что агент не сможет сделать с моей инфраструктурой?

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

Как отозвать доступ агента?

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

Чем MCP-плагин отличается от агента, запущенного на платформе?

Плагин даёт внешнему агенту руки: он управляет приложениями и базами. Агент на платформе работает постоянно и отвечает пользователям, например в Telegram. Одно другому не мешает: через плагин можно создать и сохранить агента на платформе.

Сколько инструментов в MCP-сервере?

  1. Число закреплено тестом в коде платформы. 27 из них только читают данные, 5 помечены как разрушающие.

Источники