dsh-inputbox-game:任务跑着,输入框变成自动小游戏

前言

在 DeepSeek Harness(DSH)里跑长任务时,对话框往往长时间处于「执行中」状态。人不一定想一直盯着日志,又未必方便切换到别的窗口。社区插件 dsh-inputbox-game 的做法是:当会话连续运行超过可配置阈值后,把对话输入框区域变成一块自动运行的小游戏棋盘——AI 自己「玩」,人只看即可;需要打断或补一句指令时,点回输入框即可恢复编辑。

下面按安装、行为、设置和实现要点说明该插件;事实依据为 GitHub 仓库 README 与仓库内 package.json(当前版本 0.2.10,许可证 MIT)。

这是什么

dsh-inputbox-game 由维护者 Xingkong42 发布,在 DSH 插件社区目录中归类为趣味向扩展(目录页:skillhub.cn 插件页)。它不改变任务执行逻辑,只在客户端根据「本会话是否在运行」累计连续运行时长,到点后用覆盖层接管输入框卡片,在上面渲染多款无人工操作的小游戏。

核心功能

依据 README,插件行为可概括为以下几点。

  1. 任务开始运行后,插件开始计时。
  2. 任务连续运行超过设定时长(默认 3 分钟)后,对话输入框整块变成小游戏棋盘。
  3. 游戏全自动运行,无需键盘操作。
  4. 点击输入框之外才开始接管画面;输入框正被聚焦时不会打断打字,此时输入框上方会提示「点击输入框之外开始游戏」。
  5. 点击输入框本身,正常编辑立即恢复。

README 写明共 八款 游戏;文档表格列出七款的玩法与失败条件,仓库 package.json 的描述中另含 走迷宫。表格中的七款如下。

游戏 玩法 失败点
贪吃蛇 贪心追食物,越吃越长 把自己围死
乒乓 两侧 AI 挡板预测落点对打 一方先到 5 分
小鸟 小鸟自动拍翅穿越管道缺口 撞管道
生态箱 群体吃资源、繁殖,躲陨石与寒潮干旱 群体灭绝
赛马 五匹马自动比赛,可押注 本金破产
跳跃跑酷 小人自动起跳越过障碍与深坑 掉进坑里
数值跑酷 三条道自动选路,吃数值牌涨攻击力,撞怪掉攻击力,逐关打首领 攻击力被磨光

每局结束后可随机换一款继续;也可在设置里关闭轮换,或只保留部分游戏进入轮换池。

安装与启用

官方推荐通过 DSH 插件命令安装(请将 <profile> 换成你实际使用的 profile 名;dsh web 与桌面端使用的 profile 可能不同):

dsh plugin --profile <profile> add dsh-inputbox-game

桌面端也可在应用内 设置 → 插件 搜索 dsh-inputbox-game 安装,无需命令行。

从 GitHub 源码安装(README 标注为免 npm 的一种方式):

dsh plugin --profile <profile> add github:Xingkong42/dsh-inputbox-game

插件与其它 DSH 插件一样,在当前 dsh 进程的权限与环境下运行。安装前建议阅读仓库源码与 MIT 许可证,确认符合你的使用与合规要求。社区目录站点为独立社区站点,与 DeepSeek / 幻方无官方从属关系。

典型用法与设置

图形界面

路径:设置 → 插件 → 输入框小游戏(桌面端在插件页的同名页签)。

可调项包括:

  • 多久后接管:立即 / 30 秒 / 1 / 2 / 3 / 5 / 10 分钟
  • 轮换间隔:关闭 / 1 / 2 / 3 / 5 / 10 分钟
  • 游戏池:勾选轮换时能选到的游戏
  • 恢复默认

Profile 补丁层默认值

若希望在某台机器上预设默认配置,可在 profile 的补丁层写入(设置页中的选择会覆盖这些默认值):

- insert:
    - id: dsh-inputbox-game
      name: 'dsh-inputbox-game'
      config:
        thresholdMs: 180000     # 任务连续运行多久后接管输入框,0 = 立即
        rotationMs: 180000      # 多久轮换一次游戏,0 = 不轮换
        games: [snake, pong, flappy, life, horse, runner]

典型体验流程:先照常发起并让任务连续运行;超过阈值后,在需要娱乐展示时点击输入框外区域启动画面;若要输入新指令,点回输入框即可。

实现要点(便于二次开发或排错)

README 中的原理摘要如下。

  • 浏览器半面:读取客户端已发布的「本会话是否正在运行」,自行累计连续运行时长;到点后通过 conversation.input.overlay 槽位接管输入框卡片。覆盖层使用 pointer-events:none,点击穿透到编辑器,因此「聚焦输入框即恢复」无需额外按钮。
  • 宿主半面:通过一条只读 HTTP 路由把配置下发给浏览器半面。
  • 游戏引擎:八个游戏为纯逻辑、无 DOM 的独立模块,统一契约(create / step / draw / hud),便于单元测试。
  • 主题:配色取自主题变量 --dsw-alias-*,跟随宿主明暗主题。

开发者在仓库内可执行:

npm run build     # 由 src/games/*.mjs 重建 client.js
npm test          # README 记载为 41 项 Node 单元测试

游戏逻辑位于 src/games/,浏览器半面模板在 client.template.js;设计与实现记录见仓库内的 DESIGN.md。

适用场景与注意

更适合:经常在 DSH 里跑较长自动任务、希望在同一会话界面内「挂着看」一点轻量动效的用户;也可作为学习 DSH 客户端 overlay 槽位与双端配置的示例插件。

需注意:接管仅在「连续运行」累计达标且输入框未聚焦、且用户点击输入框外时才开始;默认 3 分钟阈值可按需改短或设为立即。八款游戏中 README 示例配置仅列出六种 id,完整列表以设置页「游戏池」与仓库说明为准。

结尾

dsh-inputbox-game 把长任务等待时间复用到对话输入框区域:全自动小游戏、点外开始、点框回编。进一步了解可访问社区目录页 https://www.skillhub.cn/plugins/Xingkong42/dsh-inputbox-game 与源码仓库 https://github.com/Xingkong42/dsh-inputbox-game。

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

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

Xiaoye