前言¶
用 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
典型用法¶
- 按上文命令为 web profile 安装
dsh-plugin-tetris。 - 在 DSH Web GUI 中启动 agent 任务;面板按插件逻辑自动出现,或点击右下角 T 形图标打开。
- 点击棋盘获得焦点后,用上表按键操作;按需调整标题栏「焦点联动」,避免切回对话时误触或希望失焦即暂停。
适用场景与注意¶
适合谁:经常在 DSH Web 里等 agent、又希望空档留在同一界面内的开发者。
权限与安全:插件随当前 dsh 进程与 profile 加载,行为与你在本机运行的 DSH 环境一致。安装前建议阅读 GitHub 仓库 源码与 MIT 许可证,确认符合你的使用与合规要求。DSH 社区插件目录(如 SkillHub)是独立站点,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 的生态思路,本文介绍的是社区维护的趣味类插件,并非官方应用商店条目。
结尾¶
dsh-plugin-tetris 把与 tetris-terminal 同源的方块引擎嵌进 DSH Web 浮动层,用自动弹出和右下角入口填满 agent 运行时的等待片段。目录页与源码: