dsh-plugin-tetris:在 DSH Web GUI 里等 agent 时玩俄罗斯方块

前言

用 DeepSeek Harness(DSH)跑 agent 写代码时,任务往往要跑几十秒,界面里有一段空档。社区插件 dsh-plugin-tetris(维护者 zlh124)把一局俄罗斯方块挂进 DSH 的 Web 界面:agent 开始工作时游戏面板可以自动出现,右下角还有常驻入口,不必切到别的窗口打发时间。下面介绍它是什么、能做什么,以及怎么装、怎么玩。

这是什么

dsh-plugin-tetris 是面向 DSH Web GUI 的客户端插件(npm 包名 dsh-plugin-tetris,当前版本 0.1.0)。简介与仓库说明一致:在 agent 干活时,在 DSH Web GUI 里玩俄罗斯方块(Play Tetris in the DeepSeek Harness Web GUI while the agent works)。

游戏面板挂在 DSH 的框架级浮动层上;agent 开始工作时面板会自动出现。右下角有一个圆形 T 形方块图标,点开即可打开面板,面板从图标位置弹出。

规则与手感来自作者另一个项目 tetris-terminal(Python 终端版)的 TypeScript 逐行移植,README 写明与终端版一致的能力包括:7-bag、SRS 墙踢、Hold、Ghost、T-Spin、B2B、消行动画,并保留终端版的一些实现细节。

在 SkillHub 目录中分类为 趣味换装。仓库采用 MIT 许可证;引擎逻辑注明源自 tetris-terminal(MIT, jayzhu)。

核心功能

界面与触发

  • 浮动层游戏面板,与 DSH Web 框架集成。
  • agent 开始工作时自动展示面板;右下角图标可随时再次打开。

游戏规则与操作

操作需先点击棋盘获得键盘焦点;聚焦后棋盘会有绿色描边。标题栏提供 「焦点联动」 滑块:控制失焦是否自动暂停,以及对话结束后是否把焦点交还给游戏。

键 动作
← → / A D 左右移动
↑ / W / X 顺时针旋转
Z 逆时针旋转
↓ / S 软降
空格 硬降
C Hold
P 暂停 / 继续

安装与启用

插件仅声明 web 平台(package.json 中 dsh.client.platform 为 web),安装时需使用 --profile web。运行环境要求 Node.js >= 22(见 engines 字段)。

官方 README 给出的安装命令如下:

dsh plugin --profile web add dsh-plugin-tetris

装完后无需刷新页面。卸载:

dsh plugin --profile web remove dsh-plugin-tetris

从源码本地开发时,在仓库目录执行构建后再 link:

npm install && npm run build
dsh plugin --profile web add link:"$PWD"

仓库已提交构建产物 lib/,README 也提到可从 git 安装(将 <you> 换成实际用户名或组织):

dsh plugin --profile web add git+https://github.com/<you>/dsh-plugin-tetris.git

典型用法

  1. 按上文命令为 web profile 安装 dsh-plugin-tetris。
  2. 在 DSH Web GUI 中启动 agent 任务;面板按插件逻辑自动出现,或点击右下角 T 形图标打开。
  3. 点击棋盘获得焦点后,用上表按键操作;按需调整标题栏「焦点联动」,避免切回对话时误触或希望失焦即暂停。

适用场景与注意

适合谁:经常在 DSH Web 里等 agent、又希望空档留在同一界面内的开发者。

权限与安全:插件随当前 dsh 进程与 profile 加载,行为与你在本机运行的 DSH 环境一致。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的使用与合规要求。DSH 社区插件目录(如 SkillHub)是独立站点,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 的生态思路,本文介绍的是社区维护的趣味类插件,并非官方应用商店条目。

结尾

dsh-plugin-tetris 把与 tetris-terminal 同源的方块引擎嵌进 DSH Web 浮动层,用自动弹出和右下角入口填满 agent 运行时的等待片段。目录页与源码:

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

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

小夜