前言¶
在 DeepSeek Harness(DSH)里跑 Agent,常见有一段空档:模型正在思考,或在执行工具,界面只能盯着日志滚动。切到别的窗口容易打断上下文;留在当前页又几乎没有可做的事。社区插件 dsh-sudoku-waiting(维护者 zergcq-cell,npm 包名 dsh-sudoku-waiting)的思路是:在这段等待时间里,把一局可继续的小游戏直接嵌进当前回合的对话流,而不是盖一层浮窗。它归类在 SkillHub 目录的「趣味换装」,当前 GitHub 星标为 0;README 也说明这是社区插件,不是 DSH 官方捆绑包。
这是什么¶
dsh-sudoku-waiting 是一个面向 Web 客户端的 DSH 客户端插件(package.json 中 dsh.client.platform 为 web)。在 DeepSeek 开始思考或运行工具时,它会在对话流最新位置渲染一张宽度上限 336px 的内联卡片,提供数独、2048、扫雷、关灯四款游戏;每款游戏各自存档,离开再回来进度仍在。回合结束卡片自动消失;若会话处于等你审批或回答的状态,也会暂时隐藏。关卡生成与判题在浏览器本地完成,不联网。
许可证为 MIT,当前 npm 版本为 1.1.1(以 package.json 为准)。环境要求:engines.dsh 为 ^0.2.2-rc.1,需带 Web 客户端与 Plugin Manager 的 DSH;文案内置中英文,跟随宿主语言。
核心能力¶
展示方式¶
- 游戏卡片固定在对话流最新位置,与思考日志一起滚动,不是全屏或悬浮层。
- 四款游戏共用同一卡片外壳;点标题可切换,当前项带勾选标记。
- 棋盘区高度一致,避免日志上下跳动;右上角「收起」后变为一行「继续游戏」,尽量不挡会话内容。
- 样式只使用宿主主题变量(
--dsw-alias-*),浅色/深色自动适配,并尊重prefers-reduced-motion。
四款游戏与操作¶
| 游戏 | 操作 | 进度显示 |
|---|---|---|
| 数独 | 左键填入,右键排除(再按右键取消) | 已填 / 剩余 |
| 2048 | 棋盘上滑动,或聚焦棋盘后用方向键 / WASD | 分数 / 最大方块 |
| 扫雷 | 左键翻开,右键或长按插旗;首点必安全 | 已翻开 / 旗子 |
| 关灯 | 点击翻转自身及上下左右共五格 | 步数 |
「新开一局」在有进度时会二次确认;已结束或已完成的局面可直接重开。
何时出现与消失¶
- 出现:DeepSeek 开始思考或运行工具时。
- 消失:回合结束时自动移除。
- 暂时隐藏:等待你处理审批或提问时。
插件不读取会话正文,仅根据当前会话的 running 状态以及审批/提问状态决定是否显示(见 README「隐私」一节)。
隐私与存档¶
- 不发起网络请求,无遥测或远程配置。
- 存档写在浏览器
localStorage:dsh-games:<id>-v1(sudoku/2048/mines/lights),最后玩的游戏键为dsh-games:last;旧版数独键会在首次读取时迁移到新键。损坏的存档会被丢弃并新开一局。
安装与启用¶
推荐从 npm 安装,装后默认启用,无需额外配置;没有 HMR 的环境可能需要重启一次 DSH。
在 DSH 的 Plugins / 插件 页面输入包名:
dsh-sudoku-waiting
或用 CLI 安装到指定 profile(把 web 换成你实际使用的 profile 名):
dsh plugin --profile web add dsh-sudoku-waiting
其他安装方式(README 原文):
- 跟进
main或无法使用 npm 时:
dsh plugin --profile web add github:zergcq-cell/dsh-sudoku-waiting
- 从 Releases 下载
dsh-sudoku-waiting-<version>.tgz,在 Plugins 页选择该文件,或:
dsh plugin --profile web add /绝对路径/dsh-sudoku-waiting-<version>.tgz
兼容性说明:按 DSH 0.2.2-rc.1 的 Client API 编写;README 记载已在 macOS 的 DSH 0.2.2-rc.1 上安装运行,其他平台/版本未逐一实测。DSH 大版本 Client API 变更时,维护者计划在仓库发布新版本。
典型用法¶
安装并启用后,无需配置文件或环境变量。当你在 DSH 里发起一轮需要模型思考或工具执行的对话时,等待期间对话流末尾会出现游戏卡片。你可以:
- 点标题在数独、2048、扫雷、关灯之间切换(进度分别保存)。
- 玩一半收起卡片,继续看日志;需要时点「继续游戏」展开。
- 回合结束或你去回答审批/提问时,卡片按设计隐藏或消失;下次进入等待态会再次出现,未结束的对局从
localStorage恢复。
这是一套「被动触发」的交互:没有单独的 CLI 子命令或配置项去「手动打开游戏」,显示逻辑与 DSH 会话的运行状态绑定。
适用场景与注意¶
适合谁:经常在 DSH Web 端等 Agent 跑完一步、又希望留在同一会话上下文里的开发者;想给等待时段加一点可续玩、纯本地逻辑的用户。
需要注意:
- 插件随当前 DSH 进程与 Web 客户端加载;安装前建议浏览 GitHub 仓库 源码与 MIT 许可证,确认符合你的安全策略。
- DSH 生态理念是「一切皆插件」;SkillHub 目录页 是社区站点,与 DeepSeek / 幻方无官方从属关系,本文介绍的是第三方插件行为,以仓库 README 与
package.json为准。 - 清除浏览器站点数据会删掉本地存档;换浏览器或隐私模式不会共享进度。
结语¶
dsh-sudoku-waiting 把可续玩的等待小游戏嵌进 DSH 对话流:四款经典玩法、本地判题与存档、随思考/工具执行出现、回合结束收起,并用宿主主题适配界面。若你要在 Agent 运行空档里少切窗口、多留一会话内,可以从 npm 包名 dsh-sudoku-waiting 装起,并记住 DSH ^0.2.2-rc.1 这一引擎约束。
- 目录页:https://www.skillhub.cn/plugins/zergcq-cell/dsh-sudoku-waiting
- 源码与说明:https://github.com/zergcq-cell/dsh-sudoku-waiting