前言¶
在 DeepSeek Harness(DSH)Web 界面裏跑多會話智能體時,常見問題是:模型正在思考、流式輸出還是調用工具,頁面上往往缺少統一、可讀的反饋。刷新頁面或切到別的標籤頁後,更難判斷當前有哪些會話在跑、進度到哪一步。
dsh-answer-pet 面向這一場景:在 Web GUI 角落掛一隻可拖拽的「回答狀態寵物」,用動畫和狀態卡把會話進度、輸出速率和模型執行軌跡可視化。外觀通過聲明式 PetTheme v1 與進度核心解耦,默認藍鯨,也內置橘貓與銀漸層貓主題。
這是什麼¶
dsh-answer-pet 是 DSH Web bundle 插件,由 Nanki-nn 維護,當前版本 0.6.0,MIT 許可證。插件分 Node half 與瀏覽器 client:前者監聽 session/event 維護進度與軌跡,後者渲染寵物、狀態卡和交互。
目錄頁:SkillHub - dsh-answer-pet
源碼:github.com/Nanki-nn/dsh-answer-pet
核心功能¶
可擴展寵物主題¶
主題通過 PetTheme v1 契約定義 SVG、動畫、寬高比和階段文案,與回答進度邏輯分離。當前內置三個可信主題,隨插件構建加載,不執行第三方任意 JavaScript,也不注入未經清理的外部 SVG。
| 主題 id | 名稱 | 說明 |
|---|---|---|
blue-whale |
藍鯨 | 默認主題 |
orange-cat |
橘貓 | PetTheme v1 示例 |
silver-shaded-cat |
銀漸層貓 | 構建時注入內嵌 PNG,不加載外部圖片 |
未知主題 id 會安全回退到 blue-whale。自定義主題開發見倉庫內 docs/PET_THEME.md。
回答進度與狀態卡¶
插件按 DSH 會話事件驅動階段機,即時映射到寵物動畫和進度百分比:
| 階段 | 主題接口 | 狀態卡進度 |
|---|---|---|
| 空閒 | idle |
不顯示運行會話卡 |
turn/start |
turn |
2% |
思考(step/start) |
think |
5% → 10% |
輸出(assistant/chunk) |
stream |
10% → 90% |
工具(tool/call) |
tool |
凍結當前進度 |
完成(turn/end) |
done |
100% |
進度優先使用 assistant/chunk 的 usage;有 maxTokens 時按 outputTokens / maxTokens 填充,否則用飽和曲線估算,同一回合內單調不減。狀態卡還顯示輸出 token、token/s、耗時和文本片段。
多會話與模型軌跡¶
多個會話併發時,每個運行中的會話對應一張獨立進度卡,縱向排列;無運行會話時不顯示卡片,也不顯示數量 0。
每張卡內展示最近模型軌跡,例如分析任務、推理與規劃、組織回答、工具調用及結果。工具失敗在軌跡中標紅。軌跡最多保留 6 條(卡片顯示最近 4 條)。工具名會顯示(如 read、grep),參數只從白名單字段提取簡短摘要,不展示完整 Shell 命令或原始 JSON。
交互與數據更新¶
- 拖拽寵物:位置持久化到
localStorage。 - 單擊寵物:觸發主題定義的眨眼,不移動位置。
- 狀態卡可摺疊;收起後僅在存在運行會話時顯示數量按鈕。
- 輪詢與 SSE 結合:流式數據平滑更新,階段切換即時刷新。
安裝與啓用¶
插件需安裝到 Web profile。在終端執行:
dsh plugin --profile web add github:Nanki-nn/dsh-answer-pet
安裝後停止並重新啓動當前的 dsh web 進程,再刷新 Web GUI 頁面。升級插件時重複同一條命令即可。
從舊版本升級到 0.6.0 後必須重啓 dsh web;僅刷新瀏覽器不會加載新的配置 schema 和 Node half 邏輯。
典型用法¶
切換寵物主題¶
在 <dshHome>/settings.yaml 的 answer-pet 段配置主題。主題更新會在下一次配置刷新時掛載。
answer-pet:
theme: silver-shaded-cat # blue-whale / orange-cat / silver-shaded-cat
調整尺寸、位置與顯示項¶
同一 section 下可配置寵物尺寸、停靠角、透明度、輪詢間隔,以及是否顯示進度卡和狀態氣泡。
answer-pet:
theme: blue-whale
size: 96 # 寵物高度 px(48–200)
corner: br # 停靠角:br / bl / tr / tl
opacity: 1 # 透明度(0.2–1)
pollMs: 800 # /state 輪詢間隔
showBar: true # 顯示會話進度卡
showBubble: true # 顯示狀態氣泡
恢復默認位置¶
若拖拽後想恢復寵物默認停靠位置,在 DSH Web 頁面打開開發者工具執行:
localStorage.removeItem('answer-pet:pos')
location.reload()
同時恢復狀態卡展開狀態:
localStorage.removeItem('answer-pet:bar')
location.reload()
適用場景與注意¶
適合誰
- 經常在 DSH Web 界面跑多會話智能體,需要一眼看到哪些會話在跑、當前階段和工具調用情況。
- 希望在角落放輕量狀態指示,而不是反覆切會話頁查看日誌。
- 想基於
PetTheme v1做自定義寵物主題(需閱讀倉庫開發指南並按構建流程接入)。
使用前注意
- 插件以當前
dsh web進程權限運行;安裝前建議查看 源碼 與 MIT 許可證,確認符合你的環境要求。 - 模型軌跡依賴 Node half 監聽
session/event;安裝或升級後務必重啓dsh web,單獨刷新頁面只能更新瀏覽器端樣式。 - 進度百分比是插件根據階段、token 和
maxTokens估算的,多數模型接口不會提供精確完成百分比。 - SkillHub 是 DSH 社區插件目錄,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-answer-pet 把 DSH Web 裏的回答過程拆成可讀的寵物動畫、多會話進度卡和模型軌跡時間線,並通過 PetTheme v1 把外觀與核心邏輯分開。若你已在用 DSH Web 跑智能體,可按上文命令安裝到 Web profile,重啓服務後刷新頁面即可試用。
- 目錄頁:https://www.skillhub.cn/plugins/Nanki-nn/dsh-answer-pet
- GitHub:https://github.com/Nanki-nn/dsh-answer-pet