dsh-pajama-whale: The Blue Whale Pajama Desktop Pet and Agent Status Bubbles in DSH Windows

前言

在 DeepSeek Harness(DSH)里跑长回合时,界面往往只有进度与日志:工具是否在跑、是否在等你确认、上下文是否快满,都要自己扫状态栏。社区插件 dsh-pajama-whale 把一只可拖拽的「穿蓝鲸连体睡衣」小桌宠叠在 shell.overlay 上——先当玩具推来推去,再在 thought cloud 里用姿势和短句反映当前会话在做什么。无需额外配置,也不发起独立网络请求。

这是什么

维护者 lubenkov 在 GitHub 开源的 npm 包 dsh-pajama-whale(当前发布版本 0.3.6,MIT)。SkillHub 目录分类为「趣味换装」。插件占一个 overlay 槽位:129 帧精灵图内联进约 3.1 MB 的 client.js,安装时不构建、不 postinstall 拉资源。

核心功能

拖拽与贴边

你的操作 桌宠反应
拖拽 跟指针移动;慢松手则停住,松手速度超过约 120 px/s 会「飞出去」。无重力、无反弹。
拖向窗口四边 贴边压扁:四个方向各 8 帧,帧由 overshoot(最多约 110 px)或投掷速度决定,贴住直到再拖走。
点击身体 thought cloud 约 5 秒显示当前 context pressure,或未知时显示会话标题。
悬停 / 点击气泡 悬停时持续显示同样信息;点击气泡打开它正在观察的会话。

独处约一分钟后进入 16 帧循环的 sleepy;用光标靠近会打 13 帧哈欠;新回合开始则静默醒来。闲置时在眨眼(约 75%)与摇尾(约 25%)之间随机,间隔约 1.9–4.5 秒,偶发 hmm… 气泡。

跟随 Agent 会话

插件只读会话状态、context pressure、会话标题与近期工具活动来选择姿势,不向外部发送数据;除桌宠位置、贴边侧、压扁深度与 stuck 标记外,仅写入本机 localStorage。

会话情况 桌宠表现
本回合有工具执行 working:掏出笔记本,12 帧
回合进行中、无工具活动 thinking,20 帧
回合结束 一次 joy
等待你批准或回答 气泡显示 ?
上一回合失败 约 6 秒显示 ! error
context pressure ≥ 80% 一次 surprised;≥80% 期间气泡显示 context N%,降到 75% 以下后 surprised 可再次触发
连续工作约 50 分钟 约 9 秒提示 take a break?(之后每 45 分钟重复;中断少于 3 分钟仍算连续)
安静约一分钟 入睡;见上节唤醒规则

气泡优先级(高到低):悬停/点击读 context → ? → ! error → take a break? → context N% → 闲置 hmm…(约 3.6 秒,每 70–160 秒)。拖拽或贴墙时姿势与一次性情绪暂停,压扁帧优先。

文案随 Settings → Language 的 ctx.locale 走中英文,其余语言回退英文。

性能与交互边界

overlay 在桌宠身体与气泡外使用 pointer-events: none,尽量不挡操作。闲置且无姿势播放时停止 requestAnimationFrame 循环;标签页隐藏时浏览器会挂起 rAF,并显式停止呼吸动画。prefers-reduced-motion 下关闭呼吸与随机情绪,姿势动画仍播放。位置与贴墙状态在窗口缩放时会 clamp 后仍从 localStorage 恢复。

安装与启用

package.json 声明 DSH 版本范围:>=0.2.1-rc.2 <0.3.0-0。超出范围时安装或 profile 启动会拒绝加载 bundle,需按 COMPATIBILITY.md 了解豁免命令与降级行为。插件以当前 DSH 进程权限运行,安装前建议浏览仓库源码与 MIT 许可证。

Web(README 注明在 DSH 0.2.1-rc.2 上验证):

dsh plugin --profile web add dsh-pajama-whale

默认安装 npm 最新版;固定版本可在包名后加 @0.3.6。若要从 GitHub 标签安装:

dsh plugin --profile web add github:lubenkov/dsh-pajama-whale#v0.3.6

(需要本机有 git。)

Desktop(终端):npm 版 dsh CLI 不能使用保留的 desktop profile。先在应用菜单通过 Manage dsh Command… 安装命令,退出应用后执行:

dsh plugin --profile desktop add dsh-pajama-whale

再重新打开应用。

Desktop(应用内):打开 Plugins 页安装 dsh-pajama-whale,按提示重启。

卸载:

dsh plugin --profile <profile> remove dsh-pajama-whale

典型用法

  1. 在与你实际启动一致的 profile(web 或 desktop)里完成上述 add。
  2. 长回合运行时观察姿势:工具阶段为 working,纯推理为 thinking,结束时有 joy。
  3. 需要确认或 context 紧张时看气泡:?、context N% 或失败时的 ! error。
  4. 想确认当前压力或标题:点一下桌宠或悬停气泡;点气泡进入对应会话。
  5. 贴边、投掷、睡觉纯属 UI 消遣,不影响 Agent 逻辑。

若桌宠不出现:确认 profile 一致、DSH 版本在声明范围内;可在控制台设置 localStorage['pajama-whale:debug'] = '1' 后 reload,气泡会打印 live channels(缺失 channel 时仍可渲染与拖拽,见 COMPATIBILITY.md 的 degradation 说明)。

适用场景与注意

适合希望在 DSH 窗口里有一个轻量、无配置的会话状态可视化,同时能接受 overlay 桌宠占用少量内存(内联 WebP 约 2.3 MB + 单文件 client)的用户。不适合需要可配置主题、远程资源或 telemetry 的场景——本插件明确无配置、无出站请求、无 telemetry。

DSH 生态是「一切皆插件」;SkillHub 目录页 为社区索引,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-pajama-whale 把 draggable 桌宠与 Agent 状态读数叠在同一 overlay:贴边压扁、眨眼睡觉是消遣,笔记本、? 与 context 气泡是等你介入的信号。无构建安装、MIT 开源。

  • 目录页:https://www.skillhub.cn/plugins/lubenkov/dsh-pajama-whale
  • 源码与 README:https://github.com/lubenkov/dsh-pajama-whale
羽毛球分组比赛记分
小程序二维码

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

Xiaoye