Перейти к содержимому

Развёртывание агентов

Добавлено в MAESTRO 0.0.3.

/deploy отправляет сохранённую цепочку в agent hub — один лёгкий локальный процесс, который обслуживает каждую развёрнутую цепочку как HTTP-агента, смонтированного по адресу /agents/<name> с собственным Swagger UI на /agents/<name>/docs.

Хаб поставляется отдельным пакетом, чтобы базовая установка оставалась лёгкой:

Окно терминала
pip install "maestro-care[deploy]"

Это кладёт CLI carl-agent-hub в ваш PATH (также входит в extra [full]). MAESTRO автоматически запускает его при первом /deploy, так что запускать вручную обычно не нужно.

В режиме Production (Memory должна быть настроена):

/deploy <ref> [--channel <ch>] [--name <agent>]
  • <ref> — id сущности цепочки или поисковый запрос по имени (может содержать пробелы).
  • --channel — какой канал развернуть. По умолчанию stable — в production отправляется выпущенная версия, а не dev-вершина.
  • --name — имя агента в хабе (по умолчанию берётся из цепочки).

Что происходит:

  1. Резолв цепочки на запрошенном канале (с откатом на latest).
  2. Deploy-гейт — проверка на стороне клиента (цепочка загружается, использует только безопасные для шаблона инструменты и проходит lint MAGE). При сбое проблемы перечисляются и ничего не разворачивается.
  3. Подъём хаба — если хаб не запущен и включён autostart, MAESTRO запускает его и ждёт /healthz.
  4. Развёртывание — POST /deployments; хаб монтирует агента.
  5. Вы получаете URL агента, ссылку на его Swagger-документацию и строку готовности.

Каждое развёртывание — это HTTP-агент в хабе:

  • Эндпоинт агента — …/agents/<name>
  • Swagger UI — …/agents/<name>/docs

Один хаб обслуживает множество цепочек сразу и сохраняет их между перезапусками (его state_file), поэтому развёрнутые агенты переживают перезапуск хаба.

Секция [hub] (префикс переменных окружения CARE_HUB__):

ПараметрПо умолчаниюНазначение
base_urlhttp://127.0.0.1:8080Control-API хаба, к которому обращается клиент.
port8080Порт, на котором работает autostart (должен совпадать с base_url).
autostarttrueЗапускать хаб, когда он не работает.
state_file~/.maestro/agent-hub.jsonГде хаб сохраняет развёртывания.
agent_server_cmd["carl-agent-hub", "serve"]Команда, которую MAESTRO запускает для autostart (к ней добавляются --port / --state-file).
start_timeout15Сколько секунд ждать /healthz после autostart.
timeout30Таймаут на запрос для вызовов control-API.

См. Конфигурация → секции.

У /deploy есть headless-аналоги: care deploy, care deployments и care metrics повторяют эти экраны прямо в терминале. Одна оговорка — CLI не запускает хаб автоматически, поэтому он уже должен быть запущен. См. Развёртывание в agent hub.

  • Ей нужна Memory (реестр цепочек), как и другим командам Production.
  • Если нужен POST «выстрелил и забыл» во внешний сервис вместо хаба — см. /upload.