dsh-whale-game:在 DSH 里一键起停本地 AI 游乐场,与 Agent 同桌对局

前言

在 DeepSeek Harness(DSH)里跑 Agent,常见验证方式是写脚本、调 API 或让模型复述规则。若你想观察 Agent 在有规则、有隐藏信息、有回合约束的环境里如何读盘面、选动作、应对同时暗选,浏览器里开一桌、Agent 通过 MCP 入座,往往比纯对话更直观。

dsh-whale-game(大肥鱼游戏厅 · Whale Arcade)是社区维护的 DSH 插件:在侧栏提供游戏厅的一键起停、地址与 MCP 配置复制,并可选地把人类落子后的唤醒桥接到当前 DSH 会话。游戏规则由独立服务端的纯函数内核裁决,插件不内置模型、不保存模型密钥;你自带 Agent,插件负责出牌桌与集成。下文介绍其定位、能力与安装用法;事实以 GitHub 仓库 README 为准。

这是什么

一句话:你带 Agent,插件出牌桌。

角色 做什么
你 浏览器开桌、点格子出招,无需单独装客户端
Agent DSH 里已配置的 Agent(会调 MCP 即可)入座 1 号位,读 textView 与 legalActions 出招
规则引擎 服务端只当裁判:纯函数内核,不代打、不内置 AI

游戏本体来自独立开源项目 AI 游乐场(ai-playground);本插件只 spawn 启动命令,不 import 平台代码,因此游戏更新、增删玩法不必等插件发版。维护者归属 Treasure-hub-agent;在 SkillHub 插件目录 中分类为模型推理。许可证 MIT;当前 npm 包版本 0.1.4(见 package.json),要求 Node >= 22、DSH >= 0.2.0-rc.1。

六款游戏与节奏

插件自带游戏厅本体(vendor/app,README 称约 14.6 MB),装完即可玩,无需再 clone 平台或联网拉本体。

游戏 玩法要点 节奏 单局时长(README)
抢宝大作战 3×3 九宫格同时暗抢金币,撞车则都拿不到 同时暗选 约 60–90 秒
四子棋 7 列重力落子,横竖斜先四连者胜 轮流 约 2–4 分钟
快艇骰子 五颗骰三次机会,13 栏记分 轮流 约 3–5 分钟
猜拳心理战 三局猜拳,决胜局翻倍 同时暗选 约 30–60 秒
深海猎手 5×5 盲射找船,命中继续 轮流 约 5–8 分钟
黑白棋 8×8 夹住翻面,终局数子 轮流 约 4–8 分钟

「同时暗选」类对局:双方提交后才一起揭示,适合观察 LLM 出招习惯与不可预测性;换 Agent 即换对手风格,规则不变。

核心功能

侧栏游戏厅控制台

安装并重启 DSH 后,左侧栏底部出现 大肥鱼游戏厅 入口(rail 模式下可收成 🎮 细条)。气泡内大致提供:

  1. 一键起停 / 重启:进程起来后还要等到 /api/games 有响应才亮绿灯,运行期每 5 秒复检。
  2. 打开游戏厅:默认在 127.0.0.1:8787 提供网页(端口以界面显示为准)。
  3. 复制地址(给人用浏览器)、复制 MCP 配置(给 Agent)。
  4. 运行设置:可改启动命令;默认用包内自带本体,一般无需配置。
  5. 运行日志、随 DSH 自启(默认开启)。

游戏厅以 detached 独立进程运行:DSH 退出或卸载插件不会自动结束游戏厅;要停需在气泡里点「停止」,或自行结束对应进程。若端口已被占用,插件会识别为「外部实例」——仍可玩,但不负责替停他人起的进程。

MCP 自注册与 Agent 入座

首次激活时,插件尝试把 mcp-ai-playground 写入 profile 的 cordis.patch.yml。气泡里「复制 MCP」示例为:

{
  "mcpServers": {
    "ai-playground": { "type": "http", "url": "http://127.0.0.1:8787/mcp" }
  }
}

典型指令(README 原文思路):连上 MCP 后调用 playground_join_room({ roomId: "<房间号>", seat: 1 }) 入座,再按 legalActions 出招。开局前需把房间号或 MCP 配置交给 Agent。

唤醒桥

DSH 会话消息驱动,浏览器里人类落子不会自动唤醒 Agent。轮到 Agent 时,游戏平台向插件 POST 唤醒请求,插件向目标会话投递 user 消息。端点形如:

POST http://127.0.0.1:<DSH 端口>/whale-arcade/wake
x-wake-secret: <config.json 中的 wakeSecret 或环境变量 WHALE_WAKE_SECRET>
content-type: application/json

插件自起的游戏厅会在 spawn 时注入 WAKE_URL / WAKE_SECRET;若自行启动游戏厅,可用气泡「复制唤醒配置」。密钥首次运行写入 $DSH_HOME/whale-arcade/config.json,可用 WHALE_WAKE_SECRET 覆盖。若宿主未提供 sessionController / sessions,唤醒桥不可用,其余功能仍可正常用。

一局流程(简述)

  1. 侧栏打开游戏厅 → 选游戏 → 开一桌。
  2. 把房间号或 MCP 配置给 Agent,Agent 入座 1 号位。
  3. 双方入座后自动开局;你点界面出招,Agent 读盘面与合法动作出招。
  4. 终局有结算与记录,可导出可回放日志。侧栏可见谁在等谁;未揭示的暗选对他人不可见,服务端按座位发令牌。

安装与启用

插件以当前 DSH 进程权限运行;安装前建议浏览仓库源码与 MIT 许可证,确认符合本机策略。社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,属社区生态。

从 npm 安装(README 推荐,0.1.3 起含唤醒桥):

dsh plugin --profile desktop add dsh-whale-game

装完后重启 DSH,侧栏底部应出现游戏厅入口。包名 dsh-whale-game,亦见 npm。

从 GitHub 安装(跟仓库最新提交):

dsh plugin --profile desktop add github:Treasure-hub-agent/dsh-whale-game

从 Git 安装时 prepare 会执行 node build.mjs 产出 lib/,本机需能安装 npm 依赖。

可选:在 运行设置 中改用本机源码、npx ai-playground-cli 等启动命令;环境变量 PLAYGROUND_CMD、AI_PLAYGROUND_REPO 优先级更高,配置路径 $DSH_HOME/whale-arcade/config.json。

典型用法与排错要点

让人类 + Agent 打一局

  1. 确认气泡里绿灯、端口可达,浏览器打开游戏厅并创建房间。
  2. Agent 侧配置 MCP(或依赖插件写入的 profile 补丁),playground_join_room 入座 seat 1。
  3. 若需自动叫醒 Agent,确认唤醒桥可用且平台已 playground_bind_session 绑定 sessionId。

常见问题(摘自 README 表格,现象 → 方向)

现象 多半是
侧栏没有入口 未安装或未重启 DSH;看 DevTools 是否有 dsh-whale-game 报错
一直「正在拉起…」后失败 端口被占用;或运行设置里启动命令错误(清空恢复自带本体)
「外部实例运行中」 端口上已有非本插件起的游戏厅;能玩,停服需在原启动处处理
唤醒桥不可用 宿主未提供会话相关服务
DSH 无法启动 从 profile 依赖 / bundles 移除 dsh-whale-game 后重装 profile 依赖再试

结尾

dsh-whale-game 把「本地 AI 游乐场 + 六款棋骰类对局 + MCP 入座 + 可选唤醒桥」收进 DSH 侧栏:适合想在 Harness 里实测 Agent 博弈与规则遵循、又不想自己拼进程与配置的开发者。目录与源码:

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

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

小夜