前言¶
在 DSH 的“一切皆插件”場景裏,Web GUI 可以通過客戶端插件擴展界面。對使用 DSH 觀察 agent 會話的開發者來說,常見需求是把當前會話狀態從文字提示中抽出來,快速看到它是在運行、等待輸入、報錯、完成還是待機。
@minybear/dsh-pet 是 minybear 維護的 DSH 客戶端插件,許可證爲 MIT。它在 DSH Web GUI 中漂浮一隻動畫小寵物,由當前會話的 agent 運行狀態即時驅動,並提供餵食、玩耍、設置等輕量交互。
插件定位¶
一句話定位:Codex 風格的“桌面寵物”DSH 客戶端插件,在 DSH Web GUI 裏漂浮一隻動畫小寵物,由當前會話的 agent 運行狀態即時驅動。
它解決的問題:把當前會話狀態映射爲寵物動畫,並加入位置、外觀、數值和自定義寵物包導入等設置,方便在不頻繁查看狀態欄或日誌的情況下感知 agent 當前狀態。
核心功能¶
漂浮寵物¶
寵物註冊進 DSH 的 shell.overlay 槽,屬於幀級浮動層,可點透,默認右下角常駐,可拖拽換位。
狀態驅動¶
插件讀取當前會話狀態,並映射到 Codex 的 9 狀態動畫行。
會話信號按存活期衰減:
Running:3minFailed:1hWaiting:24hReview:7d
超時後回退到 idle。
減少動態¶
插件跟隨系統 prefers-reduced-motion,也可以在設置裏手動鎖定“完整 / 減少動態”。
進入減少動態後,按 Codex 行爲固定顯示 idle 第一幀。
點擊菜單¶
點擊寵物會彈出菜單,可用操作包括:
1、餵食(eat)
2、玩耍(play)
3、設置
拖拽移動¶
拖拽可以移動寵物位置。
拖動時按方向播放 running-left/right 行走動畫,靜止時進入 drag 姿態,位置會持久化到 localStorage。
養成數值¶
插件內置飽食 / 心情數值,範圍均爲 0–100,並隨牆鍾時間衰減;關掉瀏覽器也會繼續計時,約 8h / 6h 見底。
數值變化規則:
- 餵食:飽食 +30
- 玩耍:心情 +25
菜單裏有兩條數值條。當寵物待機且某項低於 20 時,會提示“餓了 / 想玩”。
內置寵物¶
內置五隻寵物:
- Dee(青綠)
- Amber(琥珀)
- Berry(莓紫)
- 灰鯨(DeepSeek Harness logo 造型)
- 藍鯨(DeepSeek 官方 logo 造型)
可以在設置面板一鍵切換。
外觀設置¶
外觀設置包括:
- 尺寸:0.5–1.5
- 透明度:0.2–1
- 動畫模式
- 寵物選擇
這些設置全部持久化到 localStorage。
自定義寵物包¶
設置面板支持導入標準 Codex 寵物包,包括:
pet.json- 圖集圖片
導入後會先校驗,再存入 localStorage,並立即可選;也可以刪除。
兼容包格式由 pet.json 和一張行優先圖集描述。pet.json 字段包括:
{
"id": "",
"displayName": "",
"description": "",
"spritesheetPath": "",
"frame": null,
"animations": null
}
圖集前 9 行爲 Codex V1 官方 9 狀態,第 9–11 行爲交互狀態(eat / play / drag)。
如果自定義寵物包沒有額外交互行的官方 9 行圖集,會自動回退:交互態播放 idle 行。
安裝與啓用¶
客戶端插件需要宿主端打包(dsh.client.inject),安裝後需要重啓 DSH 並刷新頁面才生效。
已給出的安裝命令爲:
dsh plugin --profile web add github:minybear/DeepSeek-Harness-Pet
安裝後重啓:
dsh web
然後刷新頁面,寵物應出現在右下角。
離線環境或無需 pnpm 時,可使用手動安裝腳本:
deploy\install.ps1
典型用法¶
1、安裝並重啓 DSH 後,打開 Web GUI,確認右下角出現寵物。
2、點擊寵物,彈出菜單後執行餵食、玩耍或進入設置。
3、拖拽寵物到合適位置,位置會持久化到 localStorage。
4、在設置面板中切換內置寵物,調整尺寸、透明度和動畫模式。
5、導入自定義 Codex 寵物包:上傳 pet.json 與圖集圖片,校驗通過後立即可選。
6、如果需要運行測試或圖集自檢,可以執行:
npm test
node scripts/render-atlas.mjs --all
其中 npm test 依次跑 pet-core / client-contract / parity;node scripts/render-atlas.mjs --all 軟渲染三隻內置寵物圖集並自檢網格不變量。
實現與測試注意¶
client.js 內聯了一份 pet-core,test/parity.test.mjs 會對兩份副本做全量行爲一致性校驗,防止行爲分叉。
適用場景與注意¶
適合:
- 使用 DSH Web GUI,希望把 agent 狀態可視化成寵物動畫的開發者。
- 想按 Codex 寵物包格式導入或製作自定義寵物動畫的開發者。
- 需要低打擾狀態提示,並且重視系統減少動態設置的開發者。
注意:
- 插件以當前 dsh 進程權限運行;安裝前應檢查源碼和 MIT 許可證。
- 養成數值按牆鍾時間衰減,不依賴瀏覽器是否打開。
- 自定義寵物包如果沒有交互行,交互態會回退到
idle行。 - 本文只使用資料中明確給出的安裝命令,不把它表述爲唯一官方安裝入口。
結尾¶
@minybear/dsh-pet 的價值在於把 DSH 當前會話狀態映射爲 Codex 風格寵物動畫,並提供餵食、玩耍、拖拽、外觀、自定義寵物包導入等輕量設置。
社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。本文資料未提供目錄頁 URL,源碼地址爲:
https://github.com/minybear/DeepSeek-Harness-Pet