dsh-doudizhu:在 DSH 等待回话时进行在线斗地主

前言

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 的后端,使用 WorkersDurable ObjectsD1 负责匹配、实时同步与服务端经济记账。客户端内置默认 API 地址,使用者无需自建后端。

当前可用能力

下面列出的能力均来自当前插件说明:

  • 3 人在线 PVP。
  • 真人不足 15 秒自动补机器人。
  • Token/签到。
  • 匹配。
  • WS 对局。
  • 经济闭环。
  • React/TypeScript 插件入口。
  • 浅色大厅/牌桌 UI。
  • 默认头像选择。
  • 昵称编辑。
  • 规则引擎。
  • 协议版本与应用版本强制校验,用于防止在线对局不同步。

客户端为在线唯一模式,没有本地离线对局。

安装与启用

前置条件是:

  1. Node.js ≥ 20。
  2. dsh 命令在 PATH 中。dsh 是 npm 包 @deepseek-ai/dsh 提供的命令,不是系统自带。
  3. 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye