DSH Game Preview:在 Harness 侧栏里跑游戏、截窗口、导出包体

前言

用 DeepSeek Harness 改游戏代码时,常见做法是:Agent 在后台写脚本、你在 Unity 或 Cocos 里自己点 Play,或者盯着第二块屏上的编辑器空转。预览如果只是侧栏里的连续录屏,双显示器场景下价值很低。DSH Game Preview(davidmercer0620-ai/dsh-game-preview)面向「在游戏工程工作区里开发」这类会话:自动识别引擎、走各引擎最快的预览回路,把 Cocos / Godot / Unity / 微信小游戏等画面收进右侧 游戏预览 面板,并把键鼠转发到被捕获的原生窗口;需要发版时可在同一面板打 Web zip、Android APK 或跑项目里的构建脚本。插件由维护者 davidmercer0620-ai(邮差游戏工作室 / Postman Game Studio)发布,社区目录分类为 客户端,许可证 MIT;GitHub 公开仓库当前星标为 1。

这是什么

DSH Game Preview 是 DeepSeek Harness 的客户端插件(@davidmercer0620-ai/dsh-game-preview)。它不替用户选引擎:根据工程特征自动检测,匹配不到时再手动填 URL。原生窗口捕获、输入转发与拉起引擎进程 仅支持 Windows 10/11;纯 Web 预览在其他平台也可用。插件以当前 DSH 进程权限运行,安装前宜自行审阅源码与 LICENSE。

引擎检测与各引擎最快回路

README 用表格说明「各引擎最快一圈」及面板行为,摘要如下:

引擎 最快回路 预览行为
Cocos Creator 编辑器浏览器预览(约 1 s) 连接 localhost:7456,保留编辑器 HMR
Godot F5 → 原生窗口(约 2 s) godot --path .,捕获窗口
Unity 编辑器 Play 模式(约 3 s) Unity.exe -projectPath,捕获编辑器,跟随 splash → 编辑器窗口切换
微信小游戏 DevTools 构建(约 90 s) 在微信开发者工具中打开工程
Web / 静态 dev server 或纯文件 启动脚本或直接托管目录
引擎构建产物 build/web-desktop/index.html 等 托管导出包,支持 PC 或手机视口

核心功能(已文档记载)

下面按 README Features 归纳,均为插件自述能力。

预览与交互

  • 原生窗口捕获:PrintWindow + 双线程采集/编码,约 15–24 fps;可选 sharp(原生尺寸)或 smooth(约 1100 px,约 24–30 fps)。
  • 在面板内游玩:鼠标、键盘转发至被捕获窗口,含 DPI 校正与 F1–F12、方向键、修饰键。
  • 裁切 Game 视图:在画面上拖矩形只保留区域,按窗口标题记忆。
  • 视口:逻辑分辨率含 1280×720、390×844(手机),缩放适配;游戏侧 media query 可视为手机环境。
  • 自动启动:打开标签页可恢复该项目上次窗口或配置并启动。
  • 脏计数:保存不自动重载;面板显示待应用变更数,一键重跑。

结果时间线(非纯录屏)

设计强调「看 Agent 做完的那一刻」,而不是长时间盯空闲编辑器:

  • Result timeline:画面哈希门控,最多每 4 秒一张静帧,长时 Agent 工作压缩为少量帧,占用与 CPU 较低。
  • 一键导出 GIF:帧序列写入工程目录,便于评审或 PR 附圖。

Agent 工具

文档列出的工具名包括:game_preview_run、game_preview_status、game_preview_stop、game_preview_windows、game_preview_screenshot(保存当前帧路径)、game_preview_logs(进程尾部日志)。

打包与体积

  • 导出:Web zip(检测到静态构建后 zip 到 <project>/dist);Android APK(优先工程内 android/build.sh 或 gradle assembleDebug,注入 JAVA_HOME/ANDROID_HOME 后复制到 dist/);Windows EXE(在工具链具备时构建 Cocos windows 平台)。导出面板还会列出 package.json 脚本及 android/build.sh、build_apk.js、tools/build-platform.mjs 等并带实时日志。
  • Bundle size budget:按平台对照商店上限(文档载明微信/抖音/TapTap 4 MB、web 32 MB),80% 警告,可点行查看目录/扩展名/文件明细。
  • 手机 QR 预览:局域网分享静态构建(随机 token,约 30 分钟过期;主机侧 python-qrcode)。
  • 构建历史:导出与脚本运行写入 .dsh-game-preview/history.json。
  • 快捷键:F 满铺 · R 重载 · Esc 退出。

运行时依赖:README 标明 0 个 runtime dependencies;package.json 要求 Node.js >= 22。本地安装说明还要求 DeepSeek Harness 0.2.x。

安装与启用

安装方式以 GitHub README 为准,勿使用未在文档出现的 github:owner/repo 简写。

从 Discover(插件市场)

  1. 一次性启用实验性市场 bundle:
plugin_manager install_bundle(target: "@deepseek-ai/dsh-experimental-plugin-market-bundle")
  1. 在 Settings → Plugins → Discover 添加索引 URL(索引按版本固定 commit,便于可重复安装):
https://raw.githubusercontent.com/davidmercer0620-ai/dsh-game-preview/main/docs/plugin-index.json

从本地 checkout

在已克隆的插件目录所在机器上,将绝对路径链入 profile:

dsh plugin --profile <profile> add /absolute/path/to/dsh-game-preview

或在 DSH 内让 Agent 执行:

plugin_manager install_bundle(target: "C:\\path\\to\\dsh-game-preview")

完成后 重新加载页面(Ctrl+R):会话标题旁出现 ▶,右侧边栏 + 中可见 游戏预览。

典型用法

README Use it 给出的流程可复现如下:

  1. 打开工作区为游戏工程的会话。
  2. 点击 ▶(或右侧边栏 → + → 游戏预览)。
  3. 面板自动检测引擎并启动最快回路。
  4. 改代码后面板可能显示类似 ●3 的脏计数;点 ▶ 或让 Agent 调用 game_preview_run。
  5. Unity:在编辑器中 Play 一次,用 ✂ 裁切 Game 视图,再用 🖱 在侧栏内直接操作。

Packaging:点 📦 导出,面板展示 Web zip / Android APK / Windows EXE 等目标的就绪状态及依赖(如 APK 需 JDK 17、Android SDK、Gradle 与工程内 android/ Gradle 项目;Windows EXE 需 Visual Studio C++、CMake、Cocos Creator)。工具链路径会在 Windows 常见安装位置探测,而非仅依赖 PATH。

适用场景与注意

适合在 Harness 里用 Agent 迭代 Cocos、Godot、Unity、微信小游戏或 Web/静态前端,且希望在 同一界面 完成预览、键鼠试玩、截图给 Agent、打 zip/APK 与查看包体预算的团队或个人。

需注意:

  • 原生捕获与引擎拉起 仅限 Windows 10/11;其他系统可用 Web 类预览。
  • 插件注入 @deepseek-ai/dsh-client-ui-conversation 与 @deepseek-ai/dsh-client-ui-sidebar-right(见 package.json 的 dsh.client),属 DSH「一切皆插件」生态中的第三方扩展;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。
  • 安装前阅读仓库源码与 MIT 许可证;APK/EXE 构建会调用本机 JDK、Android SDK、VS 等,权限与路径与当前用户环境一致。

结尾

DSH Game Preview 把「识别引擎 → 最快预览回路 → 侧栏内游玩与裁切 → Agent 工具与截图 → 导出与体积预算」收进一个右栏标签,减少在编辑器和 Harness 之间来回切换。更多说明与多语言 README 见 GitHub 仓库;浏览与收录信息见 SkillHub 插件页。

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

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

Xiaoye