前言¶
在 DeepSeek Harness(DSH)WebUI 的开发与使用过程中,除了常规的对话交互,有时需要集成一些轻量级的娱乐功能来丰富界面交互或作为演示案例。针对这一需求,dsh-chess-xq-plugin 提供了一个基于浏览器环境运行的中国象棋人机对战解决方案。
插件介绍¶
该插件名为「天界象棋」,由 feverZHONG 维护,属于趣味换装类工具。它通过浮窗面板的形式集成到 DSH WebUI 中,解决了在单机环境中快速搭建一个具备完整规则引擎和 AI 对战能力的棋类应用的问题。
核心功能¶
插件提供了以下核心能力:
- 浮窗面板与位置记忆:输入框工具行左端设有「♟ 象棋」开关,可打开浮窗面板。面板标题栏支持拖拽移动,且面板位置会自动保存,下次打开时恢复到上次的位置。
- 棋盘布局:浮窗面板内左侧为棋盘,右侧为落子记录。最新的一手棋会显示在记录的最上方,走子过程实时刷新。
- 完整规则引擎:内置了完整的中国象棋规则,包括走法生成、将军检测、将死判定、困毙(和棋)判定以及飞将判定。
- AI 对战:AI 执黑先行,使用 alpha-beta 搜索算法配合位置估值表进行对战,默认搜索深度为 3 层。AI 思考时面板会显示转圈提示和「本天使思考中…」。
- 莉娅台词:莉娅拥有根据对局场景触发的活台词,包括开局、将军、被将军、吃子、首杀、兑子、兵过河、残局、昏招、悔棋、胜负、和棋等状态。
- 游戏控制:支持悔棋(撤回一整轮,即玩家一步加 AI 一步)、保存/读取/删除存档(基于 FEN 格式)。
- AI 难度调节:在 WebUI 的设置页中,可以调整 AI 的搜索深度(1~4 层),以控制对局难度。
安装与启用¶
安装后需重启 WebUI 以使插件生效。
dsh plugin --profile web add dsh-chess-xq-plugin-0.1.0.tgz
典型用法¶
- 打开面板:通过输入框工具行左端的「♟ 象棋」开关打开浮窗面板。
- AI 交互:AI 可通过工具栏调用
chess_talk(发话)、chess_state(查询状态)或chess_new_game(开新局)来控制对局。 - 调整参数:在 WebUI 设置页调整 AI 难度。
适用场景与注意¶
- 适用场景:适合希望在 DSH WebUI 中增加休闲互动功能、展示插件扩展能力或进行简单的规则引擎演示的开发者。
- 配置与存档:插件的配置持久化到
$DSH_HOME/dsh-chess-xq-config。存档数据存储在浏览器 localStorage 中(键名为dsh-chess-xq-saves)。这意味着更换浏览器或清空缓存会导致存档丢失。 - 依赖与许可:插件无 Config schema 依赖,安装即用。代码使用 MIT 许可证,文档使用 CC BY 4.0 许可证。
结语¶
dsh-chess-xq-plugin 是一个结构清晰、功能完备的 DSH 插件示例,展示了如何将游戏逻辑、UI 交互与 DSH 的工具系统结合。对于需要丰富 WebUI 交互体验的开发者,这是一个值得参考的实现。