前言¶
用 DeepSeek Harness(DSH)跑任務時常見的問題是:後臺 Job、Goal、子代理各跑各的,你切到別的頁面幹活,回頭才發現某個會話早就停在提問或審批上,白等了半天。Codex Desktop 用一隻桌面寵物解決這類問題——任務在跑時寵物有動作,Agent 停下來等你時寵物會提醒你。
dsh-pets 把這套交互搬到 DSH Web 上:一隻可拖拽的二次元像素桌寵,加一個浮在任意頁面上的即時任務面板。下面介紹它的功能、安裝方式和工作原理。
這是什麼¶
dsh-pets 是 rikfish163-rgb 維護的 DeepSeek Harness Web UI 插件(包名 @dsh-local/dsh-pets,版本 0.1.0,MIT 許可證),靈感來自 OpenAI Codex Desktop 的 Pets 功能,是面向 DSH 的同構實現——不依賴 Codex,也非官方項目。
它做兩件事:一是桌寵,精靈圖序列幀動畫,狀態隨 Agent 聯動(待命 / 思考 / 工作中 / 等你回答 / 已完成 / 失敗);二是任務面板,浮在任意頁面上,彙總進行中的任務和等待你回答的提問。
核心功能¶
任務面板¶
面板分三個標籤頁:
- 進行中:後臺 Job + Goal + 子代理
- 已完成:歷史記錄重啓後保留,最多 200 條
- 等你回答:模型停下提問或等待審批時點亮
任務卡片可展開查看輸出 tail 和詳情,點「打開會話 →」深鏈直達對應會話窗口。
提醒與全局浮層¶
有等待回答的提問時,寵物亮起紅色角標,瀏覽器標籤頁標題顯示 ([N])。插件通過 shell.overlay 註冊全局浮層,在任何頁面都能點開查看即時進度,不用切回會話頁。
外觀與自定義¶
- 玻璃擬態 UI:毛玻璃、漸變與圓角卡片,寵物和麪板透明度可在 35%–100% 調節
- 自定義形象:上傳 PNG / WebP / GIF / JPG(最大 8MB),可隨時切回內置精靈圖
- 寵物尺寸 64–280px 可調,位置與透明度自動記住
- 面板底部快捷入口直達 DSH Web 首頁、會話界面和插件管理
安裝與啓用¶
要求 dsh web(DeepSeek Harness Web,Node ≥ 20)。從 GitHub 安裝:
dsh plugin --profile web add "github:rikfish163-rgb/dsh-pets"
本地開發可以直接 link:
dsh plugin --profile web link /path/to/dsh-pets
安裝後重啓 dsh web,頁面右下角即出現寵物。插件管理面板在「設置 → 插件」。客戶端部分聲明瞭 react ^18.2.0 的 peerDependencies。
典型用法¶
裝好後按下面的順序試一遍:
1、單擊寵物展開任務面板,再點一次收起。
2、拖拽寵物或面板標題欄,挪到不礙事的位置,位置會自動記住。
3、雙擊寵物,重新播放當前動畫。
4、用尺寸滑桿調整寵物大小(64–280px),透明度滑桿同步調整寵物與面板透明度(35%–100%)。
5、想換形象時上傳 PNG / WebP / GIF / JPG,隨時可切回內置精靈圖。
6、跑任務時切到任意頁面,從浮層看即時進度;點任務卡片展開詳情 / 輸出 tail,再點「打開會話 →」跳回會話。
7、有提問等待時,留意寵物的紅色角標和瀏覽器標籤頁標題的 ([N])。
工作原理¶
插件由兩半組成:
1、宿主半 lib/index.js(Cordis 插件),註冊只讀 JSON 路由:
GET /plugins/dsh-pets/tasks:合併後臺 Job、Goal、前臺 Task、子代理及 SessionGET /plugins/dsh-pets/asks:收集等待回答的提問- 精靈圖資產路由:主圖與兜底圖各一條
- 已完成歷史持久化到
~/.dsh/storages/dsh-pets.json,重啓不丟失,最多 200 條
2、客戶端半 lib/client.js:通過 ctx.slots.inject("shell.overlay") 註冊全局浮層,訂閱 sessions.list 做 Agent 狀態聯動,每 1.5s 輪詢上述路由刷新面板。
所有服務訪問均爲可選探測(ctx.get + try/catch),某個服務不存在時優雅降級,不會拖垮宿主。
換一隻寵物¶
想替換內置形象,需要替換 assets/lulu-spritesheet.webp:9 行狀態序爲 idle / run-right / run-left / wave / jump / failed / waiting / sprint / review,每幀 162×198。主圖讀不到時,插件自動回退到 assets/pet-sheet.png,這張圖可用 scripts/gen-pet.py 重新生成。
適用場景與注意¶
適合同時跑多個後臺任務、經常離開會話頁的人——面板、角標和桌寵動作把「停下來等你」這件事主動推到眼前。
幾點注意:
- 素材版權:
assets/lulu-spritesheet.webp是 OpenAI Codex 官方寵物「嚕嚕」的資產,版權歸 OpenAI 所有,自行分發需注意合規;assets/pet-sheet.png爲腳本原創生成,可自由使用。 - 插件以當前 dsh 進程的權限運行,安裝前建議閱讀源碼、確認許可證(本項目爲 MIT)再裝。
- 環境要求:Node ≥ 20。
小結¶
dsh-pets 用一隻桌寵加一個全局浮層,把分散在 Job、Goal、子代理和會話之間的任務狀態聚到一處,客戶端每 1.5s 輪詢一次刷新。如果你的工作流裏常有長任務在後臺跑,可以裝一個試試。
- GitHub:https://github.com/rikfish163-rgb/dsh-pets
- 社區插件目錄(獨立站點,非官方應用商店):https://www.skillhub.cn/plugins/rikfish163-rgb/dsh-pets