Что такое Cradle?

Cradle запускает команды ИИ-агентов и проверяет их работу. Проект — это команда: капитан раздаёт задачи, лиды выполняют их вместе с исполнителями, а Checker подписывает каждый результат, прежде чем он вернётся к вам.

Это построено не целиком. Модель команды и Checker — направление; то, что есть в коде сегодня, перечислено в разделе Что работает сегодня.

Где живёт команда

Команда живёт в колыбели (cradle): это Cradle Server с моделями, базой знаний и базой результатов, всё в контейнерах.

Поставьте сервер на ноутбук, на любой сервер или на GPU-стойку. В веб-консоли задайте каждому проекту адрес его колыбели. Несколько команд могут делить одну колыбель, или у каждой может быть своя.

Консоль
  └─ Проект "Dev team"                →  колыбель A  (GPU-сервер)
  └─ Проект "Контент"                →  колыбель A
  └─ Проект "Эксперименты"           →  колыбель B  (ноутбук)

Из чего состоит

ЧастьЧто делает
Cradle ServerСреда выполнения и CLI. Запускает агентов и модели на вашем железе, GPU или CPU.
КонсольВеб-приложение для проектов и настроек, включая адрес каждой колыбели.
Smart NotesГолосовой рабочий журнал. Сводки и выделение задач идут через колыбель по MCP.

Что работает сегодня

Сверено с кодом репозитория.

Работает сегодняГде в коде
Проекты: у каждого свои агенты, базы знаний и тикеты внутри одного Cradle Serverpackages/core/src/db/schema.ts (projects, agents, knowledge_bases)
Triage входящего сообщения: проверка риска (правила, затем LLM-классификатор), затем по роли и навыкам выбирается один агент; жёлтые и красные черновики ждут оператораpackages/core/src/triage/orchestrator.ts, router.ts
Структура команды (капитан, лиды, исполнители, Checker) хранится и показывается; маршрутизация по-прежнему выбирает одного агента; передачи результата лид → Checker → капитан нетpackages/core/src/db/schema.ts (agents.team_role, reports_to), triage/team.ts, triage/router.ts
Модели на GPU или CPU за одной точкой входа: совместимые с Anthropic POST /v1/messages и GET /v1/models поверх локальных, удалённых GPU и облачных провайдеров (в том числе Bedrock)packages/core/src/channels/inference-routes.ts, llm/providers/provider-registry.ts
Сервер в контейнерах: cradle-server и необязательный контейнер GPU-инференсаapps/server/docker/
Веб-консоль подключается к серверу по адресуapps/web/lib/console/, packages/console
Каналы: Telegram-бот, веб-виджет, HTTP API, MCP в обе стороныpackages/core/src/channels/
Шлюз действий: типизированные предложения, политика, одобрение человека для необратимого, журнал с хеш-цепочкой. По HTTP не выставленpackages/core/src/runtime/
Сводки и выделение задач для Smart Notes через MCPmcp-server-channel.ts (cradle_summarize_notes, cradle_submit_issue)
Экран тикета в консоли: путь по команде (капитан → лид → исполнитель, каждый — ссылка на команду) и карточка шлюза риска (сработавшие правила, вердикт классификатора, уровень, причина удержания). Вердикта Checker на нём нетpackages/console/src/pages/TicketDetail.tsx, components/TicketTeamPath.tsx, components/TicketGate.tsx
В планах — в коде пока нетЧто есть вместо этого
Checker как отдельная роль между лидами и капитаномДвижок верификации есть, но верификаторов нет, поэтому постусловие получает inconclusive. Ответы проверяют правила риска и оператор, а не агент Checker
Капитан, лиды и исполнители как иерархия, которая делит и делегирует задачуУ агентов есть роль в команде и ссылка reports_to, но Triage по-прежнему выбирает одного агента по роли и навыкам. Ничто не делит задачу между агентами и не передаёт результат вверх по цепочке
Агент в групповом чате, который превращает договорённости в задачи проекта (Telegram, WhatsApp)Telegram-бот отвечает на каждое текстовое сообщение как на тикет. Задачи из переписки он не выделяет. Канала WhatsApp нет
Облако Cradle: готовые воркеры, база данных и облачные моделиНа свой сервер можно добавить модель Bedrock. Размещённого сервиса нет
Цепочка передачи в шаблоне команды: результат идёт лид → Checker → капитанШаблон «Dev team» создаёт команду, но маршрутизация по-прежнему выбирает одного агента на тикет. Ничто не передаёт результат вверх по цепочке
Адрес колыбели для каждого проекта, заданный в консолиКонсоль хранит адрес сервера; проекты живут внутри сервера

Что дальше

  • Начало работы — установите колыбель и настройте первый проект.
  • Архитектура — как сообщения, агенты и модели складываются вместе.
  • Smart Notes — голосовой журнал и его настройка.