---
id: guide-graph
title: "Граф проекта"
kind: guide
---

# Граф проекта {#guide-graph}

Граф — это основной способ увидеть проект: блоки (ноды) и зависимости между ними
(рёбра), сгруппированные по специальностям в «облака ролей». Это не отдельный домен
API, а слой визуализации над данными проекта — поэтому методы здесь те же, что в
домене [Проекты](../domains/projects/index.md#projects-index), плюс пара графовых.

## Как открыть

После входа откройте любой проект из [Списка проектов](../domains/projects/screens/project-list.md#projects-screen-project-list) —
проект сразу показывается графом. Если проект ещё не сгенерирован, граф появится
после генерации.

## Что на экране и что с этим делать

- **Ноды (блоки)** — этапы работы. Перетаскивание ноды мышью двигает её по холсту
  (позиция сохраняется через `PATCH /api/projects/:id/nodes/:nodeId/position`).
  **Важно:** перетаскивание только меняет раскладку — рёбра мышью не рисуются,
  связи берутся из генерации (см. ниже).
- **Рёбра (связи)** — причинно-следственные зависимости между блоками. Их строит
  LLM на этапе генерации; вручную мышью на графе они не создаются.
- **Облака ролей** — полупрозрачные области, охватывающие блоки одной специальности.
- **Клик по ноде** — открывает боковую панель с описанием блока и ролями.
- **Тулбар** — фильтр по специальностям (показать/скрыть роли).
- **Play** — пошаговый обход графа от блоков-источников к зависимым.
- **Гант** — представление проекта диаграммой Ганта; строится на клиенте из тех же данных графа, отдельного метода API у него нет.

## Методы

Данные графа и действия над проектом — в домене Проекты:

- [Получить проект](../domains/projects/api/get-project.md#projects-get-project) —
  ноды, рёбра, роли (то, из чего рисуется граф).
- [Граф для агента](../domains/projects/api/get-project-graph.md#projects-get-project-graph) —
  компактное/полное представление графа с ETag (`view=summary|full`, `diff_from`).
- [Сгенерировать граф (SSE)](../domains/projects/api/generate-graph.md#projects-generate-graph) —
  именно здесь появляются блоки и связи между ними.
- [Создать share-ссылку](../domains/projects/api/share-project.md#projects-share-project) —
  поделиться графом только на чтение (см. [гостевой доступ](guests.md#guide-guests)).

Графовый эндпоинт, специфичный для этого слоя (документирован по коду):
`PATCH /api/projects/:id/nodes/:nodeId/position` (сохранить позицию ноды).
Гант отдельного эндпоинта не имеет — раскладка считается на клиенте по данным графа.

См. также [роли](../shared/roles.md#roles) и [Конвенции](../shared/conventions.md#conventions).

---

Human view: https://docs.vnimanie.ai/specbuilder/v1/guides/graph/