Xiangqi Lab
A fully local Xiangqi desktop app
Features
- 100% Local & Private — No internet required, no accounts, no data collection. Everything (AI + saved games) runs and stays on your computer.
- Fully Open Source — Licensed under AGPL-3.0 with an additional clause prohibiting use of the code for training AI models.
- Extremely Lightweight — Built with Python and only the built-in Tkinter GUI library.
- Cross-Platform — Works on Windows, macOS, and Linux.
- Multiple Play Modes (requires external engine):
- Player vs AI
- AI vs AI
- AI move suggestions
- Easy Navigation — Easily switch between the main line and AI-generated variations.
- Powerful Game Editor — Create and edit your own scenarios.
- Compatible with strong engines — Supports Fairy-Stockfish and Pikafish (you must download the engine + neural network separately).
Xiangqi Lab is designed for study, practice, and experimentation. It is not intended for cheating in online games. Please respect fair play.
Screenshots
Xiangqi Lab is multilingual:
English • Simplified Chinese • Traditional Chinese • Vietnamese • Malay
Main Interface
| English | Simplified Chinese |
|---|---|
Game Editor
| English | Simplified Chinese |
|---|---|
AI Analysis (with external engine)
| English | Simplified Chinese |
|---|---|
Install Xiangqi Lab
Prerequisites
- Python 3.13 (or higher) with Tkinter
Windows
Recommended (easiest):
Alternative (advanced): Install from source.
- Install Python with Tkinter
- Install Git
- Install Xiangqi Lab from source and Launch
git clone https://gitlab.com/xiangqilab/xiangqilab.git cd xiangqilab ./install.bat ./run.bat
MacOS
- Install Homebrew first
- Install Python with Tkinter
brew install python-tk
- Install Xiangqi Lab from source and Launch
git clone https://gitlab.com/xiangqilab/xiangqilab.git cd xiangqilab ./install.sh ./run.sh
Ubuntu
Arch Linux
- Install Xiangqi Lab from AUR and Launch
paru -S xiangqilab # or use "yay" xiangqilab
Other Linux Distributions
- Install Xiangqi Lab from source and Launch
git clone https://gitlab.com/xiangqilab/xiangqilab.git cd xiangqilab ./install.sh ./run.sh
Engine Setup (One-time only)
Xiangqi Lab requires a separate Xiangqi engine. We recommend Fairy-Stockfish or Pikafish.
- Download an Engine
- Fairy-Stockfish
- Pikafish
- Launch Xiangqi Lab
- Open AI Settings
- Click the "AI Settings" button in the main window.
- Configure Paths
- AI Engine: Select the downloaded engine executable
- Neural Network: Select the
.nnuefile
- Test the Engine
- Click the "Test Engine" button
- Save the Settings
- Press the "Save" button.
License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-or-later).
Additional restriction: Use of this project's source code for training any AI or machine learning models is strictly prohibited.
See the LICENSE file for full details.
Contributing
Contributions are welcome! Feel free to:
- Open issues for bugs or feature requests
- Submit pull requests
- Provide ideas
Enjoy playing Xiangqi!
Metadata
Release files for xiangqilab 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| xiangqilab-1.2.0.tar.gz | 120.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| xiangqilab-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 261.2 kB
Release files / xiangqilab-1.2.0.tar.gz
| Download URL | xiangqilab-1.2.0.tar.gz |
|---|---|
| Size | 120.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8073c2cd199dfc31530fa9d3af3dea3560df34ae4afd2dac2a14ac8ee99866d9
|
|
BLAKE2b-256 checksum How to use checksums |
84a8bf6608cb64948a597c2e2c32695cc1d9081385915b57c50ec1fe204d8d3d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|
Release files / xiangqilab-1.2.0-py3-none-any.whl
| Download URL | xiangqilab-1.2.0-py3-none-any.whl |
|---|---|
| Size | 140.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4326abcd3d2ce043411fb5090695bb3417c9fc3c523bafd7891dc3fcae907289
|
|
BLAKE2b-256 checksum How to use checksums |
af98ac21473bee778ad66971f8cd85d7eaa79fca6204a6b47d915ac68634088a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.5
|