Preface

DeepSeek Harness (DSH) is a web interface that can be extended through plugins. This article introduces dsh-Plugin--ChineseChess, a plugin that opens a standalone Chinese chess (xiangqi) board in the DSH UI. The user plays Red, and the DSH model plays Black.

Plugin Overview

The plugin is maintained by TryDing-T under the MIT license. It does not rely on a local AI engine for final decisions; instead, it stores the game state in the memory of the DSH Host process. The Host side is responsible for board rules, move-legality validation, and generating legal candidate moves, then uses a lightweight background call to the DSH model to determine Black’s move.

Installation

DSH must already be installed, and the web profile must be used. Run the following command to install it:

dsh plugin --profile web add "https://github.com/TryDing-T/dsh-Plugin--ChineseChess/releases/download/v0.1.19/deepseek-ai-dsh-plugin-xiangqi-0.1.19.tgz"

After installation, you can use it by clicking “Play a Xiangqi Game” in the plugin entry on the left side of the DSH UI.

Core Features

  • Standalone board: 9×10 standard layout, including the river separator (“Chu River and Han Border”) and the nine-palace areas.
  • Host-side validation: The Host side handles all game rules, move legality, and version validation.
  • AI decision-making: The Host performs a background call to the model to generate candidate moves, and the model decides the final move.
  • Interactive controls: Supports minimizing, undoing a move, starting a new game, resigning, and copying the move record.
  • Multi-tab sharing: Multiple tabs within the same DSH process share the global game and AI state.

How to Use

  • Making a move: Click a Red piece, then click a legal destination.
  • Starting a game: Click “New Game” to create a new global game.
  • Minimizing: Use the “Minimize Board” button in the top-right corner of the board to collapse it into the floating bar in the bottom-right corner.

Notes

  • Data persistence: The game state is stored only in the memory of the Host process and is not written to any user task session history. After DSH restarts or the plugin reloads, it resets to the unstarted state.
  • Session switching: Switching DSH chat windows does not reopen the game. Closing the page or minimizing it does not affect the game state in Host memory.
  • Rule enforcement: Rules such as perpetual check, perpetual capture, and repeated positions are not currently adjudicated automatically and must be handled manually.
  • Historical compatibility: In older versions (≤0.1.16), if historical sessions contain xiangqi/change entries that are not marked as ignorable: true, the current DSH may refuse to read them.

Conclusion

This plugin is suitable for users who want to add a board-game/xiangqi interaction to DSH. It is fully self-contained and complies with the DSH ModuleLoader specification. For more details, see the GitHub repository or the DSH community directory.