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

Введение в Moira

Moira не даёт ИИ-агенту сбиться. Она выдаёт агенту по одному понятному шагу и проверяет каждый результат, прежде чем агент пойдёт дальше, поэтому многошаговая задача выполняется полностью и по порядку. Шаги берутся из флоу (воркфлоу): процесса, который записан один раз и каждый раз выполняется одинаково.

Собирать флоу не нужно

Moira — agent-first инструмент. Вы работаете с агентом как обычно: описываете задачу обычными словами. Остальное агент делает сам:

  1. Выбирает готовый флоу, если подходящий есть, — например Quick Task, Robust Task или Todo List для понятной задачи без особой логики или Software Development Flow для изменения в репозитории кода.
  2. Или собирает новый флоу под вашу задачу через Workflow Management Flow — собственный флоу Moira для создания и правки флоу. Флоу может быть простым — несколько шагов подряд — или сложным — процесс с ревью и циклами исправления. Сначала агент договаривается с вами, насколько основательным должен быть флоу: простой собирается быстро и проходит лёгкую проверку, крупный проходит проектирование и независимое ревью. Сделать флоу основательнее можно и позже.

Всё остальное — схемы в веб-приложении, переменные, типы нод, ручная правка флоу — необязательно. Это нужно, чтобы заглянуть внутрь флоу, когда захочется, а не то, что надо выучить заранее.

Как освоиться в веб-приложении

Веб-приложение объясняет себя прямо на экране:

  • При первом входе главная предлагает тур. «Покажите, что к чему» открывает меню гидов, «Позже» спросит в следующем сеансе, «Не нужно» запоминается.
  • «Покажите, что к чему» всегда в боковой панели: полный тур, тур текущей страницы, продолжение и прогресс по каждому экрану. Полный тур идёт по порядку — главная, обзор, флоу, учебный флоу, запуски, ваш последний запуск, заметки, playbooks, артефакты и настройки. Уход со страницы ставит его на паузу до продолжения. Если запусков нет, на их месте тур объяснит, как начать запуск. «Туториалы» начинают или продолжают «Соберите свой первый флоу» — практику в редакторе флоу.
  • «Что это?» запускает тур страницы. Карточка объясняет элемент рядом с ним или у края экрана; на телефоне — сверху или снизу. Длинный текст прокручивается внутри; «Назад», «Дальше» и закрытие остаются видимыми. Стрелка вправо или Enter ведут дальше, влево — назад, Escape закрывает. Точка отмечает новые или изменённые шаги уже просмотренного тура; нажатие показывает только эти шаги.
  • Тур есть у каждой страницы приложения: главной, обзора, списка флоу и каждого флоу, списка запусков и каждого запуска, заметок, playbooks, артефактов и настроек. Туры объясняют назначение страницы и основные элементы, пропуская шаги о скрытых вами панелях. У раздела администрирования тура нет.
  • Место остановки и просмотренные шаги хранятся в аккаунте и доступны во всех браузерах. Настройки → Предпочтения → Гиды начинают полный тур заново или сбрасывают просмотренное.

Обзор для администратора

Панель администратора показывает состояние системы и сверку управляемых флоу. При включённой аналитике администраторов (Moira Cloud) карточки показывают недавно активных людей и текущую работу, новые аккаунты, запуски, требующие внимания, популярные флоу и аналитику запусков. Кнопки периода независимы для каждой карточки; выбор действует на открытой странице. Короткие интервалы и дни отсчитываются назад от запроса; Сегодня начинается в полночь UTC.

В Исключённых пользователях по умолчанию исключены все текущие администраторы. Выберите людей по имени/email или Включить всех. Выбор сохраняется для аккаунта в этом браузере, без синхронизации браузеров. При загрузке замены карточка сохраняет область загруженных результатов; повтор загрузки при ошибке не скрывает соседние карточки.

Активность означает записанное действие или наблюдённое продление неистёкшей сессии провайдером, а не точный статус онлайн. Регистрация и старые даты сессии не доказывают продление; время продления не заполняется задним числом. Последний шаг — записанный принятый шаг; неизвестное время остаётся неизвестным. Управление всеми пользователями/запусками/флоу открывает полные списки; сведения аккаунта охватывают все периоды. Исключения не влияют на управление и состояние системы. Self-host по умолчанию сохраняет состояние системы и Пользователей, без общей аналитики установки.

Настройки администратора объединяют определения, значения, обслуживание и кодспейсы; ?tab=values открывает раздел. Обновления, ошибки и повтор загрузки локальны; остальные элементы управления, загруженные данные и черновики сохраняются.

Среды разработки

codespace даёт постоянное окружение GitHub или локальной Docker Sandboxes VM. Настройки → Разработка: среды, подключение GitHub и локальные компьютеры. Одобрите подключение на компьютере; его companion применяет ожидающие настройки владельца в пределах локальных ограничений. У обоих провайдеров один гостевой workspace service. MCP и прямой гостевой CLI moira-workspace используют его команды, файлы и сохранённый вывод; собственный Node runtime не зависит от проекта. Права владельца, сроки разрешений и физические ресурсы проверяются без квот команд и файлов. Подключение, разрешения и безопасность.

Постепенный путь

Начните сверху и остановитесь там, где вам уже достаточно:

  1. Быстрый старт — подключите Moira к AI-клиенту и запустите первый флоу.
  2. Туториал: первые флоу — три крошечных учебных флоу: простые шаги, одна развилка, несколько путей. Они показывают, как Moira ведёт флоу, по одной идее за раз.
  3. Какой готовый флоу выбрать — Quick Task, Robust Task и Todo List для повседневных задач и когда вместо них попросить агента сделать новый флоу.
  4. Концепции и Паттерны — как устроены флоу, если захочется прочитать или собрать флоу самому.

Что идёт не так без структуры

На длинной задаче ИИ-агенты могут:

  • Терять фокус в сложных многошаговых задачах
  • Пропускать важные шаги или предварительные условия
  • Выдавать непоследовательные результаты
  • Пропускать проверки качества и валидацию

Флоу даёт каждому шагу:

  • директиву — что сделать;
  • условие завершения — когда шаг считается сделанным;
  • схему ввода — какое подтверждение агент обязан вернуть (необязательно);
  • связи — куда процесс идёт дальше, в том числе выбор по ответу агента.

Агент выполняет каждый шаг, возвращает подтверждение, а Moira проверяет его и переходит к следующему шагу флоу.

Как это работает

Дальше на этой странице — для любопытных и для агентов, которые выполняют флоу.

flowchart LR
    A[Старт воркфлоу] --> B[Выполнить шаг]
    B --> C{Проверить завершение}
    C -->|Успех| D[Следующий шаг]
    D --> B
    C -->|Воркфлоу завершен| E[Конец]

Процесс выполнения

  1. Агент запускает воркфлоу через MCP инструмент
  2. Получает директиву текущего шага и условие завершения
  3. Выполняет директиву
  4. Возвращает результат через инструмент step()
  5. Движок проверяет и переходит к следующему шагу
  6. Повторяет до завершения воркфлоу

Состояние воркфлоу сохраняется на сервере. Если сессия прервана, агент может возобновить выполнение с того же шага, используя process ID.

Ключевые концепции

Воркфлоу

Воркфлоу — это направленный граф узлов. Каждый узел представляет шаг в процессе. Узлы могут ветвиться по условию, зацикливаться или делегировать подграфам.

{
"id": "my-workflow",
"metadata": {
"name": "Мой воркфлоу",
"version": "1.0.0",
"description": "Пример воркфлоу"
},
"nodes": [
{ "id": "start", "type": "start", "connections": { "default": "task-1" } },
{
"id": "task-1",
"type": "agent-directive",
"directive": "...",
"connections": { "success": "end" }
},
{ "id": "end", "type": "end" }
]
}

Типы узлов

Ниже показаны распространённые типы узлов. Таблица содержит примеры, а не полный перечень; все поддерживаемые типы и их актуальные контракты приведены в разделе Узлы.

ТипНазначение
startТочка входа для выполнения воркфлоу
endТерминальный узел, отмечающий завершение
agent-directiveЗадача для агента с директивой и условием завершения
conditionВетвление выполнения в один из нескольких выходов по case
expressionВычисление значений с помощью арифметических выражений
subgraphДелегирование другому воркфлоу
user-notificationУведомление через настроенные каналы текущего пользователя

Шаблоны

Шаблоны позволяют использовать динамический контент в директивах и условиях через синтаксис {{variable}}:

{
"directive": "Проанализируй {{projectName}} и создай {{reportType}} отчёт"
}

Переменные могут ссылаться на:

  • Начальные данные из start узла
  • Результаты предыдущих шагов
  • Параметры воркфлоу

Выполнения

Выполнение — это работающий экземпляр воркфлоу. Оно поддерживает:

  • Текущая позиция — Какой узел активен
  • Контекст — Переменные и результаты шагов
  • История — Завершенные шаги и их результаты

MCP интеграция

Moira подключается к AI-агентам через Model Context Protocol. MCP сервер предоставляет инструменты для:

ИнструментНазначение
listПросмотр доступных воркфлоу
startПодготовка или выполнение запуска воркфлоу
stepВыполнение текущего шага и переход
manageСоздание, редактирование, получение воркфлоу
sessionПолучение информации о пользователе и активных выполнениях

MCP — это открытый протокол. Moira работает с любым MCP-совместимым клиентом: Claude Code, Cursor и другими.

Self-host или Cloud

Moira — open source (Apache-2.0). Движок, типы узлов и MCP-инструменты одинаковы, хостите ли вы её сами или используете управляемое облако:

Self-host

Запустите движок, Web UI и MCP-сервер через поставляемый Docker Compose приложения и ingress на своей инфраструктуре — бесплатно, single-tenant, данные остаются у вас. Аккаунты участников команды регистрируются с подтверждением администратора. Это режим по умолчанию (DEPLOYMENT_MODE=self-host). См. руководство по self-hosting.

Moira Cloud

Управляемый инстанс без необходимости что-либо администрировать — moira-mcp.com. Добавляет SaaS-вход через соцсети, политику юридических согласий и верификации email, а также расширенное администрирование нескольких пользователей.

В self-host регистрация открыта, но новый аккаунт должен одобрить администратор. Верификация email, юридические согласия и вход через соцсети остаются SaaS-функциями и по умолчанию выключены в self-host. Детали режимов развёртывания — в Self-hosting.