Загрузите партию, найдите ошибки, изучите варианты движка и превратите слабые ходы в тренировочные позиции — в одном локальном приложении.
Нативное окно macOS · изменяемая боковая панель · анализ Stockfish
На macOS ChessAI использует системную тему Aqua, шрифты, цвета и контролы. На новых версиях macOS приложение автоматически получает актуальное системное оформление, включая Liquid Glass, без рисованной имитации blur-эффектов.
- Быстрый анализ текущей позиции через Stockfish.
- Несколько лучших линий движка (
MultiPV) с оценкой и стрелками на доске. - Полный разбор партии: точность,
ACPL, зевки, ошибки и переломный момент. - Определение дебюта и построение интерактивного графика оценки.
- Клик по графику мгновенно переносит к соответствующему полуходу.
- Пакетный анализ всех партий из одного PGN-файла.
- Локальные
PGN-файлы, включая файлы с несколькими партиями. PGN,FENили URL прямо из буфера обмена.- Партии по ссылкам Lichess и Chess.com, а также прямые ссылки на
.pgn. - Сохранение аннотированного PGN и копирование
PGN/FEN.
- Игра против Stockfish с настраиваемой силой.
- Задача «найди лучший ход» для текущей позиции.
- Автоматическая генерация тренировочных задач из ошибок партии.
- Режим тренера с контекстными подсказками.
- Поиск по ходам, номерам, комментариям и аннотациям.
NAG-метки (!,?,!!,??,!?,?!) и текстовые комментарии.- Добавление вариантов из анализа, перенос варианта в главную линию и удаление веток.
- Переключаемые координаты, звуки, анимация и режим «только доска».
- Изменяемая по ширине боковая панель: перетаскивается сама непрерывная серая граница.
git clone https://github.com/ReNothingg/ChessAI.git
cd ChessAImacOS / Linux
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txtWindows PowerShell
py -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txtpython main.pyTip
На Windows бинарник stockfish.exe уже находится в репозитории. На macOS и Linux ChessAI также ищет stockfish в PATH и стандартных каталогах установки.
| Компонент | Требование |
|---|---|
| Python | 3.9+ |
| GUI | tkinter |
| Движок | Stockfish |
| ОС | macOS, Windows или Linux |
Если Stockfish не найден, интерфейс всё равно запустится. Функции движка, полного анализа и тренировок будут отключены до настройки пути.
ChessAI ищет движок в следующем порядке:
- путь из переменной окружения
STOCKFISH_PATH; stockfish.exeв корне проекта на Windows;stockfishв корне проекта или вPATHна macOS/Linux;- стандартные каталоги Homebrew и MacPorts на macOS.
Указать путь вручную
macOS / Linux:
export STOCKFISH_PATH=/path/to/stockfish
python main.pyWindows PowerShell:
$env:STOCKFISH_PATH = "C:\path\to\stockfish.exe"
python main.py- Откройте PGN, вставьте FEN или загрузите партию по URL.
- Перемещайтесь по партии клавишами
←и→или через список ходов. - Нажмите «Анализ позиции», чтобы увидеть лучшие продолжения.
- Запустите полный анализ для расчёта точности,
ACPLи ключевых ошибок. - Изучите отчёт и кликабельный график оценки.
- Создайте тренировочную сессию из найденных ошибок.
| Клавиши | Действие |
|---|---|
← / → |
Предыдущий / следующий ход |
Home / End |
Начало / конец партии |
A |
Анализ текущей позиции |
T |
Показать угрозу |
P |
Задача «найди лучший ход» |
F |
Перевернуть доску |
Space |
Режим «только доска» |
Ctrl/Cmd + O |
Открыть PGN |
Ctrl/Cmd + F |
Поиск по ходам |
Ctrl/Cmd + B |
Показать / скрыть боковую панель |
H |
Справка |
Двойной клик по строке в блоке «Лучшие ходы» добавляет продолжение как вариант.
ChessAI/
├── app/
│ ├── app.py # состояние приложения и запуск компонентов
│ ├── ui.py # нативный интерфейс и отрисовка доски
│ ├── game.py # PGN/FEN, навигация и игровой поток
│ ├── analysis.py # анализ Stockfish и тренировки
│ ├── interaction.py # мышь, клавиатура и варианты
│ ├── openings.py # определение дебютов
│ └── reporting.py # отчёты и тренировочные позиции
├── assets/ # доска, фигуры, звуки и скриншоты
├── engine_handler.py # управление процессом Stockfish
├── config.py # настройки и пути
├── main.py # точка входа
└── requirements.txt
| Технология | Назначение |
|---|---|
python-chess |
правила шахмат, PGN и FEN |
| Stockfish | анализ позиций |
tkinter / ttk |
нативный desktop UI |
matplotlib |
график оценки |
| Pillow | изображения доски и фигур |
requests |
загрузка партий по URL |
pygame |
звуки ходов |
Stockfish не найден
Проверьте, что бинарник существует, имеет право на запуск и путь к нему указан в STOCKFISH_PATH. На macOS/Linux можно проверить командой stockfish в терминале.
Нет звука
Приложение продолжит работать без аудио. Проверьте установленный pygame и доступность звукового устройства, затем перезапустите ChessAI.
Не запускается tkinter
Убедитесь, что используемая сборка Python включает Tcl/Tk. Это особенно важно для минимальных Linux-установок.
Issues и pull request'ы приветствуются. Перед отправкой изменений:
python -m unittest discover -vСтарайтесь сохранять нативное поведение интерфейса на каждой ОС и добавлять тесты для логики, не зависящей от GUI.
Проект распространяется по лицензии MIT.
Сделано для разбора партий, а не борьбы с интерфейсом. ♟️
