A fully local Xiangqi desktop app
Project description
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!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file xiangqilab-1.0.1.tar.gz.
File metadata
- Download URL: xiangqilab-1.0.1.tar.gz
- Upload date:
- Size: 116.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
809f223037bceeb5c9fffde7665ebbfa797b90e3be4d653580380ba53e5ab526
|
|
| MD5 |
94e8b6aafbc8c2ea5d53c75abb682013
|
|
| BLAKE2b-256 |
8894eba0bf2fed355ea707f889f8f05279ced4e3fea032d184fd1431a6e20dcb
|
File details
Details for the file xiangqilab-1.0.1-py3-none-any.whl.
File metadata
- Download URL: xiangqilab-1.0.1-py3-none-any.whl
- Upload date:
- Size: 133.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ea94e4ac83c0eeacdf34e14eea6d39822054d86a5b7a3c9296a338cc428141ad
|
|
| MD5 |
f4e51e4be73933a86dfb5986b1d740d7
|
|
| BLAKE2b-256 |
143eed94b5f2e7a50c59249bba0f0993423d5971b37e13d321111dbe41e44588
|