Releases: codedevdev/lexpatrool
Releases · codedevdev/lexpatrool
Release list
v1.7.1
release: LexPatrol 1.7.1
Обновления из GitHub (in-app)
- Поток обновления без electron-updater: проверка релизов через публичный GitHub API, сравнение версий, выбор установочного ассета.
- Модуль
src/main/updater/: загрузка с прогрессом и отменой, проверка размера и SHA256, установка под Windows (в т.ч. helper через PowerShell), файл сессии обновления, отложение (snooze), логupdater.log. - Интерфейс: баннер о доступном обновлении, модалка установки, хук
useInAppUpdateFlow; доработки настроек и моста IPC/preload под скачивание и запуск установщика.
Стабильность и безопасность (аудит)
- Строгая проверка URL перед
shell.openExternal(толькоhttp:/https:через разборURL). - Один экземпляр приложения:
requestSingleInstanceLockи обработка повторного запуска. - Предсказуемые ошибки при резервном копировании БД и прочие точечные правки по отчёту аудита; расширен typecheck на main-процесс при необходимости.
Оверлей и интерфейс
- Вынесены/зафиксированы константы раскладки оверлея (
overlay-layout-constants), правки оверлейного окна и связанных экранов (дашборд, государственный раздел, оверлей, настройки, оболочка приложения и навигация) в связке с горячими клавишами и подсказками.
Тесты и покрытие
- Vitest и @vitest/coverage-v8: два профиля — полный набор с порогами coverage и «критический» (
vitest.critical.config.ts) для CI. - Vitest 3 /
test.projects: отдельные проекты node (main, shared, parsers, services) и jsdom (renderer); без устаревшегоenvironmentMatchGlobs. В каждом проекте заданыresolve(алиас на stubelectron),pluginsиsetupFiles, чтобы стабильно работали stub и@testing-library/jest-dom. - Stub Electron для юнит-тестов: в т.ч. расширенный
globalShortcutиglobalShortcutTestHooks(сброс, подменаregister, учётunregister/unregisterAll). - Юнит-тесты updater: checker (semver, выбор ассета, фикстуры API), validator, downloader, installer (чистая логика + моки spawn), state, snooze, logger.
- Поиск и данные:
search-tokens,article-number, retrieval и теги на in-memory БД с миграциями; сиды при необходимости. - Парсеры и утилиты: article-import-filter, html-element-plain-text; константы оверлея; backup-restore / restore-сценарии.
- Горячие клавиши:
validateAccelerator,applyOverlayGlobalShortcutsна stub; чтение/сохранение хоткеев в БД, humanize для Windows. - IPC: вынесен
mergeAgentConfigв отдельный модуль с тестами на in-memory БД. - Renderer: smoke-тесты на
@testing-library/react(в т.ч.RouteEmptyState, формат хоткеев вlib).
CI и релиз
ci.yml: на PR и push в основные ветки — параллельно lint и test; тесты сnpm rebuild better-sqlite3; сначала критический coverage, затем полный; сборка Windows после успешных проверок; на тегv*— публикация GitHub Release с установщиками и.sha256.release-windows.yml: только ручной workflow_dispatch для сборки артефактов без публикации релиза (теги обрабатываются вci.yml).- После полного прогона тестов:
vitest-coverage-report-action— комментарий в PR с summary изcoverage/coverage-summary.json; в артефакт coverage добавленыcoverage-summary.jsonиcoverage-final.json(включаяcoverage/critical/, если файлы есть). - Краткий блок Coverage в summary job для ссылки на HTML-отчёт в артефакте.
Документация
- README: команды проверки (
verify, тесты, coverage), описание CI, опциональные секреты; актуализация под новый пайплайн и обновления.
Версия
- Версия приложения: 1.7.1.
Full Changelog: v1.7.0...v1.7.1
v1.7.0
release: LexPatrol 1.7.0
ИИ и RAG
- Конвейер ответа: опциональная перепись вопроса под поиск, гибридный retrieval (ключевые слова + семантика), слияние кандидатов (RRF), опциональный LLM-реранкер, финальный ответ с ситуационным системным промптом; опциональные стадии отключаются в настройках.
- Семантический поиск по статьям: локальное хранение эмбеддингов, отдельные настройки модели и провайдера для embeddings (наследование от основного или свой endpoint), перестроение индекса из раздела ИИ, инкрементальное обновление по изменённым статьям.
- Улучшение подбора контекста: подсказки по кодексам из текста запроса, разбор номеров статей, учёт закреплённых из диалога статей.
Поиск по базе (FTS)
- В полнотекстовый индекс включены краткое описание, санкции и наказание и ключевые поля метаданных (штрафы, УК, юрисдикция, звёзды и т.д.).
- В индекс добавлено название документа — проще находить статьи по формулировкам вида «статья N … кодекса», даже если полное название есть только у документа.
Диалоги и настройки ИИ
- Сохранённые диалоги привязаны к выбранному агенту (поле agent_id).
- Расширены типы и IPC и preload под новый конвейер, embeddings и отчёты по retrieval.
Оверлей и интерфейс
- Доработаны оверлейные окна (закрепы, шпаргалки, подборки, общий оверлей), горячие клавиши и вспомогательное tool-overlay окно.
- Обновлены страницы заметок, подборок, шпаргалок и настроек в связке с оверлеем и новыми возможностями.
Техническое
- Миграции БД: 006 (ai_conversations.agent_id), 007–008 (пересборка FTS), 009 (article_embeddings и dirty-триггеры).
- Vitest и юнит-тесты для нормализации аббревиатур кодексов; правки tsconfig для main и node при сборке новых модулей.
- README: актуализировано описание ИИ, RAG и настройки провайдеров и контекста.
Версия
- Версия приложения: 1.7.0.
Full Changelog: v1.6.0...v1.7.0
v1.6.0
release: LexPatrol 1.6.0
Импорт и парсинг
- Превью разбиения и автоимпорт учитывают выбранный фильтр статей (все / с санкциями / без): в превью попадают те же блоки, что уйдут в БД.
- Детектор «санкций» для фильтров: режимы balanced (только сильные маркеры) и strict (для «без санкций»); меньше ложных срабатываний на процессуальные формулировки («лишение свободы» в перечислениях и т.п.).
- Разбиение форумного текста: «голые» номера без скобочного классификатора (R/F/A) не считаются заголовком УК; склейки «.Часть», «.Статья» после точки; однозначные главы в соседних статьях на одной строке (6.x, 7.x).
Метаданные статей
- Из заголовка/тела: юрисдикция R/F/A (в т.ч. кириллические буквы в копипастах), флаг судимости CR, приоритет звёзд из табличного вида
| N*и описательных фраз; категория тяжести по звёздам (лёгкая / средняя / высокая).
Подборки
- Событие
collections:changed: список подборок и оверлей подборок обновляются без ручного обновления после изменений из другого окна. - Страница подборки «Состав и поиск» (
/collections/:id): состав, поиск по подборке, ссылка со списка подборок. - Читатель: чипы метаданных под заголовком, компактные индикаторы R/CR/звёзды в дереве статей; понятнее добавление в подборку (подпись, кнопка, тост, сообщения по кодам ошибки).
Оверлей
- Закрепы: общий компонент
ArticleMetaChips(как в читателе) — юрисдикция, тяжесть, звёзды, штрафы, УК и др.
Техническое
- IPC: параметр фильтра в
parse:resolve-article-splitsиparse:auto-import-preview; рассылкаcollections:changedпосле CRUD подборок и состава.
Версия
- Версия приложения: 1.6.0.
Full Changelog: v1.5.0...v1.6.0
v1.5.0
release: LexPatrol 1.5.0
ИИ
- Полная настройка разбита на «Подключение» (API, ключ, модель) и «Ответ модели» (температура, лимит токенов, расширение контекста); вкладка «Вопрос» убрана — проверка в «Быстром вопросе» на той же странице.
- Агенты: только роль (название, описание, доп. инструкции); провайдер, Base URL и ключ задаются только в «Подключении» / «Ответ модели».
- Контекст для модели: выдержки вокруг совпадения с запросом (не только начало статьи), лимит статей из одного документа, до 12 фрагментов; явная ветка при пустом поиске; заголовки фрагментов с номером статьи.
- Многословный запрос: выборка текста по span совпадений (buildMatchSnippetMulti).
База знаний
- При поиске блок «Все документы» показывает и документы с совпадениями по тексту статей (FTS), не только по названию.
Настройки
- Раздел «Окна поверх игры и оверлей»: главное окно, оверлей закрепов (уровень поверх, прозрачность с %, клики в игру, быстрые кнопки).
- Резервная копия: экспорт JSON и полный импорт с заменой базы; после импорта перезагрузка окон и хоткеев.
- Сообщество: ссылки на Discord и Issues (GitHub) в настройках и в боковой панели.
Документация
- README: разделы «Сообщество и поддержка», «Антивирусы и VirusTotal» (ложные срабатывания, эвристика).
Техническое
- Единый список таблиц бэкапа (LEX_BACKUP_TABLE_ORDER), IPC db:restore, восстановление BLOB из JSON.
- Исправление чёрного экрана на странице настроек (состояние notifyOnStartup).
Версия
- Версия приложения: 1.5.0.
Full Changelog: v1.4.0...v1.5.0
v1.4.0
release: LexPatrol 1.4.0
База и контент
- Подборки статей (сменные коллекции) с назначением из читателя.
- Шпаргалки: отдельные текстовые заметки в базе, раздел в приложении.
- Теги на статьях, блок «См. также» между статьями.
- Снимок текста статьи до обновления (previous_body) для контроля изменений.
- Недавно открытые статьи в читателе (reader_recents).
Окна поверх игры
- Отдельные окна «Шпаргалки» и «Подборки» с глобальными горячими клавишами (настраиваются в разделе «Настройки»).
- Стабильный показ окон на Windows: корректная загрузка маршрута, ожидание готовности окна; опционально LEX_OVERLAY_NO_FOCUS.
- Основной оверлей: убраны дублирующие блоки подборки/шпаргалки и лишние кнопки — доступ через горячие клавиши и главное окно.
Настройки и удобство
- Таблица горячих клавиш: текущее сочетание, значение по умолчанию, предпросмотр при записи новой комбинации.
- Окна шпаргалок/подборок: упрощённая шапка, подсказки внизу; двойной клик по названию шпаргалки копирует текст.
Читатель и навигация
- Доработки читателя под новые сущности (подборки, см. также, недавние и др.).
- Палитра команд (быстрый переход по разделам и действиям).
Импорт и безопасность
- Уточнения на экранах импорта и встроенного браузера; безопасное открытие внешних ссылок (safe-external-url).
- Правки разбора/сохранения статей и поиска (retrieval, article-split) под новую схему данных.
Прочее
- Миграция БД 005_lexpatrol_features.sql.
- Версия приложения: 1.4.0.
- Удалён устаревший файл «Процессуальный кодекс.txt» из репозитория.