Skip to content

Repository files navigation

DeepSight — Chess Analyzer

DeepSight — это десктопное приложение для глубокого анализа шахматных партий с графическим интерфейсом. Позволяет загружать партии в формате PGN, задавать произвольные позиции через FEN, подключать UCI-совместимые шахматные движки и получать детальную оценку каждого хода.

PythonPyQt6License


Возможности

  • Загрузка партий — импорт PGN-файлов или вставка текста PGN
  • Произвольные позиции — установка любой позиции через FEN
  • Встроенные движки — Ember и Stockfish поставляются Nix-сборками, но не хранятся в репозитории
  • Поддержка внешних движков — подключение любого UCI-совместимого движка
  • Полный анализ партии — автоматический анализ каждого хода с оценкой в центипешнях/мате
  • Live-оценка — быстрая оценка текущей позиции без запуска полного анализа
  • Классификация ходов — автоматическое определение книжных ходов, ошибок, зевков и т.д.
  • Навигация по партии — клавиши ← → для перехода по ходам, Home/End — в начало/конец
  • Шкала оценки — визуальная индикация перевеса (Eval Bar)
  • Стрелка лучшего хода — отображение рекомендуемого хода движка на доске
  • Тёмная тема — современный интерфейс в тёмных тонах
  • Поддержка NNUE — использование нейросетевых весов движка (если поддерживается)

Установка

Требования

  • Python 3.11+
  • Linux x86_64 для Nix-сборки текущей системы

Зависимости

PyQt6>=6.5
python-chess>=1.999

Установка из исходного кода

git clone https://github.com/ExxDreamerCode/DeepSight.git
cd DeepSight
pip install -r requirements.txt
Engines/download-engines.bat
python main.py

В исходном дереве движки не хранятся. Для запуска встроенных движков из исходников положите совместимые UCI-исполняемые файлы в Engines/ или используйте Nix-сборку ниже. Либо запустите download-engines.bat который автоматически подгрузит оба нужных движка.

Сборка через Nix для текущей системы

nix build .#
./result/bin/deepsight

Эта сборка создает Nix derivation приложения и добавляет в него движки:

  • Ember собирается из закрепленного исходного релиза ExxDreamerCode/Ember
  • Stockfish скачивается из закрепленного релиза official-stockfish/Stockfish

Сборка Windows exe вручную

Nix-сборка поддерживается только для Linux. Для Windows используйте PyInstaller вручную. Конфигурация находится в deepsight.spec.

pip install pyinstaller
pyinstaller deepsight.spec --clean --noconfirm

Готовый .exe появится в папке dist/. PyInstaller-спецификация встраивает движки; положите совместимые Windows UCI-движки рядом с приложением в Engines/ или запустите Engines/download-engines.bat. Если движков нету, при сборке через pyinstaller они скачаются автоматически.


Использование

  1. Запуск приложения:

    python main.py
  2. Загрузка партии:

    • Нажмите File → Load PGN... и выберите PGN-файл
    • Или вставьте текст PGN в поле ввода на левой панели и нажмите "Load PGN"
  3. Установка произвольной позиции:

    • Введите FEN в соответствующее поле и нажмите "Set FEN"
  4. Анализ:

    • Выберите движок (Ember, Stockfish или внешний)
    • Настройте время на ход и глубину анализа
    • Нажмите "Start Analysis"
    • Прогресс отображается в строке состояния
  5. Навигация:

    • ← / → — переход по ходам
    • Home / End — в начало / конец партии
    • Клик по ходу в списке — переход к выбранному ходу
  6. Быстрая оценка:

    • Автоматически выполняется при загрузке партии или переходе к ходу
    • Отображается на шкале оценки и в строке состояния

Встроенные движки

ДвижокLinux Nix-сборкаWindows вручнуюПротокол
EmberEngines/emberEngines/ember.exeUCI
StockfishEngines/stockfishEngines/stockfish-windows-x86-64.exeUCI

Движки не коммитятся в репозиторий. Linux Nix-сборка скачивает или собирает их как часть derivation. Для Windows положите совместимые .exe движки в Engines/ рядом с приложением или запустите Engines/download-engines.bat.


Клавиатурные сокращения

КлавишаДействие
Предыдущий ход
Следующий ход
HomeВ начало партии
EndВ конец партии

Разработка

Запуск в режиме отладки

В меню Debug доступны:

  • Show Engine Output — окно с сырым выводом движка
  • Test Engine Direct — прямая проверка подключения к движку

Добавление нового движка

  1. Добавьте источник движка в flake.nix
  2. Установите исполняемый файл в папку Engines/ внутри Linux Nix-сборки
  3. Добавьте запись в BUILTIN_ENGINES в engine_registry.py
  4. При необходимости укажите протокол в get_engine_protocol()

Лицензия

Проект распространяется под лицензией MIT. Подробнее — в файле LICENSE.

About

DeepSight - chess game analyzer

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages