DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Treasure-hub-agent /

Treasure-hub-agent/dsh-whale-game

Verified

DeepSeek Harness 插件 · 大肥鱼游戏厅:一键起停本地 AI 游乐场,和你的 Agent 开一桌

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@151dd25e

🐳 大肥鱼游戏厅 · Whale Arcade

和你的大肥鱼一起玩游戏

六款小游戏,你和 DSH 里那个 Agent 同桌 —— 浏览器当牌桌,Agent 当对手,规则由引擎裁决

npm License Games DSH


这是什么

一个开在你 DSH 里的游戏厅。不是聊天框套壳,也不是内置 AI 陪玩。

谁 做什么
🧑 你 在浏览器里开一桌、点格子、发气泡。不用装客户端。
🤖 Agent 你 DSH 里那个 Agent(Claude Code / Codex / 任何会调 MCP 的)入座 1 号位,读棋盘、出招、嘴你两句。
⚖️ 规则 服务端只当裁判:纯函数内核裁决,不代打、不内置 AI、不保存任何模型密钥。

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

换 Agent = 换对手。规则不变,模型风格变了:有的莽、有的苟、有的爱赌炸弹。模型即难度。

六款游戏

游戏 玩法 节奏 单局
🪙 抢宝大作战 3×3 九宫格,同时暗抢金币,撞车谁都拿不到 同时暗选 60–90 秒
🔴 四子棋 7 列重力落子,横竖斜先连成四子者胜 轮流 2–4 分钟
🎲 快艇骰子 五颗骰三次机会,13 栏记分比总分 轮流 3–5 分钟
✌️ 猜拳心理战 三局猜拳,决胜局翻倍,读招赌心理 同时暗选 30–60 秒
🚢 深海猎手 5×5 盲射找船,命中继续开炮 轮流 5–8 分钟
⚫ 黑白棋 8×8 夹住翻面,终局数子多者胜 轮流 4–8 分钟

「同时暗选」是这里最有意思的一类:两边都交了才一起揭示,你永远不知道对面这一手会不会和你撞车。 LLM 的出招常有惯性——你能摸出它的习惯,也能练自己的不可预测。

玩一局大概是这样

  1. 点开左下角 🎮 大肥鱼游戏厅 → 「打开游戏厅」→ 挑一款 → 开一桌
  2. 把房间号或 MCP 配置交给 Agent,它入座 1 号位
  3. 双方入座自动开局;你点格子出招,Agent 那边读 textView 与 legalActions 出招
  4. 终局有结算浮层和本局记录,还能导出可回放的日志

侧栏会显示谁在等谁、谁已提交——但看不到对方还没揭示的选择:服务端按座位发令牌, 没有令牌的人只能旁观(能看棋、不能出招)。

在 DSH 里怎么开

这个仓库就是它给你的 DSH 插件:左侧栏底部一条细条,点开是一枚悬浮气泡。

侧栏                      ┌──────────────────────────────────────┐
 🎮 大肥鱼游戏厅   ──────▶ │ 🐳 大肥鱼游戏厅               ✕      │  ← 晴空灯箱
                          │    和你的大肥鱼一起玩游戏             │
                          │ ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● │  ← 金色灯泡串
                          ├──────────────────────────────────────┤
                          │ ● 运行中          127.0.0.1:8787     │
                          │ ┌───────┬───────┬───────┐            │
                          │ │🎮 游戏│🔌 端口│⏱ 运行│            │  ← 三块计分牌
                          │ │   6   │ 8787  │ 3:12  │            │
                          │ └───────┴───────┴───────┘            │
                          │ ╔══════════════════════════════════╗ │
                          │ ║        🎮 打开游戏厅             ║ │  ← 金色大按键
                          │ ╚══════════════════════════════════╝ │
                          │ ⏹ 停止   ⟳ 重启   复制地址  复制 MCP │
                          │ ▸ ⚙ 运行设置                        │
                          │ ▸ 📜 运行日志 · 12                  │
                          └──────────────────────────────────────┘

它能替你做的:

  • 一键起停游戏厅;进程起来不算数——真等到 /api/games 有响应才点亮绿灯,运行期每 5 秒复检
  • 复制地址给人类浏览器、复制 MCP 配置给 Agent,一次配好
  • 随 DSH 自启(可选);插件被禁用或 DSH 退出时连同进程树一起收掉,不留孤儿端口
  • 侧栏收起(rail 模式)时细条只剩 🎮,不占地方

装

从 npm(推荐)

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

装完重启 DSH,左侧栏底部会出现 🎮 大肥鱼游戏厅。

插件自带游戏厅本体(vendor/app,六款游戏 + 网页 + 音频,约 14.6 MB), 所以点开就能玩——不需要另外 clone 平台、装依赖或联网下载。包体积也因此是 13.4 MB。

包名是 dsh-whale-game(dsh-whale-arcade 已被另一个插件占用)。 也可以在 https://www.npmjs.com/package/dsh-whale-game 看到它。

本地开发

git clone https://github.com/Treasure-hub-agent/dsh-whale-game.git
cd dsh-whale-game && pnpm install && pnpm build
dsh plugin --profile desktop add link:$(pwd)

想用自己的版本?(可选)

默认用的是插件里自带的本体,不用配任何东西。只有下面这些情况才需要展开 ⚙ 运行设置 改启动命令:

情况 启动命令
本机有游戏厅源码 node /path/to/ai-playground/packages/cli/src/index.ts serve
想用 npm 上的版本 npx --yes ai-playground-cli@latest serve
想固定某版 npx --yes ai-playground-cli@0.1.0 serve

也可以用环境变量 PLAYGROUND_CMD、AI_PLAYGROUND_REPO(优先级高于配置文件)。 配置存在 $DSH_HOME/whale-arcade/config.json。

游戏厅本体在哪

游戏本体是另一个独立开源项目 AI 游乐场: 六款游戏、REST + WebSocket + MCP 三端、座位令牌鉴权、房间落盘、95 条内核单测。

这个插件只 spawn 一条命令,不 import 平台的任何代码。所以:

游戏厅怎么更新、加多少款游戏,都不需要这个插件发版。

想改规则、加游戏、读 API 契约,都在那个仓库里。

让 Agent 上场

气泡里点「复制 MCP」,拿到的是这段:

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

粘进你的 MCP 客户端,然后对 Agent 说:

用 MCP 连 http://127.0.0.1:8787/mcp,调用 playground_join_room({ roomId: "<房间号>", seat: 1 }) 入座,然后按 legalActions 出招。

出问题怎么办

现象 多半是
侧栏没有 🎮 插件没装上或没重启 DSH;看 DevTools 控制台有无 dsh-whale-game 报错
一直「正在拉起…」后失败 端口被占;或你在 ⚙ 运行设置里改过命令且命令不对(清空即回到自带本体)
提示本体不可用 插件包被裁剪过(比如只装了 lib/);重新 dsh plugin add dsh-whale-game
绿灯但打不开 端口填错了;改完记得点「保存」再重开
DSH 起不来 DSH 是全有或全无启动。从 profile 的依赖与 dsh.profile.bundles 里删掉 dsh-whale-game,pnpm -C "$DSH_HOME/profiles/desktop" install,再重启

崩溃日志在 %APPDATA%\@deepseek-ai\dsh-desktop\logs\crash-*.log(Windows) 或 ~/.config/@deepseek-ai/dsh-desktop/logs/(Linux/macOS),会直接点名哪个插件挂了。

开发

pnpm install
pnpm check          # 构建 + 10 项静态自检 + 类型检查
pnpm e2e           # 用自带本体:真起服务 → 健康检查 → 停 → 验端口释放
pnpm e2e -- /path/to/ai-playground    # 用本机平台源码跑同一条链路

本体怎么更新:插件里的 vendor/app/ 是从平台仓库同步来的构建产物(dist + web),不是手写代码。平台发新版后:

# 1. 平台仓库里先构建
node scripts/pack-cli.mjs
# 2. 回到本仓库,把产物搬进 vendor/app
pnpm vendor -- ../ai-playground

scripts/vendor-app.mjs 会重写 vendor/app/VENDORED.txt,界面上的「本体 vX.Y.Z」就读它。

两个产物格式不同,是 DSH 契约决定的:

产物 形态 为什么
lib/index.js ESM,导出 { name, inject, apply } cordis 当模块 import;@deepseek-ai/* 与 node:* 保持 external
lib/client.js IIFE 副作用脚本,调 window.__ModuleLoader__.load 宿主当普通脚本加载;react 由 factory(require) 取,不能有顶层 import

⚠️ package.json 必须导出 ./client 子路径——DSH 的 client-modules 是按 exports 找浏览器 半侧的;只放文件不写映射,启动时会报 declares dsh.client but exports no "./client" bundle, 并让整个 DSH 起不来:

"exports": {
  ".": "./lib/index.js",
  "./client": "./lib/client.js",
  "./cordis.patch.yml": "./cordis.patch.yml",
  "./package.json": "./package.json"
}

其余踩坑记录见 CHANGELOG。

许可

  • 本插件:MIT
  • 游戏平台:AI 游乐场 —— 代码 MIT,美术与音乐 CC BY 4.0
—/ 5

No ratings yet

Verified DSH bundle

Commit 151dd25e9cf8

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout