前言¶
在 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
典型用法¶
- 在與你實際啓動一致的 profile(
web或desktop)裏完成上述add。 - 長回合運行時觀察姿勢:工具階段爲
working,純推理爲thinking,結束時有joy。 - 需要確認或 context 緊張時看氣泡:
?、context N%或失敗時的! error。 - 想確認當前壓力或標題:點一下桌寵或懸停氣泡;點氣泡進入對應會話。
- 貼邊、投擲、睡覺純屬 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