前言¶
DeepSeek Harness (DSH) 的 Web GUI 架構強調插件化與輕量化。對於開發者而言,一個可視化的交互對象不僅能作爲狀態監控的反饋,也能在長時間運行 Agent 任務時提供直觀的陪伴感。totoro-pet 便是爲此設計的 DSH 插件,它能在 Web 界面中提供一隻常駐的 Q 版龍貓,通過互動養成與狀態反饋,增強界面的生動性。
插件簡介¶
totoro-pet 是一個 DeepSeek Harness Web GUI 桌寵插件。它提供了一隻懸浮的 Q 版龍貓,支持餵食、撫摸、玩耍、睡覺等互動養成功能。該插件由 Lucasli2018 維護,採用 MIT 許可證。
核心功能¶
該插件主要包含以下功能模塊:
- 四姿態 SVG 動畫:支持待機呼吸眨眼、開心跳躍、睡覺 Zzz 上浮、進食咀嚼四種狀態的平滑切換。
- 四種互動方式:提供餵食、撫摸、玩耍、睡覺四種核心交互,並伴隨數值變化與氣泡臺詞。
- 養成系統:包含飽食、心情、精力三個維度的狀態管理,隨時間線性衰減(睡眠狀態下衰減減半),並具備經驗值與等級提升機制。
- 龍貓臺詞庫:內置五類口吻的臺詞庫,支持斷網時降級爲本地臺詞。
- 個性化配置:支持拖拽換位、大小縮放(0.5×–2.0×)、不透明度調整(30%–100%)、閒置自動隱藏以及一鍵停用。
- 圖鑑彈卡:展示四姿態的觸發條件及龍貓小傳。
- HTTP API:提供狀態查詢與交互接口。API 僅在迴環地址 127.0.0.1 可達,請求體上限 64KB,返回統一錯誤碼。
- 可靠持久化:狀態落盤採用 tmp+rename 原子寫操作,壞檔可自動降級爲默認值繼續服務。
- 零構建:瀏覽器端採用單文件內嵌 SVG/CSS 的架構,無需打包工具或第三方運行時依賴。
安裝與啓用¶
安裝過程僅需一步,無需額外配置。
- 在終端中執行以下命令將插件添加到 Web profile:
dsh plugin --profile web add totoro-pet
- 安裝完成後,重啓
dsh web服務,並在瀏覽器刷新 http://127.0.0.1:3080 頁面。 - 刷新後,頁面右下角將出現龍貓「絨絨」。
使用說明¶
基礎的使用流程如下:
- 出現與交互:重啓並刷新頁面後,龍貓常駐右下角。鼠標懸停在其本體上,會浮現交互條(包含餵食、撫摸、玩耍、睡覺、圖鑑、設置按鈕)。
- 狀態反饋:點擊交互按鈕,龍貓會觸發對應動作(如進食咀嚼),並在頂部顯示氣泡臺詞與三維狀態條(飽食/心情/精力)。
- 拖拽佈局:按住龍貓本體,可將其拖拽到屏幕任意角落,位置會被記憶。
- API 操作:通過發送 HTTP 請求與插件交互。例如,查詢狀態時發送 GET 請求,執行互動時發送 POST 請求。
開發與調試¶
若需修改插件源碼並實時生效,需要使用 HMR(熱模塊替換)功能。
- 啓用熱加載:在插件源碼目錄執行
npm run link(等同於dsh plugin --profile web add link:.)。首次執行後,需徹底退出並重啓dsh服務。之後修改源碼(如lib/client.js),保存約 1 秒後頁面會自動更新,無需重啓服務或刷新頁面。 - 退出熱加載:執行
npm run unlink(等同於dsh plugin --profile web remove totoro-pet),恢復爲普通安裝模式。
注意事項¶
- API 安全:HTTP API 僅允許迴環地址 127.0.0.1 訪問。
- 卸載與停用:執行
remove命令卸載插件時,需徹底退出並重啓 dsh 服務才能清除殘留引用。若只需暫時停用,可在 profile 的cordis.patch.yml中添加disabled: true,刷新頁面即可生效,無需重啓。 - 許可:遵循 MIT 許可證。
結語¶
totoro-pet 通過極簡的架構與豐富的 SVG 動畫,爲 DSH Web GUI 增添了可視化的趣味性。它既可作爲開發過程中的狀態反饋組件,也可作爲日常使用的桌寵。完整的文檔與源碼可參考項目目錄頁與 GitHub 倉庫。