A fully offline chess position evaluator and autoplayer for Windows and Linux β powered by ONNX and Stockfish.
A lightweight, privacy-first tool that reads a real chess board from a screenshot/webcam, evaluates the position locally with Stockfish, and (optionally) plays the best move automatically.
- Full pawn promotion support β handled automatically and reliably.
- Small under-the-hood improvements for cross-platform stability.
- Brand-new PyQt6-based frontend (replaces old Tkinter UI).
- Same workflow and shortcuts β just smoother and more stable.
- 100% Offline β all detection & analysis run locally.
- Automatic Stockfish Download (CPU-Optimized) β ChessPilot automatically detects your CPU features (AVX2, AVX512, POPCNT, etc.) and downloads the most optimized Stockfish build on first run.
- FEN Extraction β ONNX-based piece detector (Zai-Kunβs model).
- Stockfish Analysis β instant best-move suggestions.
- Auto Move Execution β applies engine moves to the GUI board.
- Manual Play β use Play Next Move to control timing.
- Automatic Promotion β follows Stockfishβs preferred choice.
- Castling Rights & Depth Control β flexible configuration.
- Retry Logic β failed moves automatically retried up to 3 times.
- Cross-Platform β AppImage/DEB for Linux, EXE for Windows.
π Download the latest release
The ONNX model (chess_detectionv0.0.4.onnx) is included inside all official AppImage, EXE, and DEB builds.
Windows may flag unsigned executables β this is common for small open-source projects.
If you see a warning:
- Verify the release on GitHub.
- Scan the binary on VirusTotal.
- Build from source (
python src/main.py) for maximum safety. - Only run if comfortable β or use a VM.
Place this file next to the executable to customize Stockfish:
# ChessPilot Engine Configuration # Memory in MB (64β1024 recommended) setoption name Hash value 512 # Number of CPU threads setoption name Threads value 2Restart ChessPilot after editing.
PyQt6 is required for the UI.
- ONNX Model: https://github.com/Zai-Kun/2d-chess-pieces-detection
- VC++ Redistributable (Windows): https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist
- Stockfish Engine: https://stockfishchess.org/
Install system dependencies:
sudo apt install python3-pyqt6 # Ubuntu / Debian sudo pacman -S python-pyqt6 # Arch Linux sudo dnf install python3-qt6 # FedoraInstall Python dependencies:
pip install -r requirements.txtMake sure your Python virtual environment is activated if you are using one.
pip install -r requirements.txtIf you see errors about missing vcruntime or msvcp DLLs, install the latest VC++ Redistributable - here.
git clone https://github.com/OTAKUWeBer/ChessPilot.git cd ChessPilot pip install -r requirements.txt python src/main.py- Choose White or Black.
- Set castling rights if needed.
- Adjust analysis depth.
- Pick Manual or Auto mode.
- (Press ESC to reopen color selection.)
- Windows β tested, EXE provided
- Linux β tested, AppImage & DEB provided (Wayland supported)
- macOS β not yet supported (looking for contributors)
Board detection is incorrect β Move the ChessPilot UI aside so the detector has a clear view of the board.
Stockfish didnβt download β Check your internet connection and firewall settings. β Alternatively, manually place a Stockfish ZIP or binary in the src/ folder.
PRs and issues are welcome.
Areas that need help:
- macOS packaging
- UI/UX enhancements
This project is under the MIT License.
Project & Dependencies
- Zai-Kun β ONNX 2D chess piece detector
- Stockfish Team β world-class chess engine
- Microsoft VC++ Runtime
- All contributors and testers

