前言¶
DSH Web UI (dsh web) 專注於智能體交互與開發調試,但在本地多人娛樂場景上仍有空白。dsh-poker 是一個社區插件,爲 DSH Web UI 增加了一個本地多人德州撲克遊戲中心。它通過服務端權威架構和 WebSocket 實時通信,支持多窗口同機對戰,並提供可選的服務端 AI 玩家。
是什麼¶
這是一個由 Raybbish 維護的非官方社區插件(非 DeepSeek 官方項目),採用 MIT 許可證。它運行在 DSH Web UI 進程中,利用 DSH 的存儲域實現狀態持久化。插件核心價值在於實現了一個服務端權威的多人遊戲環境,支持完整的德州撲克規則(包括盲注、側池等)和不可變的 Play Token 資產賬本。
核心功能¶
- 俱樂部與房間:支持創建或通過房間 ID 加入桌臺,界面支持中英文切換。
- 完整交互:提供表達式的 UI 動畫和完整的下注控制(最小加註、半底池、三/四分底池、全底池等)。
- 服務器端 AI:支持添加服務器端 AI 玩家,通過 DeepSeek API 驅動,響應經過規則校驗。
- 真實規則:實現標準德州撲克規則,包括盲注結構、分池邏輯、加註進度等。
- 不可變賬本:使用 Play Tokens 作爲遊戲資產,所有錢包變動記錄爲不可變的賬本條目。
- 狀態與容錯:基於 WebSocket 的實時狀態同步,支持斷開重連快照恢復。當最後一名人類玩家斷開時,當前手牌凍結;其他玩家斷開時,超時自動棄牌/過牌。
- 持久化:利用 DSH storage domain,遊戲狀態、桌臺和玩家身份在
dsh web重啓後依然存在。
安裝與啓用¶
安裝該插件需滿足 dsh >= 0.1.0-rc.7 且 pnpm 在系統路徑中。插件通過 profile bundle 機制自動注入。
# 安裝命令(請將路徑替換爲實際路徑)
npx @deepseek-ai/dsh plugin --profile web add -w file:/absolute/path/to/dsh-poker
# 啓動 Web UI
npx @deepseek-ai/dsh web
安裝後,插件會自動在 Web UI 的啓動配置中插入 poker loader 行,無需手動編輯配置文件。
典型用法¶
本地多窗口對戰¶
- 在兩瀏覽器窗口(或普通窗口+無痕窗口)中打開
http://127.0.0.1:3080。 - 點擊側邊欄底部的 ♠ Poker。
- 在一個窗口創建桌臺,在另一個窗口輸入不同暱稱並加入。
- 桌臺開啓後即可進行對戰,支持刷新頁面恢復當前狀態。
啓用 AI 玩家¶
- 進入桌臺後,點擊 AI 設置 或 + 加入機器人。
- 輸入 DeepSeek API Key。此 Key 僅保存在內存中,不會寫入文件。
- 爲實現無人值守啓動,可通過環境變量設置:
DEEPSEEK_API_KEY=sk-your-key npx @deepseek-ai/dsh web
注意事項¶
- 非官方項目:該插件由社區開發,與 DeepSeek 無官方隸屬關係。
- 僅限模擬:遊戲使用 Play Tokens,無錢包、無真錢交易、無公網功能。
- 依賴環境:需要 DeepSeek Harness 版本 >= 0.1.0-rc.7 以及系統 PATH 中的 pnpm。
- 安全性:AI API Key 僅在當前進程內存中有效,重啓後需重新輸入。
結語¶
dsh-poker 爲 DSH Web UI 提供了一個輕量級、服務端權威的多人遊戲方案。它不依賴外部網絡,利用本地進程通信實現穩定體驗,適合在開發調試間隙進行本地多人娛樂或作爲遊戲中心功能的示例參考。