dsh-poker:DSH Web UI 本地多人德州扑克插件

前言

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 行,无需手动编辑配置文件。

典型用法

本地多窗口对战

  1. 在两浏览器窗口(或普通窗口+无痕窗口)中打开 http://127.0.0.1:3080。
  2. 点击侧边栏底部的 ♠ Poker。
  3. 在一个窗口创建桌台,在另一个窗口输入不同昵称并加入。
  4. 桌台开启后即可进行对战,支持刷新页面恢复当前状态。

启用 AI 玩家

  1. 进入桌台后,点击 AI 设置 或 + 加入机器人。
  2. 输入 DeepSeek API Key。此 Key 仅保存在内存中,不会写入文件。
  3. 为实现无人值守启动,可通过环境变量设置:
    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 提供了一个轻量级、服务端权威的多人游戏方案。它不依赖外部网络,利用本地进程通信实现稳定体验,适合在开发调试间隙进行本地多人娱乐或作为游戏中心功能的示例参考。

羽毛球分组比赛记分
小程序二维码

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

小夜