bsl-graph
bsl-graph copied to clipboard
BSL Graph: Анализатор и визуализатор конфигураций 1С: Предприятие
Анализ конфигураций 1С:Предприятие
:warning: Внимание: Проект находится в активной разработке (стадия черновика) и может содержать ошибки или неполный функционал.
Сервер для анализа конфигураций 1С:Предприятие — это современный инструмент для глубокого анализа метаданных и кодовой базы проектов на платформе 1С:Предприятие. Проект использует графовую базу данных NebulaGraph для построения интерактивной карты знаний о конфигурации.
Основное назначение проекта — создание интеллектуальной системы анализа конфигураций 1С с возможностью визуализации связей между объектами, поддержкой MCP протокола и REST API.
Поддерживаемые форматы
Сервер может работать с исходными кодами конфигураций, выгруженными в двух форматах:
- Стандартный формат конфигуратора (выгрузка конфигурации в файлы).
- Формат 1C:Enterprise Development Tools (EDT).
Как это работает?
-
Анализ метаданных: Сервер использует библиотеку
bsl-mdclassesдля полного чтения структуры конфигурации 1С. - Построение графа знаний: На основе метаданных строится граф в NebulaGraph, где узлы — это объекты конфигурации (справочники, документы, константы), а рёбра — их взаимосвязи и зависимости.
- Экспорт в граф: Метаданные полностью экспортируются в графовую базу данных с полным маппингом связей.
- Интерактивная визуализация: Веб-интерфейс позволяет исследовать связи между объектами конфигурации в реальном времени.
- API доступ: REST API и MCP протокол обеспечивают программный доступ к данным графа.
Визуализация
В состав проекта входит веб-приложение для наглядной визуализации построенного графа знаний. Это позволяет в интерактивном режиме исследовать связи между объектами конфигурации.

Технологический стек
Бэкенд
- Язык: Kotlin 2.1.20
- Фреймворк: Spring Boot 3.5.0
- База данных: NebulaGraph 3.0.0 — графовая СУБД для хранения связей
- Архитектура: Clean Architecture, Domain-Driven Design (DDD)
- Сборка: Gradle 8.5 с Kotlin DSL
- JVM: OpenJDK 17
-
Анализ метаданных 1С: Используется набор open-source библиотек 1c-syntax:
-
bsl-mdclasses— работа со структурой метаданных конфигурации -
bsl-parser— парсер языка 1С -
bsl-utils— утилиты для работы с BSL -
bsl-common-library— общая библиотека
-
Фронтенд (визуализация)
- Язык: TypeScript
- Сборщик: Vite
- Рендеринг графа: Sigma.js — библиотека для отрисовки графов
Текущий статус проекта
✅ Реализовано
- Архитектура проекта и доменные модели
- Полная интеграция с NebulaGraph
- Полное чтение метаданных с использованием
bsl-mdclasses - Полная функциональность экспорта в граф с маппингом связей
- Консольное приложение для тестирования и операций
- Веб-интерфейс визуализации
- REST API для работы с графом
- Поддержка MCP протокола
- Комплексная обработка ошибок и логирование
⏳ В разработке
- Расширенное тестирование с реальными конфигурациями
- Оптимизация производительности для очень больших конфигураций
📋 Планируется
- API документация и примеры использования
- Расширенные возможности анализа кода
- Интеграция с дополнительными инструментами разработки 1С
🗺️ Роадмап развития
🎯 Этап 1: Анализ кода
Цель: Полноценный анализ программного кода 1С
Что получите:
- Умный анализ кода - система понимает структуру всех модулей, процедур и функций
- Визуализация кода - интерактивная карта того, как части кода связаны между собой
- Поиск по коду - быстрое нахождение нужных процедур, функций и их вызовов
- Навигация - легкое перемещение между связанными частями кода
🔍 Этап 2: Анализ запросов
Цель: Комплексный анализ всех запросов к базе данных
Что получите:
- Анализ SQL-запросов - понимание всех запросов к базе данных в конфигурации
- Карта данных - визуализация связей между таблицами и полями
- Анализ отчетов - понимание того, как формируются отчеты и обработки
- Оптимизация - выявление медленных запросов и предложения по улучшению
🧠 Этап 3: Интеллектуальный поиск
Цель: Умный поиск по конфигурации с пониманием смысла
Что получите:
- Поиск по смыслу - находите функциональность, даже не зная точных названий
- Умные подсказки - система предлагает связанные объекты и функции
- Контекстный поиск - поиск с учетом связей между объектами
- Быстрые ответы - мгновенный поиск нужной информации
📊 Этап 4: Расширенная аналитика
Цель: Глубокий анализ качества и архитектуры конфигурации
Что получите:
- Оценка качества - метрики сложности кода и выявление проблем
- Анализ архитектуры - проверка соответствия лучшим практикам разработки
- Рекомендации - автоматические предложения по улучшению кода
- Отчеты - детальные отчеты о состоянии конфигурации
🚀 Этап 5: Масштабирование
Цель: Поддержка больших и сложных конфигураций
Что получите:
- Быстрая работа - анализ конфигураций любого размера
- Кэширование - мгновенный доступ к ранее проанализированным данным
- Обновления - анализ только измененных частей конфигурации
- Мониторинг - отслеживание производительности системы
🎯 Долгосрочные цели
Искусственный интеллект
- Автогенерация кода - система сама предлагает код на основе контекста
- Автоматическое улучшение - система сама оптимизирует код
- Предсказание проблем - система заранее предупреждает о возможных ошибках
- Автоматическое тестирование - система сама создает тесты
Специализированные решения
- Помощь в миграциях - автоматическая помощь при переходе на новые версии 1С
- Аудит безопасности - проверка конфигурации на уязвимости
- Анализ производительности - глубокий анализ скорости работы
- Автодокументация - система сама создает документацию по конфигурации