$ account sojourners
This is a JavaFX desktop application for playing, analyzing, and linking Chinese chess (Xiangqi). It supports UCI and UCCI chess engines, allowing human vs. engine or engine vs. engine play, as well as pure analysis. The application includes opening book management (local SQLite-based books and a cloud book via chessdb.cn), game record handling (PGN, TXQ, XQF, CBR formats), and a unique "linking" feature that automates play on external chess platforms using screen capture (YOLO models) and mouse simulation. The architecture follows a standard JavaFX MVC pattern with FXML views and controller classes, but the main Controller is monolithic (~900 lines). Cross-platform support is achieved through platform-specific linker implementations (Windows JNA, Linux X11, macOS osascript). The codebase demonstrates solid engineering with reusable utility classes and callback interfaces, though some dependencies are hardcoded and platform linkers are fragile.