前言¶
DSH 的擴展方式之一是插件。有些插件解決工具鏈問題,也有一類偏輕量的 Web GUI 插件,用來在等待智能體回話的間隙做一點臨時交互。dsh-doudizhu 屬於後者:它把鬥地主放進 DeepSeek Harness Web GUI 裏,讓等待時間可以打一把在線牌局。
插件定位¶
dsh-doudizhu 是一個運行在 DeepSeek Harness Web GUI(http://127.0.0.1:3080)裏的 DSH 鬥地主插件。
它由 AwesomeHou 維護,採用 MIT 許可。當前能力集中在在線對戰:3 人在線 PVP,真人不足 15 秒時自動補機器人。客戶端使用 React/TypeScript 插件入口,並提供淺色大廳與牌桌界面。
在線對戰依賴部署在 Cloudflare 的後端,使用 Workers、Durable Objects 和 D1 負責匹配、即時同步與服務端經濟記賬。客戶端內置默認 API 地址,使用者無需自建後端。
當前可用能力¶
下面列出的能力均來自當前插件說明:
- 3 人在線 PVP。
- 真人不足 15 秒自動補機器人。
- Token/簽到。
- 匹配。
- WS 對局。
- 經濟閉環。
- React/TypeScript 插件入口。
- 淺色大廳/牌桌 UI。
- 默認頭像選擇。
- 暱稱編輯。
- 規則引擎。
- 協議版本與應用版本強制校驗,用於防止在線對局不同步。
客戶端爲在線唯一模式,沒有本地離線對局。
安裝與啓用¶
前置條件是:
- Node.js ≥ 20。
dsh命令在 PATH 中。dsh是 npm 包@deepseek-ai/dsh提供的命令,不是系統自帶。pnpm在 PATH 中。dsh plugin依賴pnpm。
推薦安裝命令:
dsh plugin --profile web add github:AwesomeHou/dsh-doudizhu
如果提示 workspace root 報錯,即出現 ERR_PNPM_ADDING_TO_ROOT,可以加 -w:
dsh plugin --profile web add -w github:AwesomeHou/dsh-doudizhu
安裝後重啓 dsh web,刷新界面,在側欄查看“鬥地主”入口。
安裝動作會把插件加入當前 profile 的 bundle 棧,補丁文件是 cordis.patch.yml。
如果安裝時看到 git-hosted plugins allowBuilds 相關提示,當前插件說明裏沒有 prepare/install 構建腳本,因此無需添加 allowBuilds 條目。只要 pnpm 可用,可以重跑安裝命令。
卸載命令:
dsh plugin --profile web remove dsh-doudizhu
使用與本地調試¶
安裝完成並重啓 dsh web 後,從側欄進入鬥地主入口。進入後可選擇默認頭像、編輯暱稱,並通過匹配進入在線對局。
在線對局中,真人不足時會在 15 秒內由機器人補位。Token/簽到、匹配、WS 對局和經濟閉環均可用。
如果是維護或調試插件源碼,本地開發流程如下:
npm install
npm run typecheck
npm test
npm run build
改完源碼後必須重新構建,並提交 lib/。分發依賴隨倉庫攜帶的構建產物。
後端本地調試:
cd worker && wrangler dev
注意事項¶
在線 PVP 要求所有玩家的客戶端協議與服務器一致。協議不一致時,客戶端會提示更新;服務端也可以返回 426 拒絕連接。
需要注意以下幾點:
- 客戶端爲在線唯一模式,無本地離線對局。
- 在線對戰依賴 Cloudflare 後端,客戶端內置默認 API 地址。
dsh plugin依賴pnpm。- 插件隨 DSH / dsh 插件環境運行,會具備當前
dsh進程可獲得的權限。安裝前應檢查源碼與 MIT 許可證。 - 安裝和卸載都作用於當前
--profile web。
參考¶
GitHub:
https://github.com/AwesomeHou/dsh-doudizhu