前言¶
在 DeepSeek Harness(DSH)裏跑智能體時,界面上的反饋往往集中在日誌、工具調用列表和 todo 面板。長時間盯着這些文本,不容易一眼看出「當前是在幹活、在等你確認,還是已經報錯停住」。社區插件 claude-pet-dsh 把 Q 版 Claude 桌寵接到 DSH 的 Web / Desktop 客戶端:在 shell.overlay 上佔右下角一塊區域,根據 session/event 與 agent/error 切換動作和氣泡,並把 todo 的 completed/total 顯示在氣泡裏。它和操作系統級透明懸浮窗不是一回事,而是應用內 overlay;也不讀對話正文,只消費事件裏的狀態、工具名和 todo 標題。
這是什麼¶
claude-pet-dsh 由維護者 Jimesarrice 發佈,在 SkillHub 目錄中歸類爲「趣味換裝」。倉庫說明其把 State Interface 項目整理出的 DSH 插件獨立維護,角色圖集與迷你 Clawd SVG 來自該項目,與 Anthropic 無官方關聯。當前包版本爲 0.3.1(見 package.json),許可證 MIT。
一句話定位:DSH 客戶端插件,用可替換的 8×9 角色圖集和迷你 Clawd,跟隨 turn / tool / approval / todo 等會話事件播放動作,並支持拖動與位置持久化。
核心功能¶
下面介紹插件在 README 中寫明的幾項能力。
界面與交互¶
- 啓動後在窗口右下角顯示角色,默認距右下各 24 px。
- 按住角色可在窗口內拖動(橫縱均可貼邊),鬆開後位置寫入瀏覽器 localStorage。
- 單擊角色切換氣泡;「收起」只隱藏氣泡,「隱藏」把角色縮成右下角迷你 Clawd(
assets/svg/clawd-mini-*),再點一次展開回原角色,位置不變。
狀態與動畫¶
插件監聽 DSH 的 session/event(turn / tool / approval / todo)和 agent/error。展開態使用 assets/spritesheet.webp:1536×1872,單元格 192×208,8 行 × 9 列(Petdex 兼容圖集),按狀態選行播放幀動畫。
狀態映射(展開態圖集行號)如下:
turn/start→ 工作(第 7 行)tool/call→ 工作;工具名爲ask_user_question→ 等待(第 6 行)approval/asked→ 等待tool/result→ 工作todo/write→ 更新氣泡中的任務標題與completed/totalturn/end: completed→ 完成(第 4 行,約 8 秒後回到待機)turn/end: error/max-tokens/timeout→ 出錯(第 5 行)turn/end: blocked→ 等待agent/error→ 出錯
出錯狀態會一直保持,直到:該會話出現新一輪事件(例如 turn/start);宿主發出會話關閉/刪除類生命週期事件(插件訂閱了 session/close|delete|disposed|removed,宿主若無對應事件則無副作用);或在氣泡中點擊 「本次錯誤已處理」——歸檔後的對話可能不再有事件,該按鈕是顯式解除入口,點擊後桌寵回到待機。
服務端路由¶
宿主側提供:GET /claude-pet-dsh/state、POST /claude-pet-dsh/ack?session=<id>、靜態資源 /claude-pet-dsh/spritesheet.webp、/claude-pet-dsh/assets/svg/<name>.svg,以及 /claude-pet-dsh/health。
安裝與啓用¶
官方 README 的安裝流程是先取得本地目錄,再在 DSH 終端用 file: 註冊。下面命令來自倉庫原文(<克隆目錄> 需換成實際路徑)。
先在本地取得插件目錄(README 給出的方式):
git clone https://github.com/Jimesarrice/claude-pet-dsh.git
Web 環境註冊:
dsh plugin --profile web add file:<克隆目錄>
Desktop 環境註冊:
dsh plugin --profile desktop add file:<克隆目錄>
若桌面客戶端對 desktop profile 有應用內專管限制,可在 DSH 桌面端的插件管理界面選擇本地包,或按客戶端提示安裝。安裝後需重啓 DSH 或重開頁面,插件層纔會加載。
卸載(重啓 DSH 後生效):
dsh plugin --profile web remove claude-pet-dsh
dsh plugin --profile desktop remove claude-pet-dsh
典型用法¶
經過上面的步驟加載插件後,正常使用 DSH 會話即可,無需額外配置項。桌寵會隨上述事件自動切換動作;有 todo 寫入時,氣泡會顯示當前任務與進度。
若要換皮,可按 README 替換資源:
展開態:替換 assets/spritesheet.webp;圖集行序爲 0 idle、1 running-right、2 running-left、3 waving、4 jumping、5 failed、6 waiting、7 running、8 review。狀態到行/幀的映射在 client.js 的 ROWS 中。
最小化態:修改 assets/svg/ 下 45×45 viewBox 的迷你 SVG,或通過 client.js 裏的 MINI 表映射狀態到文件名,MINI_CROP / MINI_W 控制取景與顯示尺寸。
適用場景與注意¶
適合希望在 DSH Web / Desktop 界面裏用輕量視覺反饋跟蹤智能體狀態、又願意自行維護本地插件包的開發者。目標 DSH 版本在 package.json 中標註與 0.2.1-rc.5 兼容;已在 web profile 驗證加載,desktop profile 安裝後需重啓生效。插件依賴 Node >=22.12.0,以及 @deepseek-ai/cordis、react 等 peer 依賴,由 DSH 宿主環境提供。
使用時請注意:
- 插件在 當前 DSH 進程權限 下運行,安裝前應閱讀源碼與 MIT 許可證,確認可接受其網絡與 overlay 行爲。
- 瀏覽器端掛載在 DSH 的
shell.overlayslot;若宿主升級改了 slot 名稱,需在client.js的apply()中同步調整。 - SkillHub 目錄(https://www.skillhub.cn/plugins/Jimesarrice/claude-pet-dsh)是社區索引,與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,本文安裝步驟以 GitHub README 爲準。
結尾¶
claude-pet-dsh 把會話事件映射成桌寵動作與 todo 進度氣泡,並支持圖集與迷你 SVG 換裝,適合在 DSH 裏做狀態可視化。更多信息見目錄頁 SkillHub 與源碼倉庫 GitHub。