前言¶
用 DeepSeek Harness(DSH)做 Web 側的智能體開發時,Host 經常要先在終端裏用 dsh --profile web 拉起來,再自己去瀏覽器裏找地址。關掉終端或最小化之後,想再開界面又得記端口、記是否還在跑。Windows 上若用 --no-open 隱藏啓動,往往還會閃一下控制台窗口。
下面介紹社區插件 dsh-harness-launcher(維護者 sw503544488):在 DSH 側欄增加一個入口,並生成桌面快捷方式;雙擊圖標時,已在運行則直接打開帶認證令牌的 UI,未運行則隱藏啓動 Host 後再打開瀏覽器。插件歸類爲客戶端,當前僅支持 Windows。
這是什麼¶
dsh-harness-launcher 是一個 DSH Web 插件:左側欄多一個 >_ 圖標,點開是狀態面板;面板裏可以生成 / 更新桌面圖標,得到名爲 DeepSeek Harness 的桌面快捷方式。核心價值是把「探測是否在跑 → 打開或隱藏啓動 → 側欄重啓 / 關閉」收成一套可重複操作,且桌面鏈路通過 wscript.exe 調用 VBScript,全程不彈出控制台黑窗。
倉庫:https://github.com/sw503544488/dsh-harness-launcher
目錄頁:https://www.skillhub.cn/plugins/sw503544488/dsh-harness-launcher
許可證:MIT(package.json 版本 0.1.0)。
核心功能¶
側欄入口與面板¶
- 安裝後左側欄出現
>_圖標,點開爲狀態面板(中英雙語,跟隨界面語言)。 - 面板提供:生成 / 更新桌面圖標、在瀏覽器中打開、重啓、關閉。
桌面圖標行爲¶
雙擊桌面上的 DeepSeek Harness.lnk 時,邏輯如下:
- 探測本機 Harness 是否在響應;
- 若在跑 → 用帶認證令牌的地址在默認瀏覽器打開(不會再起第二個 Host 進程);
- 若沒跑 → 以隱藏窗口執行
dsh --profile web --no-open,等待就緒後再打開瀏覽器; - 若 60 秒內仍未就緒 → 彈窗報錯並給出日誌路徑,避免靜默失敗。
快捷方式指向 wscript.exe <launcher.vbs>,不顯示控制台窗口。
重啓與關閉¶
面板中的重啓、關閉需兩次點擊:第一次變爲「再次點擊確認…」,5 秒內未確認則自動取消。原因是操作會結束當前正在使用的 Host 進程,頁面會立刻斷線;重啓由後臺獨立 wscript 完成「結束進程 → 等端口釋放 → 隱藏拉起 → 等就緒 → 自動開瀏覽器」。
Host 側 API(工作原理摘要)¶
桌面 .lnk → wscript.exe → launcher.vbs open,並通過本機 loopback 訪問插件註冊的接口,例如 GET /plugins/harness-launcher/api/url 獲取當前進程的帶令牌地址。Host 半(index.js)還提供 status、icon、open、restart、close 等路由;令牌由 Harness 每次啓動重新生成,腳本內不持久化令牌。
安全邊界(來自 README):路由僅接受 loopback;寫操作需自定義頭 x-dsh-launcher,降低被其他網頁跨站驅動的風險。GET /url 會暴露當前啓動令牌——與「本機進程可連端口」相當,因此不要把 Host 端口暴露到局域網。
環境要求¶
| 條件 | 說明 |
|---|---|
| Windows | 依賴 .lnk 與 VBScript;package.json 聲明 os: ["win32"] |
| DeepSeek Harness | 已在所用 profile 中可運行 Web UI |
dsh 在 PATH |
生成圖標時用 where dsh 解析絕對路徑寫入腳本,之後不依賴 PATH |
| Node | engines.node 要求 >=20 |
通過 GitHub 安裝插件時,DSH 側通常需要 git + pnpm,這是安裝方式的前置條件,不是本插件運行時獨有要求。
安裝與啓用¶
任選一種方式,spec 相同:
命令行:
dsh plugin --profile web add github:sw503544488/dsh-harness-launcher
Web UI: 側欄 Plugins 頁 → 安裝框粘貼:
github:sw503544488/dsh-harness-launcher
需要鎖定版本時可帶 tag,例如:
github:sw503544488/dsh-harness-launcher#v0.1.0
安裝完成後側欄出現 >_ 圖標 → 打開面板 → 點擊 生成 / 更新桌面圖標,桌面即出現 DeepSeek Harness 快捷方式。
插件與當前 dsh 進程同權限運行;安裝前建議瀏覽倉庫源碼並確認 MIT 許可證是否符合你的環境策略。
典型用法¶
| 位置 | 動作 |
|---|---|
| 桌面圖標(雙擊) | 在跑則打開 UI;未跑則隱藏啓動後打開 |
| 側欄 → 生成 / 更新桌面圖標 | 寫入 %LOCALAPPDATA%\dsh-harness-launcher\ 並重建 .lnk(換端口或用戶目錄後需重跑) |
| 側欄 → 在瀏覽器中打開 | 用當前進程的令牌地址打開 UI |
| 側欄 → 重啓 / 關閉 | 兩擊確認後由後臺腳本執行 |
日誌路徑:%LOCALAPPDATA%\dsh-harness-launcher\launcher.log(超過 256 KB 會自動重寫)。
卸載步驟:
dsh plugin --profile web remove dsh-harness-launcher
建議先在面板關閉 Host 或手動結束 dsh 進程,再執行上述命令,並刪除桌面 DeepSeek Harness.lnk 與 %LOCALAPPDATA%\dsh-harness-launcher\ 目錄。
適用場景與注意¶
適合: 主要在 Windows 上日常使用 DSH Web UI,希望用單一桌面圖標完成「打開 / 拉起」,並在側欄統一管理重啓與關閉的開發者。
已知限制(來自 README):
- 僅 Windows;macOS / Linux 需另寫啓動器。
- 同一端口只能有一個實例;更換
--port後需重新生成桌面圖標。 - 重啓會中斷當前頁面連接(會話持久化,刷新後仍可繼續)。
DSH 生態原則是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。本介紹事實均來自上述倉庫 README 與 package.json。
結尾¶
經過上面的步驟,你可以在 Windows 上爲 DeepSeek Harness 固定一個桌面入口:運行中直接開 UI,未運行則隱藏拉起,側欄還可刷新圖標並安全確認後重啓或關閉 Host。進一步細節與開發說明見 GitHub 倉庫,插件索引見 SkillHub 目錄頁。