前言¶
在 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 交互體驗的開發者,這是一個值得參考的實現。