AI-flow
ID: @artiroute/ai-flow
Статус: planned
Зависимости: нет (standalone)
Расширение для автоматического pipeline: пресет (DAG) + оркестратор + research areas. Первое продуктовое расширение, которое регистрирует отдельный тип пространства — не «режим» внутри стандартного Space.
Назначение
| Вопрос | Ответ |
|---|---|
| Для кого? | Интеграторы, batch, headless, методологи автоматизации |
| Тип Space | ai-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.
Принципы
- Только automatic — пресет для машины, не чеклист для людей.
- Оркестратор — фазы по DAG,
agent_edit→ auto-accept,rag_index. - Без ревью — human-in-the-loop не предусмотрен.
- Артефакт = файл — 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):
presetVersionIdartifacts[]—{ fileRole, filename, content | base64 }areas[],prompts[]
3. Оркестратор
Task ai_flow_run — порт OrchestratorRuntime:
- Topo sort фаз
provisionResearchAreasдляai_generated- Create +
agent_edit+ accept per output rag_indexпосле save- 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_run | spaceId, status, taskId |
ext.ai_flow_research_area | Области |
Abilities
| Ability | Зачем |
|---|---|
ai-flow.managePresets | редактор пресетов |
ai-flow.createAutomatic | создать automatic Space |
ai-flow.cancelRun | отмена run |
Registries
| Registry | Назначение |
|---|---|
backend.spaceTypes | ai-flow.automatic |
app.spaceCreatePanels | форма bootstrap |
app.spaceTypeViews | баннер, activity |
app.routes | preset editor |
backend.skillResolvers | debug generate |
Чего нет
- Тип
standard+ пресет «для методологии» - Artifact review
- Required deliverables
- Блокировка свободного создания артефактов в automatic Space (опционально soft UI only)
См. также
- Space types
- Обзор продуктовых расширений
architecture-v2/12-automatic-presets.md