dsh-whale-run:把 DSH 界面上的鲸鱼摘下来跑一局

前言

DeepSeek Harness(DSH)桌面版把插件挂在客户端 loader 树上,社区里除了工具型扩展,也有偏交互、偏趣味的客户端补丁。若你已经在用 DSH 写会话、调智能体,偶尔想在不离开客户端的前提下换换脑子,又不想单独开一个游戏窗口,这类「嵌在界面里」的小玩法就有用。

下面介绍社区插件 dsh-whale-run(维护者 wei125775-lab):它不是独立程序,而是把欢迎页或侧栏那只鲸鱼拖下来,在输入框上方的水面跑道上玩一局类 Chrome 断网小恐龙的跑酷。玩法灵感来自 GitHub Copilot 桌面版拖 Octocat 的交互,障碍与美术走海洋主题。

这是什么

dsh-whale-run 是面向 DeepSeek Harness 桌面版 的隐藏小游戏插件。一句话:把界面上那只鲸鱼摘下来,放到输入框上方的跑道上跑一局。

插件通过 cordis.patch.yml 挂进 DSH 的插件 loader 树,依赖 dsh.bundle.patch、dsh.client.platform="web" 等元数据;三者缺一会在客户端侧静默不加载。安装脚本把文件放进 profiles/<名字>/node_modules/,不经过 npm registry,包本身零依赖。

使用前需已安装 DSH 桌面版(官网 deepseek.com/download,资料写明为预览版,提供 Windows x64 与 Apple 芯片 macOS 安装包)。打开客户端并新建空会话后,欢迎页可见那只鲸鱼。

核心功能

拖拽开局与跑道

  1. 新建会话后,在欢迎页标题「探索未至之境」左侧的鲸鱼(或侧边栏左上角同款标记)按住即可抓起。
  2. 抓起时标题会碎成波浪飘走,输入框上方出现淡淡的水面跑道。
  3. 把鲸鱼拖到水面上松手:从落点游到跑道起点再开跑;未放在水面上松手则鲸鱼下落,碰到底边化成水花后图标淡入复原。

跑道上鲸鱼尺寸与原位一致,拖起时不会突然放大。

操作与障碍

跑起来后的操作(来自 README):

操作 效果
空格 / ↑ / W 起跳(按住跳更高,松手收跳)
↓ / S 下潜,躲头顶水母
空格 / 点一下跑道 game over 后重开
Esc / 右上角 × 收起跑道,鲸鱼飞回原位
右上角 ♪ 音效开关(会记住偏好)

障碍物为海洋主题:塑料瓶、渔网、珊瑚需跳过,水母需下潜或按高度起跳。每 100 分有提示,每 700 分场景从「透光浅海」切到「幽暗深海」;最高分存本机。撞障后鲸鱼被打飞出窗口,水面退去后图标与标题一并恢复。

与 DSH 界面联动

  • 锚点使用稳定的 data-slot(如 conversation.hero.brand.mark、sidebar.brand.mark、data-composer-card 等),不写死 CSS module 哈希类名。
  • 鲸鱼 SVG 的 path 与颜色从当前 DOM 读取,DSH 换 logo 后仍画当前图形;找不到鲸鱼则不注入逻辑。
  • 跟随 DSH 浅色/深色主题:线稿、水面与文字会随主题切换,无需重开游戏。
  • 命令面板、设置等弹层出现时游戏自动让位,不挡在顶层。

安装与启用

资料提供两种获取方式:到 Releases 下载 dsh-whale-run-*.zip 解压,或在本地已有源码目录中执行安装器。安装器为 Node 脚本;未单独安装 Node 时,install.cmd 会尝试使用 DSH 内置 Node。

Windows 下在解压目录执行:

install.cmd                  :: 装(双击也行)
install.cmd --dry-run        :: 只打印要改什么
install.cmd --verify         :: 装完自检
install.cmd --uninstall      :: 卸

macOS / Linux 无 .cmd 时,在解压目录执行(参数与 Windows 一致):

node install.mjs

也可显式指定 DSH 目录与 profile:

node install.mjs [--dsh-home 路径] [--profile 名字]

脚本会把文件复制到 <profile>/node_modules/@dph/dsh-whale-run,在 profile 的 package.json 登记 dependencies 与 dsh.profile.bundles,并保留 package.json.bak-whalerun 备份;不修改 pnpm、不拉 registry。

首次安装后必须完全退出并重开 DSH(profile 的 patch 仅在启动时读取一次)。之后若只改 lib/client.js,资料写明 HMR 约 1 秒生效,一般无需重启。

典型用法

按 README「怎么玩」顺序即可复现:

  1. 安装并重启 DSH,新建空会话。
  2. 从欢迎页左侧或侧栏抓住鲸鱼,拖到输入框上方水面后松手。
  3. 用 空格/W/↑ 跳跃、S/↓ 下潜,尽量躲障碍冲高分。
  4. 玩完用 Esc 或右上角 × 收起跑道;需要静音点 ♪。

若会话里已有消息,欢迎页 hero 鲸鱼会消失,仍可从侧边栏那只标记抓起(README 已知限制中已说明)。

开发侧如需离线验证,仓库提供 test/harness.html 与 node test/cdp-harness.mjs 等脚本;普通用户按上一节安装即可。

适用场景与注意

适合谁:已在用 DSH 桌面版、想在不离开客户端的情况下玩一两分钟跑酷的用户;也适合学习「客户端 patch + data-slot 锚点 + 零依赖本地安装」的插件接入方式。

权限与安全:插件以当前 DSH 进程权限在 Web 客户端侧运行,会读写 profile 下的 node_modules 与 package.json。安装前请自行查看 GitHub 仓库 源码与 MIT 许可证,确认接受其行为。

已知限制(摘自 README):

  • 仅在有鲸鱼标记的界面可抓取;有消息的会话需用侧栏鲸鱼。
  • macOS 未在维护者环境充分验证;侧栏拖拽与 data-window-drag 相关逻辑在 darwin 上有专门分支但未实机确认。
  • 退出游戏后若输入框光标丢失,点一下输入框即可。
  • 音效默认开启,可用 ♪ 关闭并记住。

社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本插件是社区趣味向扩展之一。

结尾

dsh-whale-run 把 DSH 品牌鲸鱼做成可拖拽的跑道小游戏,安装路径清晰、零 npm 依赖、主题与 logo 随客户端更新,适合作为桌面版客户端插件的参考样例。需要细节与截图见仓库 README,安装包见 Releases。

  • 目录页:https://www.skillhub.cn/plugins/wei125775-lab/dsh-whale-run
  • GitHub:https://github.com/wei125775-lab/dsh-whale-run
羽毛球分组比赛记分
小程序二维码

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

Xiaoye