A local web UI for playing against the Genesis-1 chess engine, an AlphaZero-style model trained from self-play. It's a 15-block / 192-channel residual network (~10M parameters).
- Download the
.ptfile from HuggingFace - Place it in the
models/folder. - Install dependencies:
pip install -r requirements.txt
- Start the server:
python app.py
- Open
http://127.0.0.1:8000in your browser.
--model: Load a model manually (default: models/genesis_1.pt)--device: Choose between the cpu or the gpu (options:cpu|cuda; default: auto detect)--host 0.0.0.0: Expose on LAN (default is loopback only)--port: Change the port (default 8000)--seed: RNG seed for the engine's move selection (default: 0). Set it for reproducible games.
Exposing the server beyond loopback: The default
--host 127.0.0.1is safe because only your machine can reach it. If you bind to0.0.0.0(or another network interface), anyone who can reach the port can submit arbitrary inputs to the model. There's no auth and no rate limit.
The strength slider in the UI maps to MCTS simulations per move:
| Level | Sims |
|---|---|
| Weak | 100 |
| Medium | 200 |
| Strong | 400 |
| Strongest | 800 |
More sims = stronger play, longer think time.
Genesis-1 was trained from self-play on:
- Hardware: GPU: RTX 3090 | CPU: Ryzen 9 5950X | RAM: 32GB
- OS: Windows 11
- Training time: ~12 days
