前言¶
在 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 模式下可收成 🎮 细条)。气泡内大致提供:
- 一键起停 / 重启:进程起来后还要等到
/api/games有响应才亮绿灯,运行期每 5 秒复检。 - 打开游戏厅:默认在
127.0.0.1:8787提供网页(端口以界面显示为准)。 - 复制地址(给人用浏览器)、复制 MCP 配置(给 Agent)。
- 运行设置:可改启动命令;默认用包内自带本体,一般无需配置。
- 运行日志、随 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,唤醒桥不可用,其余功能仍可正常用。
一局流程(简述)¶
- 侧栏打开游戏厅 → 选游戏 → 开一桌。
- 把房间号或 MCP 配置给 Agent,Agent 入座 1 号位。
- 双方入座后自动开局;你点界面出招,Agent 读盘面与合法动作出招。
- 终局有结算与记录,可导出可回放日志。侧栏可见谁在等谁;未揭示的暗选对他人不可见,服务端按座位发令牌。
安装与启用¶
插件以当前 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 打一局
- 确认气泡里绿灯、端口可达,浏览器打开游戏厅并创建房间。
- Agent 侧配置 MCP(或依赖插件写入的 profile 补丁),
playground_join_room入座 seat 1。 - 若需自动叫醒 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 博弈与规则遵循、又不想自己拼进程与配置的开发者。目录与源码: