---
id: collections-screen-collection-editor
title: "Редактор коллекции"
domain: collections
kind: screen
---

# Редактор коллекции {#collections-screen-collection-editor}

<!-- gen:start:elements -->
> Сгенерировано из `docs/matrices/fm/collections.yaml`.

| FM | Элемент | Действие | Поведение | Роли (доступ) | Статус |
|---|---|---|---|---|---|
| FM-102 | Tab «Общее»: name, description, doc_title | Inline-edit, autosave (debounce 500ms) | description подставляется в промпт как {{domainDescription}}. Подсказка: «Опишите предметную область максимально подробно». Max 5000 chars | org_admin, site_admin | partial |
| FM-103 | Tab «Слои»: CRUD | Inline-форма, drag-to-reorder | id (auto-gen UPPER_SNAKE из display_name), display_name, color picker, sort_order, doc_title (заголовок раздела документа, необязательное; если пусто — используется display_name). Удаление: если есть блоки → ошибка LAYER_IN_USE с предложением перенести | org_admin, site_admin | done |
| FM-104 | Tab «Специальности»: CRUD | Форма: id, name, color, description. Drag-to-reorder | Удаление: модалка с вариантами — осиротить блоки / переназначить на выбранную / авто LLM | org_admin, site_admin | partial |
| FM-105 | Tab «Блоки»: CRUD | Форма: id, name, description, layer_id (dropdown), default_specialties (multi-select), sort_order | Два режима: таблица (группировка по слоям) или визуальный граф (mini-graph preview). При смене layer_id — warning если есть cross-layer связи | org_admin, site_admin | partial |
| FM-106 | Tab «Зависимости»: визуальный редактор | Граф: click source → click target. Или матрица смежности: checkbox | Self-edge блокируется. Cycle detection → визуальная подсветка (warning, не блокирует). Фильтрация по слою при >50 блоков | org_admin, site_admin | partial |
| FM-108 | Tab «Промпты»: 3 стадии + doc_generate | Accordion: decompose, describe, dependencies, doc_generate. Textarea с подсветкой {{placeholders}} | Справочник плейсхолдеров в sidebar. Кнопка «Preview»: промпт с подставленными значениями из текущей коллекции. Save per-stage | org_admin, site_admin | partial |
| FM-109 | Экспорт коллекции | Кнопка «Экспорт JSON» / «Экспорт YAML» | Скачать файл с полной структурой: specialties, layers, blocks, edges, prompts, doc_sections | org_admin, site_admin | todo |
| FM-110 | Удалить коллекцию | Кнопка + confirm | Блокируется если есть привязанные спейсы (COLLECTION_IN_USE). Показать кол-во спейсов в warning | org_admin, site_admin | done |
| FM-125 | SVG граф блоков | Просмотр | Блоки как solid-fill rectangles, цвет по слою. Layer bands с labels. Specialty dots на блоках. Edges между блоками. Zoom/pan, auto-fit | org_admin, site_admin | done |
| FM-126 | Левая панель — специальности | Клик на специальность | Выбор → правая панель: name, description, color. Добавление через inline-форму (name + color picker) | org_admin, site_admin | done |
| FM-127 | Левая панель — слои | Клик на слой | Выбор → правая панель: display_name, color. Badge: количество блоков. Добавление через inline-форму | org_admin, site_admin | done |
| FM-128 | Правая панель — блок | Клик на блок в графе | Editing: name, description, layer (dropdown), default_specialties (multi-select chips), ID (readonly). Save + Delete | org_admin, site_admin | done |
| FM-129 | Правая панель — коллекция (без выделения) | Просмотр | Name, описание домена, doc_title. Статистика: блоков/специальностей/слоёв/связей. Save | org_admin, site_admin | done |
| FM-133 | Описание слоя | Текстовое поле | collection_layer.description — контекст для LLM при перегенерации блоков | org_admin, site_admin | done |
| FM-134 | Кнопка «Перегенерировать блоки» | Клик → SSE | LLM перераскидывает блоки по слоям с учётом descriptions. Сохраняет специальности и слои. prepareForBlockRegen очищает старые блоки/edges перед стримом. | org_admin, site_admin | done |
| FM-163 | prepareForBlockRegen — старые блоки/edges очищаются перед SSE регенерации | (внутреннее) | Гарантирует чистое состояние перед стримом новых блоков. | org_admin, site_admin | done |
| FM-183 | Форма параметров (пере)генерации коллекции | Заполнить промпт + параметры → «Сгенерировать» / «Перегенерировать» | Унифицированная форма параметризации генерации (#170). Поля: промпт/сообщения, диапазоны min/max по осям слоёв / блоков / специальностей, переключатель режима (initial \| blocks-only \| with-keep), Pro-тоггл (quality pro\|fast). Кнопка «Предложить значения» вызывает mode=propose (POST /:id/regenerate) — JSON-предпросмотр без записи в БД. Кнопка «Сгенерировать»/«Перегенерировать» — applied-режим по SSE. При открытии форма hydrate-ится из последней applied-попытки (GET /:id/last-applied-attempt). Валидация min<=max. | org_admin, site_admin | done |
| FM-189 | Правая панель — блок: селектор «Реализация» (software / manual / omni) | Выбор в dropdown → сохранение блока | В форме правки блока (CollectionSidePanel) — селектор implementation_kind: «Software (агент)» / «Ручной труд» / «Смешанный (omni)». Значение хранится в collection_block (SoT разметки). При LLM-генерации коллекции проставляется автоматически (manual для закупок/монтажа/договоров/оффлайн-операций, omni для смешанных блоков), здесь — ручная правка. Новый блок по умолчанию software. | org_admin, site_admin | done |
<!-- gen:end:elements -->

---

Human view: https://docs.vnimanie.ai/specbuilder/v1/domains/collections/screens/collection-editor/