claude-pet-dsh:在 DSH 界面裏用桌寵反映 turn / tool / todo 狀態

前言

在 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/total
  • turn/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.overlay slot;若宿主升級改了 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。

羽毛球分组比赛记分
小程序二维码

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

小夜