Graphify
Вопросы вроде «как запрос доходит до базы данных?» или «что сломается, если поменять parseConfig?»
обычно стоят агенту длинной цепочки grep и чтения файлов. Плагин Graphify превращает
воркспейс в граф знаний с помощью graphify —
открытого инструмента Graphify-Labs: файлы, функции, классы, вызовы, импорты, разделы Markdown и
комментарии NOTE: / WHY:, сгруппированные в подсистемы. Подключённый агент спрашивает граф
словами или по имени символа и за один вызов получает нужную часть графа — с файлом и строкой для
каждого результата.
Карточка рисует граф картой, и каждый запрос агента проигрывается на ней вживую: видно, что агент спросил, с каких узлов начал, как расходился поиск и что нашёл.
Как пользоваться
- В меню добавления карточек выберите Плагин…, откройте Graphify на вкладке Плагины и нажмите Добавить на канвас.
- Нажмите Установить на карточке (один раз на компьютер). NeuroSquad скачивает
uv 0.12.22 с GitHub и сверяет его с контрольной суммой,
зашитой в приложение; uv ставит собственный Python 3.12, затем устанавливает graphify 0.9.74 с
PyPI, где каждый пакет закреплён по хешу (
--require-hashes, только готовые бинарные пакеты). Около 250 МБ, всё в папке данных приложения. Ваши собственные настройки Python, uv и pip не используются и не меняются. - Затем карточка сама строит граф всего воркспейса. Видно, сколько файлов уже прочитано, сколько всего и сколько примерно осталось.
- Проведите стрелку от агента к карточке.
Теперь у агента есть инструменты графа. Большинство CLI подхватывают их без перезапуска; уберите стрелку — и они пропадут.
Что может агент
| Инструмент | На что отвечает |
|---|---|
graphify_query | Вопрос словами или именами символов → нужный подграф (символы, файлы со строками, связи вызовов и импортов) |
graphify_neighbors | Всё, что символ вызывает, кто его вызывает, что он импортирует и кто импортирует его, с файлом и строкой каждого использования |
graphify_path | Кратчайшая цепочка вызовов и импортов между двумя местами |
graphify_affected | Радиус изменения: всё, что зависит от символа или файла, транзитивно |
graphify_node | Где находится символ, его тип и подсистема |
graphify_community | Все участники одной подсистемы |
graphify_god_nodes | Самые связанные символы — ядро кодовой базы |
graphify_stats | Размер графа и сколько связей прочитано прямо из кода |
graphify_reindex | Обновить граф сейчас, после только что сделанных правок |
Пока первая сборка идёт, инструменты отвечают, сколько осталось («граф ещё строится: 37%, 170 из 461 файла…»), — агент продолжает обычным поиском и спрашивает снова позже.
Как агентов направляют к графу
Агент, у которого есть инструмент графа, пользуется им не всегда: модели привыкли к grep. Graphify добавляет три лёгких слоя, ни один из которых ничего не блокирует:
- Описания инструментов говорят, когда граф лучше («используйте до grep, если вопрос о
структуре»), а когда по-прежнему нужен текстовый поиск (строковые литералы, сообщения в логах,
значения конфигов). В Claude Code
graphify_query,graphify_neighborsиgraphify_affectedзагружены всегда, а не спрятаны за поиском инструментов. - Заметка в первом ходе. Первый ход сессии со стрелкой несёт одну короткую фактическую заметку: что такое граф, какой инструмент на какой вопрос отвечает и когда grep всё ещё уместен. Следующие ходы получают однострочное напоминание, если запрос про структуру кода (и каждый пятый ход в любом случае). Когда вы убираете стрелку, следующий ход получает одну заметку о том, что инструментов больше нет. Claude Code, Codex и Qwen Code получают её через хук промпта; OpenCode, Kilo Code, pi, omp и Gemini CLI — через плагин, расширение или мост хуков NeuroSquad. Остальные CLI получают только инструменты.
- Подсказка перед текстовым поиском (Claude Code). Когда агент собирается выполнить
Grep,Globили командуgrep/rg/findпо тому, что похоже на имя символа, он получает одну строку контекста с отсылкой кgraphify_neighborsиgraphify_query. Поиск всё равно выполняется как просили: решение о разрешении не принимается, ваши правила allow и deny и запросы подтверждения работают как раньше. Подсказка молчит две минуты после обращения агента к графу и приходит не чаще раза в 45 секунд и раза в четыре поиска.
Выключите Направлять агентов к графу в настройках карточки, чтобы оставить только инструменты.
Карта
- Файлы — точки, размер которых зависит от содержимого, а цвет — от подсистемы. Приблизьте карту (или нажмите Показать символы), чтобы увидеть функции и классы вокруг каждого файла.
- Запросы вживую. Когда агент спрашивает граф, его стартовые узлы расходятся кругами, поиск распространяется шаг за шагом вдоль пройденных связей, а панель результатов показывает находки с файлом и строкой. Нажмите на результат, чтобы навести на него карту, или откройте файл в редакторе.
- Лента внизу: недавние запросы и кто их задал. Нажмите на запрос, чтобы проиграть его снова.
- Поиск по графу — в поле в углу; совпадения подсвечиваются так же.
- Нажмите на узел, чтобы увидеть его детали и связи; Вписать карту возвращает всё в кадр.
- Разверните карточку, чтобы посмотреть карту крупно.
Перетаскивайте карту мышью, масштабируйте колесом; анимации карты ставятся на паузу, пока вы масштабируете канвас или карточка вне экрана.
Всегда актуален
С включённым Автообновлением (по умолчанию) карточка замечает изменённые файлы и обновляет граф примерно через 4 секунды после последнего изменения. Ещё она обновляется после хода подключённого агента и один раз при открытии приложения. graphify хранит кеш каждого прочитанного файла, так что при обновлении перечитывается только изменённое. Выключите, чтобы обновлять вручную кнопкой Обновить.
Настройки
Кнопка настроек в шапке карточки:
- Автообновление и Направлять агентов к графу (см. выше).
- Языки: исключить из графа целые языки.
- Дополнительно игнорировать: шаблоны по одному на строку, синтаксис
.gitignore. Файлы.gitignoreи.graphifyignoreпроекта учитываются всегда. - Включать файлы из .gitignore: для сгенерированного кода, которому место в графе.
Изменение того, что индексируется, перестраивает граф.
Воркспейсы в WSL и по SSH
- WSL: graphify работает в Windows и читает файлы дистрибутива через их путь в Windows. Для
проекта на диске Windows (
/mnt/c/…) карточка следит за файлами как обычно; для проекта на собственном диске дистрибутива она обновляется после хода подключённого агента и по кнопке Обновить. - SSH: не поддерживается, карточка так и говорит. Используйте плагин Граф кода — он запускает свой движок на SSH-хосте.
Graphify или Граф кода?
Оба индексируют код, но хорошо отвечают на разные вопросы — их можно использовать вместе.
| Граф кода | Graphify | |
|---|---|---|
| Сильная сторона | Точная навигация: вызывающие и вызываемые, фрагменты кода, Cypher только для чтения, смысловой поиск | Вопросы словами → нужный подграф, как всё связано, что затронет изменение |
| Дополнительно | Маршруты, пакеты | Подсистемы, разделы Markdown, комментарии NOTE: / WHY: |
| На карточке | Статистика индекса и поиск | Живая карта с анимацией каждого запроса |
| WSL / SSH | Работает внутри WSL и на SSH-хостах | WSL через пути Windows; SSH нет |
Граф строится по папке воркспейса. Агент, работающий в изолированном worktree, всё равно обращается к графу основной папки.
Приватность и хранение
Всё работает на вашем компьютере. Graphify читает только код (никаких документов, изображений и
прочего, для чего понадобилась бы языковая модель), языковые модели не используются, ключи API в
него не передаются. У graphify нет телеметрии, а его необязательный журнал запросов выключен.
Движок лежит в папке данных приложения, каждый граф — в graphify/projects/<папка>-<хеш>/ там же.
В ваш проект и домашнюю папку ничего не пишется. Удаление последней карточки папки удаляет её граф.
graphify создан Graphify-Labs и распространяется по лицензии Apache License 2.0.
Решение проблем
- Установка не проходит через прокси. uv берёт
HTTPS_PROXY/HTTP_PROXYиз окружения приложения; задайте переменную до запуска NeuroSquad и снова нажмите Установить. - Установка падает с «no matching distribution». Для одного из пакетов нет готовой бинарной сборки под вашу систему; из исходников graphify не собирается. Карточка показывает сообщение uv.
- «Граф ещё строится». Первая сборка очень большого воркспейса занимает время; карточка показывает прогресс. Агенты на свои вопросы получают тот же прогресс.
- Агент продолжает пользоваться grep. Проверьте, что стрелка на месте, что Направлять агентов к графу включено и что CLI агента из тех, кто получает подсказки (остальных карточка помечает «только инструменты»). Можно и попросить прямо: «найди через graphify…».
- Карта пустая или в ней не хватает файлов. Проверьте Языки и Дополнительно
игнорировать в настройках, а также
.gitignoreпроекта. - Карточка пишет, что SSH не поддерживается. Для SSH-воркспейсов используйте плагин «Граф кода».