dsh-harness-launcher:爲 DeepSeek Harness 準備一個桌面圖標

前言

用 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 時,邏輯如下:

  1. 探測本機 Harness 是否在響應;
  2. 若在跑 → 用帶認證令牌的地址在默認瀏覽器打開(不會再起第二個 Host 進程);
  3. 若沒跑 → 以隱藏窗口執行 dsh --profile web --no-open,等待就緒後再打開瀏覽器;
  4. 若 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 目錄頁。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜