前言¶
在 dsh web 裏處理長任務時,消息流會不斷滾動,但有時只想快速確認當前會話處在哪個階段:排隊、等待確認、思考、調工具、寫答案,還是出錯。falser101/dsh-mascot 是 DeepSeek Harness(DSH)Web 的一個插件:一隻可拖動的卡通貓或狗,停在界面上,跟隨當前會話狀態切換表情和文案。它是純前端投影,不發送會話事件。
這是什麼¶
falser101/dsh-mascot 由 falser101 維護,許可證爲 MIT。它解決的是 dsh web 裏的輕量狀態提示問題:用一隻懸浮寵物顯示會話階段,提供並行任務跳轉入口,並保留換形象、隱藏、打開設置等常用操作。
GitHub:
https://github.com/falser101/dsh-mascot
核心功能¶
會話狀態¶
寵物會跟隨當前會話狀態切換表情和文案,覆蓋排隊、等待確認、思考、調工具、寫答案、完成、出錯、打招呼等狀態。它只做界面投影,不向會話中發送事件。
拖動與收起¶
寵物支持拖拽移動,鬆手後停在放置位置;窗口縮小時會被夾回屏幕內。當焦點在對話輸入框且寵物閒置時,它會收成小頭像;發送後再展開。
狀態氣泡¶
狀態氣泡顯示陪伴文案。工具名默認關閉,可在懸停或設置中打開。閒置時可按安靜、標準、熱鬧三種頻率自動冒泡。懸停時,它會換成更軟的話。
AI 小劇場¶
AI 小劇場默認關閉。打開後會調用當前默認模型偶爾寫俏皮話;沒有 key 或失敗時退回內置句子。高推理模型開着會比較虧,所以默認不用。
並行任務提示¶
多個會話或子代理並行運行時,右上角會顯示數字。懸停可查看忙碌對象,點擊可跳轉。
形象與交互¶
點擊寵物會說話,雙擊收成小頭像,懸停可打開換一隻、去當前任務、隱藏、打開設置等按鈕。設置中有“顯示懸浮寵物”總開關,也可右鍵選擇隱藏。文案跟隨界面語言(中/英)切換;系統開啓減弱動態時,動畫會停。
安裝與啓用¶
先確認本機已經能運行:
dsh --profile web
README 要求 @deepseek-ai/dsh-client-* 版本不低於 0.1.0-rc.5。package.json 聲明的 peerDependencies 包括 @deepseek-ai/cordis >=4.0.0、react >=18.2.0,以及多個 @deepseek-ai/dsh-client-* 包 >=0.1.0-rc.5。
安裝到 web profile:
dsh plugin --profile web add @falser101/mascot
然後重啓 Web 進程並打開頁面:
dsh --profile web
安裝完成後,寵物會出現在右下角,設置裏會出現獨立的“懸浮夥伴”頁。
如果沒有 npm 環境,也可以按 GitHub 倉庫安裝:
dsh plugin --profile web add github:falser101/dsh-mascot
如果要對本機源碼調試,把倉庫鏈進 profile:
dsh plugin --profile web add /path/to/dsh-mascot
倉庫中 lib/ 隨倉庫提交,git/npm 安裝都不需要再構建。
卸載:
dsh plugin --profile web remove @falser101/mascot
典型用法¶
1、切換形象
進入設置 → 懸浮夥伴,點選目標形象。選擇會記在本地。
2、查看工具名
工具名默認關閉。可在懸停時打開,或在設置裏打開。
3、使用並行提示
當多個會話或子代理同時運行時,查看寵物右上角的數字,懸停確認忙碌對象,再點擊跳轉。
4、開發構建
倉庫提供以下命令:
pnpm build
pnpm watch
pnpm test
5、更換立繪
覆蓋 docs/<品種>/ 裏的同名 jpg,然後運行:
node scripts/build-art-assets.mjs
再重新構建。
適用場景與注意¶
適合已經在 DSH Web 中使用、希望用輕量動畫判斷會話階段、需要並行任務跳轉入口,或願意自定義寵物形象的開發者。
注意:
- 該插件是純前端投影,不發送會話事件。
- AI 小劇場默認關閉;打開後會調用當前默認模型,沒有 key 或失敗時退回內置句子。
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼與許可證。 - 文案跟隨界面語言切換,系統開啓減弱動態時動畫會停。
- 許可證爲 MIT。
結尾¶
falser101/dsh-mascot 的價值在於把 DSH Web 的會話狀態映射成一隻可拖動、可收起、可交互的懸浮夥伴。它不替代任務面板,但能讓排隊、思考、工具調用、寫答案、完成、出錯這些狀態更直觀,也便於在並行會話之間快速跳轉。
目錄頁:
@falser101/mascot
GitHub:
https://github.com/falser101/dsh-mascot