Mình mở topic này với mong muốn AE cùng nhau chia sẻ những Repo GitHub hay về Cờ Tướng – Cờ Úp (Xiangqi – Jieqi): từ engine, GUI, luật cờ, bàn cờ Web, đọc FEN, quản lý biên bản, đấu online cho tới các công cụ phục vụ nghiên cứu.
Theo mình, đây là một thời điểm rất đáng để phong trào phần mềm cờ sôi động trở lại.
Ngày trước nói tới phần mềm cờ, phần lớn chúng ta chỉ quanh quẩn:
Engine nào mạnh hơn?
Book nào sâu hơn?
Cho hai software đánh nhau xem con nào thắng?
Nhưng thời AI Coding hiện nay thì cuộc chơi đã khác.
Người chơi cờ có kinh nghiệm, hiểu mình cần gì, thậm chí không phải lập trình viên chuyên nghiệp, đã có thể dùng AI như Codex, Claude Code, Gemini, Copilot... để đọc source, giải thích kiến trúc, sửa code, viết giao diện, kết nối engine, xây database, làm Web/App và thử nghiệm những ý tưởng riêng.
Điểm quan trọng lúc này không còn đơn thuần là:
“Anh có biết code hay không?”
mà dần chuyển thành:
“Anh có biết mình muốn làm cái gì hay không?”
Một người hiểu cờ, đã sử dụng nhiều software trong nhiều năm, biết chức năng nào thực sự hữu ích, thao tác nào thừa, người dùng khó chịu ở đâu... cộng thêm AI Coding, hoàn toàn có khả năng tạo ra một sản phẩm rất tốt.
Không nhất thiết phải phát minh lại mọi thứ từ số 0.
GitHub hiện đã có cả một hệ sinh thái. Riêng topic Xiangqi có khoảng 165 repository công khai, từ C++, Python, JavaScript, TypeScript, Java cho tới C#. Còn Jieqi tuy ít hơn nhưng cũng đã xuất hiện những project khá hoàn chỉnh về GUI, engine và Web.
1. Pikafish
Đây có lẽ là cái tên AE chơi software hiện nay quá quen thuộc.
Pikafish là engine Xiangqi mã nguồn mở phát triển từ Stockfish, hiện GitHub đã có hơn 2.000 stars và hơn 360 forks. Source engine, NNUE, protocol, hệ thống build... đều có thể nghiên cứu trực tiếp.
Pikafish trên GitHub
2. Fairy-Stockfish
Một project rất đáng xem nếu muốn nghiên cứu cách một engine hỗ trợ nhiều biến thể cờ.
Fairy-Stockfish hỗ trợ Xiangqi, UCI/UCCI cùng nhiều chess variant khác và hiện có khoảng 900 stars.
Fairy-Stockfish
3. ChineseChess – Qt/C++
Repo này rất đáng tham khảo đối với AE muốn làm GUI desktop đa nền tảng.
Project dùng Qt5/Qt6, chạy Windows, macOS, Linux, có đấu online và source/comment tương đối rõ. Hiện repo có hơn 800 stars và 200 forks.
XMuli / ChineseChess
4. ElephantEye – Elephant Eye
Một project rất lâu đời nhưng cực kỳ có giá trị về mặt nghiên cứu engine và protocol.
ElephantEye hỗ trợ UCCI, source mở và có hàng trăm star/fork. Với AE muốn hiểu cấu trúc engine Xiangqi truyền thống thì đây vẫn là tài liệu tốt.
ElephantEye / EleEye
5. Xiangqiground
AE nào muốn làm Web/Mobile nên xem repo này.
Đây là thư viện bàn cờ Xiangqi tương tác được phát triển theo hướng chessground: kéo thả quân, animation, premove, mũi tên SVG, highlight nước đi, FEN, xoay bàn... và không phụ thuộc framework.
Xiangqiground
6. xiangqi.js
Một thư viện JavaScript xử lý phần luật cờ khá gọn: sinh nước đi, kiểm tra nước hợp lệ, chiếu, chiếu bí, hòa, FEN...
Rất thích hợp để lấy làm lớp logic cho một Web App thay vì tự viết lại toàn bộ luật cờ.
xiangqi.js
Phần này mình nghĩ còn nhiều đất để AE Việt Nam khai phá hơn.
7. JieqiBox
Một GUI Jieqi khá hiện đại, dùng Tauri + Vue 3 + TypeScript, có Windows/Linux và hỗ trợ một phần Android.
Có bàn cờ, phân tích engine thời gian thực, FEN, editor, lịch sử nước đi và hỗ trợ Pikafish Jieqi. Đặc biệt còn có cả Tiếng Việt.
JieqiBox
8. Jieqi AI / Musesfish
Repo của miaosiSari chứa khá nhiều code nghiên cứu Jieqi, từ PVS, MTD, khai cuộc cho tới các heuristic riêng của Cờ Úp như ám pháo, ám mã, kỳ vọng quân úp...
Đây là source rất thú vị cho AE muốn hiểu engine Jieqi khác Xiangqi thông thường ở đâu.
miaosiSari / Jieqi
9. FlipChess
Project này càng thú vị nếu AE đang nghĩ tới một Jieqi Web/PWA hoàn chỉnh.
Stack khá hiện đại:
React + TypeScript + Vite + PWA + Express + MySQL
Có đấu AI, replay, FEN, PVP, tài khoản, ranking, server và kết nối Pikafish Jieqi.
FlipChess – Jieqi PWA
10. Jieqi Web + Flask
Một ví dụ khác khá dễ đọc cho người mới: frontend JavaScript thuần, backend Flask, gọi engine Musesfish.
Có đấu người với máy, AI vs AI, phân tích thế trận, undo/redo và xoay bàn.
justLxy / Jieqi
Trước đây một software thương mại có lợi thế rất lớn vì một cá nhân bình thường khó lòng tự viết:
Engine interface + bàn cờ + database + book + biên bản + network + GUI + installer...
Bây giờ thì khác.
Ta có thể lấy một project bàn cờ Web, một thư viện luật cờ, kết nối Pikafish, đưa yêu cầu cho AI viết lớp trung gian, rồi tiếp tục yêu cầu:
AI Coding không tự biến một người không biết gì thành chuyên gia phần mềm.
Nhưng nó đang khuếch đại rất mạnh lợi thế của những người có tư duy sản phẩm và có trải nghiệm sử dụng thực tế.
Đây chỉ là cảm nhận cá nhân sau quá trình sử dụng software, không phải kết luận kỹ thuật về code của tác giả.
Pengfei có rất nhiều chức năng, nhưng càng về sau mình lại thấy giao diện khá rối. Những thao tác như đổi engine, đổi book hoặc xử lý nhiều chức năng đôi lúc cho cảm giác nặng và thiếu độ liền mạch.
Mình hiểu một software thương mại phải có cơ chế bảo vệ bản quyền, chống crack, kiểm tra license..., nhưng nếu lớp bảo vệ hoặc kiến trúc chương trình làm ảnh hưởng tới trải nghiệm thì cuối cùng người dùng vẫn là người chịu sự đánh đổi.
Trong khi sử dụng Shark, Vô Cực (Infinity), cá nhân mình lại thích cảm giác gọn và mượt hơn ở nhiều thao tác.
Điều này cho thấy:
Nhiều chức năng chưa chắc đã tạo ra phần mềm tốt.
Một software tốt cần cân bằng giữa:
Tính năng + tốc độ + giao diện + workflow + sự ổn định + trải nghiệm người chơi cờ.
Đó lại chính là nơi những người chơi cờ lâu năm có lợi thế.
Programmer có thể biết cách viết một button.
Nhưng người chơi cờ mới biết:
Button đó có đáng tồn tại hay không.
(CÒN TIẾP) (Theo Thanglongkydao)
Theo mình, đây là một thời điểm rất đáng để phong trào phần mềm cờ sôi động trở lại.
Ngày trước nói tới phần mềm cờ, phần lớn chúng ta chỉ quanh quẩn:
Engine nào mạnh hơn?
Book nào sâu hơn?
Cho hai software đánh nhau xem con nào thắng?
Nhưng thời AI Coding hiện nay thì cuộc chơi đã khác.
Người chơi cờ có kinh nghiệm, hiểu mình cần gì, thậm chí không phải lập trình viên chuyên nghiệp, đã có thể dùng AI như Codex, Claude Code, Gemini, Copilot... để đọc source, giải thích kiến trúc, sửa code, viết giao diện, kết nối engine, xây database, làm Web/App và thử nghiệm những ý tưởng riêng.
Điểm quan trọng lúc này không còn đơn thuần là:
“Anh có biết code hay không?”
mà dần chuyển thành:
“Anh có biết mình muốn làm cái gì hay không?”
Một người hiểu cờ, đã sử dụng nhiều software trong nhiều năm, biết chức năng nào thực sự hữu ích, thao tác nào thừa, người dùng khó chịu ở đâu... cộng thêm AI Coding, hoàn toàn có khả năng tạo ra một sản phẩm rất tốt.
Không nhất thiết phải phát minh lại mọi thứ từ số 0.
GitHub hiện đã có cả một hệ sinh thái. Riêng topic Xiangqi có khoảng 165 repository công khai, từ C++, Python, JavaScript, TypeScript, Java cho tới C#. Còn Jieqi tuy ít hơn nhưng cũng đã xuất hiện những project khá hoàn chỉnh về GUI, engine và Web.
1. Pikafish
Đây có lẽ là cái tên AE chơi software hiện nay quá quen thuộc.
Pikafish là engine Xiangqi mã nguồn mở phát triển từ Stockfish, hiện GitHub đã có hơn 2.000 stars và hơn 360 forks. Source engine, NNUE, protocol, hệ thống build... đều có thể nghiên cứu trực tiếp.
Pikafish trên GitHub
2. Fairy-Stockfish
Một project rất đáng xem nếu muốn nghiên cứu cách một engine hỗ trợ nhiều biến thể cờ.
Fairy-Stockfish hỗ trợ Xiangqi, UCI/UCCI cùng nhiều chess variant khác và hiện có khoảng 900 stars.
Fairy-Stockfish
3. ChineseChess – Qt/C++
Repo này rất đáng tham khảo đối với AE muốn làm GUI desktop đa nền tảng.
Project dùng Qt5/Qt6, chạy Windows, macOS, Linux, có đấu online và source/comment tương đối rõ. Hiện repo có hơn 800 stars và 200 forks.
XMuli / ChineseChess
4. ElephantEye – Elephant Eye
Một project rất lâu đời nhưng cực kỳ có giá trị về mặt nghiên cứu engine và protocol.
ElephantEye hỗ trợ UCCI, source mở và có hàng trăm star/fork. Với AE muốn hiểu cấu trúc engine Xiangqi truyền thống thì đây vẫn là tài liệu tốt.
ElephantEye / EleEye
5. Xiangqiground
AE nào muốn làm Web/Mobile nên xem repo này.
Đây là thư viện bàn cờ Xiangqi tương tác được phát triển theo hướng chessground: kéo thả quân, animation, premove, mũi tên SVG, highlight nước đi, FEN, xoay bàn... và không phụ thuộc framework.
Xiangqiground
6. xiangqi.js
Một thư viện JavaScript xử lý phần luật cờ khá gọn: sinh nước đi, kiểm tra nước hợp lệ, chiếu, chiếu bí, hòa, FEN...
Rất thích hợp để lấy làm lớp logic cho một Web App thay vì tự viết lại toàn bộ luật cờ.
xiangqi.js
Phần này mình nghĩ còn nhiều đất để AE Việt Nam khai phá hơn.
7. JieqiBox
Một GUI Jieqi khá hiện đại, dùng Tauri + Vue 3 + TypeScript, có Windows/Linux và hỗ trợ một phần Android.
Có bàn cờ, phân tích engine thời gian thực, FEN, editor, lịch sử nước đi và hỗ trợ Pikafish Jieqi. Đặc biệt còn có cả Tiếng Việt.
JieqiBox
8. Jieqi AI / Musesfish
Repo của miaosiSari chứa khá nhiều code nghiên cứu Jieqi, từ PVS, MTD, khai cuộc cho tới các heuristic riêng của Cờ Úp như ám pháo, ám mã, kỳ vọng quân úp...
Đây là source rất thú vị cho AE muốn hiểu engine Jieqi khác Xiangqi thông thường ở đâu.
miaosiSari / Jieqi
9. FlipChess
Project này càng thú vị nếu AE đang nghĩ tới một Jieqi Web/PWA hoàn chỉnh.
Stack khá hiện đại:
React + TypeScript + Vite + PWA + Express + MySQL
Có đấu AI, replay, FEN, PVP, tài khoản, ranking, server và kết nối Pikafish Jieqi.
FlipChess – Jieqi PWA
10. Jieqi Web + Flask
Một ví dụ khác khá dễ đọc cho người mới: frontend JavaScript thuần, backend Flask, gọi engine Musesfish.
Có đấu người với máy, AI vs AI, phân tích thế trận, undo/redo và xoay bàn.
justLxy / Jieqi
Trước đây một software thương mại có lợi thế rất lớn vì một cá nhân bình thường khó lòng tự viết:
Engine interface + bàn cờ + database + book + biên bản + network + GUI + installer...
Bây giờ thì khác.
Ta có thể lấy một project bàn cờ Web, một thư viện luật cờ, kết nối Pikafish, đưa yêu cầu cho AI viết lớp trung gian, rồi tiếp tục yêu cầu:
“Thêm MultiPV.”
“Vẽ mũi tên biến chính.”
“Cho click một nước trong PV để dựng thử thế cờ.”
“Viết chức năng luyện nhớ ván.”
“Thêm database FEN.”
“Làm PWA chạy trên iPhone.”
Và từng bước nó thành một sản phẩm thật.“Viết server đấu online.”
AI Coding không tự biến một người không biết gì thành chuyên gia phần mềm.
Nhưng nó đang khuếch đại rất mạnh lợi thế của những người có tư duy sản phẩm và có trải nghiệm sử dụng thực tế.
Đây chỉ là cảm nhận cá nhân sau quá trình sử dụng software, không phải kết luận kỹ thuật về code của tác giả.
Pengfei có rất nhiều chức năng, nhưng càng về sau mình lại thấy giao diện khá rối. Những thao tác như đổi engine, đổi book hoặc xử lý nhiều chức năng đôi lúc cho cảm giác nặng và thiếu độ liền mạch.
Mình hiểu một software thương mại phải có cơ chế bảo vệ bản quyền, chống crack, kiểm tra license..., nhưng nếu lớp bảo vệ hoặc kiến trúc chương trình làm ảnh hưởng tới trải nghiệm thì cuối cùng người dùng vẫn là người chịu sự đánh đổi.
Trong khi sử dụng Shark, Vô Cực (Infinity), cá nhân mình lại thích cảm giác gọn và mượt hơn ở nhiều thao tác.
Điều này cho thấy:
Nhiều chức năng chưa chắc đã tạo ra phần mềm tốt.
Một software tốt cần cân bằng giữa:
Tính năng + tốc độ + giao diện + workflow + sự ổn định + trải nghiệm người chơi cờ.
Đó lại chính là nơi những người chơi cờ lâu năm có lợi thế.
Programmer có thể biết cách viết một button.
Nhưng người chơi cờ mới biết:
Button đó có đáng tồn tại hay không.
(CÒN TIẾP) (Theo Thanglongkydao)