dsh-pajama-whale:DSH 窗口裏的藍鯨睡衣桌寵與 Agent 狀態氣泡

前言

在 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
羽毛球分组比赛记分
小程序二维码

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

小夜