Updated 13/02/2025
This is Walter Liu's implementation of lichess-bot, using my own chess engine. It uses a value-based neural network which was trained on 80+ million Stockfish evaluations from the Lichess database, and a simple best-first search. Currently the bot achieves an estimated ELO of 1500. Its profile can be viewed on Lichess at (https://lichess.org/@/parrot-bot).
Some observations so far:
- Decent opening knowledge without an opening book.
- Plays sacrifices quite a lot, not all of them sound...
- Due to the value-based network, it doesn't fight as hard when losing and misses best moves in winning positions.
- 5-piece Syzygy tablebases are used to improve its endgame play.
At the moment I am working on a new training routine using curriculum learning to allow the network to recognise more tactical positions by incorporating the Lichess puzzle database into the training data. Performance will be updated soon! (hopefully)
For more information on how the network was trained and deployed, check out the Colab Notebooks folder.
Original README:
lichess-bot is a free bridge between the Lichess Bot API and chess engines.
With lichess-bot, you can create and operate a bot on lichess. Your bot will be able to play against humans and bots alike, and you will be able to view these games live on lichess.
See also the lichess-bot documentation for further usage help.
Supports:
- Every variant and time control
- UCI, XBoard, and Homemade engines
- Matchmaking (challenging other bots)
- Offering Draws and Resigning
- Accepting move takeback requests from opponents
- Saving games as PGN
- Local & Online Opening Books
- Local & Online Endgame Tablebases
Can run on:
- Python 3.9 and later
- Windows, Linux and MacOS
- Docker
- Install lichess-bot
- Create a lichess OAuth token
- Setup the engine
- Configure lichess-bot
- Upgrade to a BOT account
- Run lichess-bot
Thanks to the Lichess team, especially T. Alexander Lystad and Thibault Duplessis for working with the LeelaChessZero team to get this API up. Thanks to the Niklas Fiekas and his python-chess code which allows engine communication seamlessly.
lichess-bot is licensed under the AGPLv3 (or any later version at your option). Check out the LICENSE file for the full text.
If this software has been used for research purposes, please cite it using the "Cite this repository" menu on the right sidebar. For more information, check the CITATION file.