dsh-plugin-2048: Play Full-Page 2048 in the Harness Main Area Without Switching Tabs While Waiting for the Agent

前言

在 DeepSeek Harness(dsh)里跑长任务时,界面往往只能等进度。切到浏览器开别的页面,会话上下文和注意力一起被带走;留在 Harness 里又缺少一个「占手但不占会话」的消遣入口。

维护者 JJJACKsong 的 dsh-plugin-2048 把经典 2048 做成侧边栏插件:入口与「技能流」「插件」「定时任务」并列,点开后在主区整页下棋盘,不弹全屏窗、不写会话、不动工作区。分类上属于社区目录里的「趣味换装」类插件;GitHub 仓库当前星标为 0,许可证 MIT,版本 0.2.0(以 package.json 为准)。

这是什么

一句话:DeepSeek Harness 侧边栏 2048 小游戏——侧边栏一个图标,主区整页棋盘(sidebar panel, full-page board)。

Host 半是空壳 apply():不注册 Service、不注册 Tool、不写 session、不碰工作区文件。客户端半在浏览器里完成规则与 UI,棋盘与分数只进 localStorage。插件以当前 dsh 进程权限运行;安装前建议自行查看源码与 LICENSE。

核心功能

入口与布局

安装并激活后,侧边栏底部多 2048 图标;点击后主区显示整页棋盘,副标题文案为「agent 还在跑?先来一局」。界面使用宿主 --dsw-alias-* 主题变量,随 Harness 明/暗主题切换;棋子格本身为固定暖色美术,不跟主题走。

操作与规则

  1. 移动:方向键、W A S D、Vim 的 H J K L;触屏在棋盘上滑动。
  2. 撤销:最多回退 30 步(工具栏或终局浮层均可);历史最高分不因撤销回退。
  3. 存档:棋盘、当前分、步数、最高分写入 localStorage,关闭 Harness 再开可续玩(同一浏览器 origin;不跨设备、清缓存会丢)。
  4. 结算:合成 2048 时出现「注意力惊人!」小卡片,可继续往 4096 堆或结束;无路可走时出现「注意力涣散!」,可撤销或新局。均为盖住棋盘的小卡片,非全屏弹窗。
  5. 动画:滑动、新块、合并、无效方向抖动;系统 prefers-reduced-motion 时动画全部关闭。

兼容性

  • dsh 版本:>= 0.1.5-rc.2(engines.dsh)。
  • 平台:仅 Web UI(dsh.client.platform: "web");桌面版即 Web UI,无终端/TUI 界面。
  • 客户端依赖注入:@deepseek-ai/dsh-client-locale;其余为原生 React 与主题变量。

未提供排行榜、音效或 AI 对手;用途就是等待 agent 的几分钟。

安装与启用

社区插件目录页:https://www.skillhub.cn/plugins/JJJACKsong/dsh-plugin-2048。源码与说明:https://github.com/JJJACKsong/dsh-plugin-2048。

从插件市场(审核通过后):仓库 README 写明已提交 Open Plugin Market(索引 polang233/dsh-plugin-index),通过后可在市场面板搜 2048 安装。Open Plugin Market 为社区索引站点,与 DeepSeek / 幻方无官方从属关系。

从本地目录(README 给出的当前可用方式):先把插件目录放到本机,再任选其一:

# 非桌面托管的 profile:
dsh plugin --profile <profile> add /abs/path/to/dsh-plugin-2048

其余方式见 README:插件管理器 / 插件页 →「从本地目录安装」并指向该目录;或由 agent 调用 plugin_manager 的 install_bundle,target 填目录绝对路径。

装完即激活(HMR);侧边栏出现 2048。卸载或暂停:插件管理器开关,或 plugin_manager 的 set_bundle / remove_bundle。

典型用法

  1. 长任务跑起来后,点侧边栏 2048,在主区下棋。
  2. Agent 消息到达后照常通知;切回会话继续即可,游戏状态仍在 localStorage。
  3. 终局浮层里可撤销几步再试,或点「新局」重开。

开发侧若改 lib/client.js,README 说明需重装 bundle 并重启 Harness 后浏览器才会载入新客户端(HMR 仅对首次安装生效)。规则内核单测:

node test/game.test.mjs
# 或
npm test

实现要点(选读)

README 中的取舍便于判断是否适合你的环境:

  • 纯浏览器半 + 空 Host:不增加 Host 启动负担,不在任何会话留痕。
  • 无构建步骤:lib/client.js 为手写 bundle;改代码刷新依赖上述重装/重启策略。
  • 规则内核与 React 解耦:#region game-core 纯函数,单测从源码抽取,与上线逻辑一致。

适用场景与注意

适合:经常在 dsh Web UI 里等 agent、希望留在 Harness 内轻度消遣的开发者。

注意:

  • 存档绑定浏览器 localStorage,多设备不同步。
  • 插件分类为趣味换装,不改变 agent 能力;安装前核对 MIT 许可与仓库代码。
  • 需要 dsh >= 0.1.5-rc.2,且仅 Web UI。

结尾

dsh-plugin-2048 把等待时间收进侧边栏与主区整页棋盘:不写会话、不占工作区,合出 2048 或走死局都有轻量反馈。目录页见 skillhub.cn/plugins/JJJACKsong/dsh-plugin-2048,仓库见 github.com/JJJACKsong/dsh-plugin-2048。

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

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

Xiaoye