Skip to content
 
 

Repository files navigation

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

lichess-bot

A bridge between lichess.org and bots.
Explore lichess-bot docs »

Python Build Python Test Mypy

Overview

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.

Features

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

Steps

  1. Install lichess-bot
  2. Create a lichess OAuth token
  3. Setup the engine
  4. Configure lichess-bot
  5. Upgrade to a BOT account
  6. Run lichess-bot

Advanced options


Acknowledgements

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.

License

lichess-bot is licensed under the AGPLv3 (or any later version at your option). Check out the LICENSE file for the full text.

Citation

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.

About

A bridge between Lichess bots and chess engines. Implements my own chess engine.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages