前言¶
DSH 生態強調「一切皆插件」,但社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。對於使用 DeepSeek Harness 的開發者,一個具體需求是在 Web GUI 中低打擾地看到智能體當前狀態、審批請求、工具執行和任務結果。dsh-dynamic-island 面向這個場景,把 Harness 狀態映射到 Web GUI 的浮動組件上,減少在事件流、日誌和原生審批入口之間來回切換。
這是什麼¶
dsh-dynamic-island 是 DeepSeek Harness Web GUI 的 Liquid Glass 風格 Dynamic Island,由 YLifeOnlyOnce 維護,許可證爲 MIT。它的定位是一個客戶端插件,掛載到 Web GUI 的 shell.overlay 浮動插槽。
README 將當前狀態描述爲 high-fidelity design prototype,表示在成爲正式插件前持續設計、迭代和驗證;因此生產化程度需要按倉庫說明進一步確認。
核心功能¶
下面介紹已覈實的插件能力:
- 將 Harness 狀態映射爲
idle、thinking、working、approval、complete、alert、blocked、max-tokens八種狀態。 - 在
approval狀態提供「批准 / 暫不」按鈕,並同步 Harness 審批結果。 - 展示
tool call/tool result,包括exit code、duration、命令複製。 - 展示 goal 進度環、三態任務清單、背景 job chips、recent wins、model badge。
- 支持拖動定位,並在 reload 後記住位置。
- 支持
⌘K/Ctrl+K命令面板、Esc收起、自動演示。 - 使用 React 與 CSS 實現;README 表述爲零額外運行時依賴,但
package.json將react與react-dom聲明爲 peerDependencies。 - 尊重
prefers-reduced-motion,保留真實按鈕,不只依賴顏色表達狀態。
安裝與啓用¶
下面先給出面向 DSH Web profile 的安裝方式。安裝完成後需要重啓 web profile,使插件掛載到 Web GUI。
dsh plugin --profile web add dsh-dynamic-island
dsh --profile web
如果只做本地演示,也可以從源碼運行 Vite 開發服務:
npm install
npm run dev
打開 Vite 打印的地址,即可進入靈動島演示 dock,查看八種狀態切換。
如果希望從源碼作爲插件安裝,可以先構建插件產物,再把本地倉庫路徑加入 web profile:
npm run build:plugin
dsh plugin --profile web add /path/to/this-repo
典型用法¶
下面按可復現路徑列出常見操作。
- 在
approval狀態點擊「批准 / 暫不」,觀察靈動島立即反饋結果。 - 點擊「查看過程」展開 tool cards,查看
exit code、duration,並一鍵複製命令。 - 點擊「清單」展開三態任務清單,並通過 goal ring 查看目標輪次進度。
- 出現
alert時點擊Retry;出現blocked時點擊unblock;出現max-tokens時點擊continue。stop操作留給原生 Harness UI。 - 拖動靈動島到新的位置,位置會跨 reload 記住。
- 按
⌘K或Ctrl+K打開命令面板;按Esc收起靈動島;使用自動演示查看idle、thinking、working、approval、complete的狀態流轉。
適用場景與注意¶
它適合希望在 DeepSeek Harness Web GUI 中快速判斷智能體是否思考、是否執行工具、是否等待審批、任務如何結束的使用者。需要注意:
- README 當前狀態是 high-fidelity design prototype,生產插件仍需要確定 client slot/connection injection points,以及
no active session、dropped stream、parallel sessions、HMR reloads等規則;這些規則尚未最終確定。 - 插件掛載到 Web GUI 的
shell.overlay,面向 web profile 安裝與運行,會進入 DSH 的客戶端運行環境。 - 作爲會讀取 Harness 狀態並注入到 Web GUI 的客戶端插件,應以當前 dsh 進程權限運行;安裝前應檢查源碼、注入點、許可證,以及
react/react-dompeerDependencies 的兼容性。
參考鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/YLifeOnlyOnce/dsh-dynamic-island
- GitHub:https://github.com/YLifeOnlyOnce/dsh-dynamic-island