前言¶
DeepSeek Harness 的設計理念是“一切皆插件”,允許開發者通過插件擴展 Web GUI 的功能。在界面中增加一個可視化的 Live2D 看板娘,能夠直觀地展示 Agent 的當前工作狀態。lrplrplrp/dsh-live2d 插件在 DSH Web 界面中渲染 Live2D 模型,支持鼠標交互操作,並完全由 DSH 的真實工作狀態驅動動畫。
安裝與啓用¶
安裝前必須完全退出 DSH(關閉 DSH Host)。
- 執行安裝命令:
dsh plugin --profile web add link:/path/to/dsh-live2d
- 啓動 DSH Web:
dsh web
- 啓動後,看板娘會自動出現在頁面左下角,並以內置的 DeepSeek 模型與動畫映射運行。
功能說明¶
鼠標交互¶
- 拖拽移動:拖動看板娘右下角的 ✥ 圖標,位置會自動保存。
- 滾輪縮放:鼠標懸停在拖拽圖標上滾動滾輪,可實時縮放模型大小,縮放比例會自動保存。
- 畫布調整:鼠標懸停在畫布區域時,右下角會出現藍色邊角手柄,拖動可調整畫布尺寸。
眼睛跟隨¶
模型視線默認跟隨全局鼠標光標移動。如果不需要此效果,可在 DSH 設置頁的 Live2D 配置中關閉。
狀態驅動動畫¶
插件內置了基於 DSH 狀態的動畫映射。當 Agent 狀態變化時,Live2D 模型會自動切換對應的動作或表情。
IDLE:空閒待機,播放 Idle 組動作。THINKING:Agent 開始思考,播放 Anima 組 thinking 動作。THINK_END:思考結束,播放 Anima 組 thinkend 動作。WORKING:工具調用中,播放 Anima 組 speak 動作。SPEAKING:開始輸出對話,播放 Anima 組 speak 動作。SUCCESS:任務完成,切換到 happy 表情。ERROR:任務出錯,切換到 unhappy 表情。
模型管理¶
- 內置模型:安裝後直接使用內置的 DeepSeek Live2D 模型。
- 自動掃描:將包含
.model3.json的模型文件夾放入插件的assets/目錄下,插件會自動識別並刷新模型列表。
配置與設置¶
插件的配置保存在瀏覽器的 localStorage(key: dsh-live2d.v1),也支持在 DSH 設置面板的“Live2D 看板娘”頁面中進行可視化編輯。
在設置頁中,可以爲每個模型配置:
* motion:動作映射,格式爲 { "group": "組名", "index": 0 },留空則隨機播放。
* expression:表情名稱。
技術實現¶
插件依賴 @deepseek-ai/cordis 作爲 peer dependency。
在源碼開發層面,Host 端只讀取 lib/client.js 並原樣投遞給瀏覽器。客戶端代碼按功能拆分在 lib/src/ 目錄下,由構建腳本拼接生成 lib/client.js。因此,若需修改源碼,必須運行 npm run build 重新構建。
適用場景¶
適合需要在 DeepSeek Harness Web GUI 中增加視覺反饋、展示 Agent 工作流程或單純作爲界面裝飾的開發者。
參考資料¶
- GitHub 倉庫:https://github.com/lrplrplrp/dsh-live2d
- 社區目錄:https://www.skillhub.cn/plugins/lrplrplrp/dsh-live2d