Skip to content

AI-flow

ID: @artiroute/ai-flow
Статус: planned
Зависимости: нет (standalone)

Расширение для автоматического pipeline: пресет (DAG) + оркестратор + research areas. Первое продуктовое расширение, которое регистрирует отдельный тип пространства — не «режим» внутри стандартного Space.

Назначение

ВопросОтвет
Для кого?Интеграторы, batch, headless, методологи автоматизации
Тип Spaceai-flow.automatic — «Автоматический»
Что заменяет из v2?Automatic presets, createAndStartAutomaticProject, orchestrator, StartAutomaticProjectDialog
Что не входит?Ревью, required deliverables, ручная этапность
Research areas?Внутри расширения (per_area outputs)

Тип пространства ai-flow.automatic

Регистрация в backend.spaceTypes:

typescript
ctx.registerSpaceType({
  id: 'ai-flow.automatic',
  label: 'Автоматический (AI-flow)',
  description: 'ИИ проходит пресет и заполняет артефакты',
  extensionId: '@artiroute/ai-flow',
});

Space создаётся сразу с spaceTypeId: 'ai-flow.automatic'. После завершения run Space остаётся automatic-типа (метаданные run в ext.*), но дерево артефактов доступно как обычно.

Тип standard не получает пресеты и оркестратор.

Форма создания Space

Panel в app.spaceCreatePanels — порт UX v2 StartAutomaticProjectDialog:

┌─ Новое пространство ─────────────────────────────┐
│  Название: [________________]                     │
│  Тип:      [Автоматический (AI-flow) ▼]          │
│  ─── AI-flow ─────────────────────────────────   │
│  Пресет:   [Due Diligence v3 ▼]                  │
│  Входные файлы:  [+ добавить]  (по bootstrap req) │
│  Области:        ... (manual area groups)         │
│  Промпты:        ... (optional prompts)           │
│  API:            curl / GraphQL пример            │
│                              [Создать и запустить]│
└──────────────────────────────────────────────────┘

Расширение:

  • рендерит panel и валидирует payload;
  • на submit: core createSpace + старт ai_flow_run (одна транзакция с точки зрения UX);
  • показывает snippet API для headless (startAiFlow с тем же bootstrap).

Альтернатива: создание через dashboard widget / REST без общей формы — тот же spaceTypeId и bootstrap contract.

Принципы

  1. Только automatic — пресет для машины, не чеклист для людей.
  2. Оркестратор — фазы по DAG, agent_edit → auto-accept, rag_index.
  3. Без ревью — human-in-the-loop не предусмотрен.
  4. Артефакт = файл — bootstrap → blob-артефакты; контекст ИИ через @mentions.

Состав

1. Пресеты

Порт v2 FlowPreset / FlowPresetVersion (без executionMode: manual):

  • stages, phases, edges, outputs, area groups, ai_config
  • таблицы ext.ai_flow_preset, ext.ai_flow_preset_version
  • admin UI: VueFlow editor (app.routes, только для ai-flow.managePresets)

2. Bootstrap

graphql
query AiFlowBootstrapRequirements($presetVersionId: ID!) {
  aiFlowBootstrapRequirements(presetVersionId: $presetVersionId) {
    requiredArtifacts { fileRole outputName phaseTitle }
    requiredAreaGroups { areaGroupId groupName minCount }
    optionalPrompts { outputId outputName }
  }
}

Payload при create (в extensionPayload или dedicated mutation):

  • presetVersionId
  • artifacts[]{ fileRole, filename, content | base64 }
  • areas[], prompts[]

3. Оркестратор

Task ai_flow_run — порт OrchestratorRuntime:

  1. Topo sort фаз
  2. provisionResearchAreas для ai_generated
  3. Create + agent_edit + accept per output
  4. rag_index после save
  5. Cancel: cancelAiFlowRun

4. Research areas

ext.ai_flow_research_area на automatic Space; per_area outputs.

5. Skills (debug)

backend.skillResolvers — опционально /ai-flow.generate для ручного перезапуска output. Основной путь — оркестратор.

Runtime UI (app.spaceTypeViews)

Для spaceTypeId === 'ai-flow.automatic':

  • баннер «ИИ выполняет pipeline»;
  • activity / TaskLog transcript;
  • скрыть ручной AI на артефактах пока run active;
  • не показывать deliverables checklist и review policy.

Модель данных

ТаблицаНазначение
ext.ai_flow_presetПресет
ext.ai_flow_preset_versionСнапшот DAG
ext.ai_flow_runspaceId, status, taskId
ext.ai_flow_research_areaОбласти

Abilities

AbilityЗачем
ai-flow.managePresetsредактор пресетов
ai-flow.createAutomaticсоздать automatic Space
ai-flow.cancelRunотмена run

Registries

RegistryНазначение
backend.spaceTypesai-flow.automatic
app.spaceCreatePanelsформа bootstrap
app.spaceTypeViewsбаннер, activity
app.routespreset editor
backend.skillResolversdebug generate

Чего нет

  • Тип standard + пресет «для методологии»
  • Artifact review
  • Required deliverables
  • Блокировка свободного создания артефактов в automatic Space (опционально soft UI only)

См. также

AI workspace для командных материалов и знаний