dsh-minigames 使用指南
DSH Web 浮动小游戏窗口,内置 18 款离线 Canvas 游戏,自带可拖动面板、可吸附边缘与本地最高分。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-minigames
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add github:lhh010/dsh-minigames
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 折叠态:窗口隐藏后留下一个圆形浮动 🎮 按钮(默认右下角),可自由拖动并记住位置,
- 展开态:浮动小游戏窗口,拖动标题栏可随意移动,松手靠近屏幕边缘自动吸附
- 游戏(全部离线、零资源文件、Canvas 绘制):
- 预留扩展接口:游戏注册表(
registerGame),新增游戏只需实现一个接口。 - 体验细节:隐藏窗口/切换标签页时自动暂停游戏、恢复时继续;每局最高分存
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
安装后页面右下角没看到 🎮 按钮怎么办?
插件只在 DSH Web profile(dsh --profile web)下加载,纯桌面端不会渲染;首次安装或移除后必须重启 dsh web 进程让宿主重新扫描插件清单。如仍不显示,可打开浏览器控制台查看 window.__DSH_BOOT__ 是否包含 @dsh-external/dsh-minigames,以及 /plugins/@dsh-external/dsh-minigames/client.js 是否返回 200。
需要单独配置什么吗?
不需要。插件零配置,安装后右下角即出现 🎮 启动按钮,单击即可打开面板;窗口位置、停靠状态、宽度、选中游戏与每款游戏的最高分都会自动保存在浏览器 localStorage。
玩到一半切走标签页 / 关掉窗口会丢进度吗?
不会。游戏在被隐藏、标签页切换或窗口折叠时会自动暂停(rAF 循环停转),恢复时自动继续;但每局的局内进度(如坦克大战当前波次、消消乐当前关卡)不会跨会话保存,仅"最高分"是跨会话持久化的。
怎么卸载?
执行 dsh plugin --profile web remove @dsh-external/dsh-minigames 然后重启 dsh web。localStorage 里的偏好键(dsh-minigames:*)会留在浏览器内但不再被读取,需要时可手动清理。
跟枪练习(FPS)需要特殊权限吗?
该游戏使用浏览器的 Pointer Lock API(点击画布后锁定鼠标、隐藏光标),Esc 会自动释放并暂停到覆盖层;不需要任何额外权限申请,少数禁用 Pointer Lock 的环境会自动降级为普通鼠标坐标,但仍可玩。
我可以自己加一款小游戏吗?
可以。插件公开了 registerGame(来自 src/client/games/registry.ts),按 MiniGameDefinition 接口(src/client/games/types.ts)实现 id/title/icon/description/controls/create 即可在面板里出现一个新卡片,无需改动面板或注册表本身;建议把游戏逻辑写成纯函数模块并用 vitest 单测覆盖。
占用主页面空间吗?会和聊天框冲突吗?
不冲突。面板是独立的浮动窗口(document.body portal),不依赖 DSH 布局槽位;键盘输入只在点击游戏区域获取焦点后生效,点回聊天输入框时游戏会主动让出键位,反之亦然——这是有意设计,避免游戏劫持正常打字。
18 款游戏都完全离线吗?会上传数据吗?
完全离线:所有画面用 Canvas 实时绘制,零图片/音频资源文件,零网络请求;游戏不读取你的对话内容,最高分只存本机浏览器 localStorage(键名前缀 dsh-minigames:best:)。
— 源: plugin_wiki.faq_json
兼容性
- DSH: >=0.0.1(实机验证 0.0.1-rc.2 / 0.0.1-rc.5 / 0.1.1-rc.1)
- Node: 未声明
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则