DSH Game Market: Agent Playing Games in the Primary Workspace While Executing Tasks

前言

在 DeepSeek Harness(DSH)里让 Agent 跑长任务时,主工作区往往长时间停在会话或进度界面。等待期间如果只能盯着日志,体验比较单调。DSH Game Market 是维护者 heswy 发布的工作流类插件:把主工作区交给小游戏,右下角用「小鲸鱼」同步 Agent 状态,任务完成或需要你介入时再提醒,且不强制打断当前一局。下面介绍它是什么、能做什么,以及如何安装与典型用法。

这是什么

插件仓库为 heswy/dsh-game-market,在 SkillHub 目录分类为「工作流」。README 中的定位是:DeepSeek Harness 里的游戏市场与运行时(Game marketplace and runtime for DeepSeek Harness)。当前发布版本为 v1.5.6(2026-11-02),许可证 MIT,要求 DSH >=0.2.0 <0.3.0、Node >= 20。

社区游戏目录独立于插件本体,内容仓库为 heswy/dsh-game-registry;与 DeepSeek / 幻方无官方从属关系,不宜理解为官方应用商店。

核心功能

主工作区与 Agent 并行

Agent 执行长任务时,游戏可以占满 DSH 主工作区。顶部提供返回、暂停;暂停菜单支持继续、保存并返回工作。从会话切回游戏时,进度停在离开时的状态。

小鲸鱼与状态

右下角小鲸鱼反映 Agent 状态,例如:运行中(可继续上一局或选游戏)、等你(提示处理审批或提问)、完成(任务完成提醒,不暂停游戏)、出错(提示回会话查看原因)。会话 tab 行还有「等你 / 完成 / 出错 / 已暂停」等状态 pill。

内置游戏与市场

插件打包 5 款内置游戏,安装后即列出,均带「内置」徽标:

游戏 类型 玩法概要
Snake 街机 方向键或 WASD,吃食物、避自身
轨道信使 Orbit Courier 街机 三条轨道间穿梭收发货,约 120 秒一局
2048 益智 4×4 滑动合并,每局一次撤销
Jump 街机 纵向平台跳跃
Breakout 街机 挡板反弹球,5 关

市场还支持首页、我的游戏、详情、搜索、分类;官方目录另收录社区游戏(资料中示例为 Little Leviathan,用于验证投稿审核链路)。可从本地安装 .html 或 .dshgame.zip。

存档、分数与问答

进度在暂停、切后台、离开游戏或 Agent 等待时自动保存;关闭 DSH 再打开可 Continue。每款游戏 manifest 仅可使用 storage 与 score,配额为 32 个键、单值 256 KiB、单游戏 1 MiB。进度可导出 JSON 后在另一台机器导入。

游戏结束时提交分数,最高分与历史在「我的游戏」中查看。Agent 提出普通问题时,游戏暂停并在画面上方展示问题面板;危险工具授权仍走 DSH 原生审批,不在游戏内处理。

平台更新与安全

设置中的「版本与更新」展示 Host / Client 版本与发布通道;更新时会暂停并保存正在运行的游戏,由 DSH 插件管理器按官方索引安装,双端核验一致后完成。

游戏运行在 sandbox iframe 中,入口 CSP 为 default-src 'none'、connect-src 'none' 等,不能发起网络请求,也读不到 DSH 页面数据。本地安装未校验来源的包时,只应安装你信任的文件。

安装与启用

官方 README 给出的步骤如下:

  1. 侧栏「插件」→「添加插件」,填入仓库地址:
https://github.com/heswy/dsh-game-market
  1. 装完后重启 DSH。
  2. 侧栏出现「游戏市场」。

安装的是最新发布版(资料中当前为 1.5.6)。若从市场安装社区游戏时出现 GM-5035(下载超时),可点「重试」;插件会自动重试 2 次,多为到 GitHub 的连接超时而非包损坏。

典型用法

玩家侧

从侧栏进入「游戏市场」,选一款内置或社区游戏开始;Agent 在后台跑任务时,通过右下角鲸鱼留意状态。需要处理 Agent 提问时在游戏内作答;需要批准危险操作时回到 DSH 会话。

开发者侧(SDK 与 CLI)

游戏开发者可使用 SDK v1 与 dsh-game CLI。SDK 握手与存档示例(摘自 README):

const game = DSH_GAME_SDK.createGameSDK();

game.lifecycle.on('before-save', () => saveNow());

const info = await game.ready();
const saved = await game.storage.load('current');
await game.session.start();

await game.score.submit(score);
await game.session.end({ outcome: 'completed', score });

本地工程常用命令:

dsh-game create my-game --template vanilla
cd my-game
npm run build && npm run validate && npm run pack
npm run dev

npm run dev 启动本地 Runtime Simulator,无需真实 Agent。社区投稿需按仓库内投稿指南准备包与 submission.json,在 dsh-game-registry 使用 Issue Form 或 PR 提交,维护者校验通过后合并目录。

更完整的 manifest、安全区与发布说明见仓库内 docs/developer-guide.md、docs/developer-cli.md。

适用场景与注意

适合谁: 经常在 DSH 里跑长 Agent 任务、希望在同一界面内消磨等待时间的使用者;以及希望把 HTML 小游戏上架到 DSH 生态的开发者。

安装前注意: 插件随 DSH 插件机制加载,以当前 DSH 进程权限运行。安装前应阅读仓库源码与 MIT 许可证,确认符合你的安全策略。社区目录与插件本体分属不同 GitHub 仓库,更新与审核流程以各仓库文档为准。

路线图明确暂不做多人联网、账号、付费、云排行榜与云存档同步;游戏内也不处理危险操作审批。

结尾

DSH Game Market 把「等待 Agent」变成可在主工作区进行的游戏体验,并用小鲸鱼与存档把任务状态和游戏进度绑在一起。开发者还可通过 SDK、CLI 与独立内容仓库扩展社区游戏。

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

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

Xiaoye