DeepSeek Harness (DSH) 採用插件化架構。Web 配置文件默認在瀏覽器標籤頁中運行。當需要頻繁切換或管理多個實例時,標籤頁管理容易混亂,且缺乏對進程的直接控制。該插件通過桌面快捷方式,將 Harness 作爲一個獨立的 Chromium 應用窗口打開,並提供側欄電源控制與 open_web 工具。
核心功能¶
該插件主要解決以下問題:
- 桌面快捷方式與獨立窗口:生成桌面快捷方式,默認使用 Chromium 系瀏覽器的
--app=<url>模式打開 Harness。該模式會去除地址欄和標籤欄,提供類似原生應用的體驗。若本機未安裝 Chromium 系瀏覽器,則回退到系統默認瀏覽器。 - 側欄電源控制:在側欄底部新增關閉(⏻)、重啓(⟳)和檢查更新(⬇)按鈕。
- 關閉:優雅停止進程,釋放資源並落盤會話。
- 重啓:由運行在 Harness 進程樹之外的看門狗(Watchdog)負責拉起新實例,支持心跳自愈。
- 檢查更新:查詢 npm 上
@deepseek-ai/dsh的最新版本,發現新版本時可一鍵複製更新命令。
open_web工具:註冊模型工具,允許在默認瀏覽器的新標籤頁打開指定 URL。- 多信號存活判定:在啓動前檢查端口監聽狀態與任務板鎖(
~/.dsh/task-board/ledger-v2.lock)的所有者 PID。若舊實例未服務但存活,啓動器會診斷並退出,避免重複啓動導致衝突。 - 自動版本檢查:自動檢查並提示 npm 上
@deepseek-ai/dsh的最新版本。
安裝與啓用¶
該插件僅面向 web 配置文件。安裝後需重啓 Harness 才能生效。
# 安裝插件
dsh plugin --profile web add Yuanloss/dsh-quick-window-launcher
# 啓動 Harness
dsh web
首次啓動時,插件會在 %USERPROFILE%\.dsh\logs 目錄下寫入兩個純 Node 輔助腳本(.cjs),並創建桌面快捷方式 DeepSeek Harness.lnk。
功能詳解¶
桌面快捷方式行爲¶
雙擊桌面上的快捷方式,啓動器會執行以下步驟:
- 檢查 Harness 是否已在指定端口監聽。
- 檢查任務板鎖的主人 PID 是否存活。若 Harness 進程存在但未監聽端口(可能處於僵死狀態),啓動器會診斷並退出,防止啓動衝突。
- 若 Harness 未運行,則通過插件自身運行所用的 Node 二進制啓動它。
- 等待 UI 可訪問。
- 獲取認證 URL 並向隔離窗口檔案簽發 Cookie,確保 App 窗口免登錄打開。
- 使用
--app=<url>命令行參數打開窗口。
電源控制與看門狗¶
重啓功能依賴運行在 Harness 進程樹之外的看門狗進程。看門狗每秒輪詢一次,處理重啓請求並恢復監聽,具備心跳自愈能力。
關閉功能通過優雅停止(SIGTERM)實現,確保會話數據正確落盤。
安全與殺毒軟件¶
- 接口限制:
/api/shutdown和/api/restart僅接受迴環地址(localhost)和 POST 請求。 - 殺毒軟件兼容性:v0.2.6 版本起移除了所有
.ps1腳本。舊版依賴 PowerShell 腳本會被火絨等殺毒軟件按“新建 PowerShell 腳本”啓發式規則隔離。新版改用純 Node.cjs腳本和內聯 COM 調用創建快捷方式,避免被隔離。
配置項¶
可以通過 profile patch 覆蓋以下配置:
| 鍵 | 默認值 | 說明 |
|---|---|---|
createShortcut |
true |
是否生成/刷新桌面快捷方式。 |
desktopName |
DeepSeek Harness |
快捷方式的基礎文件名。 |
desktopPath |
(自動解析) | 手動指定桌面目錄(解決 OneDrive 重定向等自動解析失敗場景)。解析優先級:desktopPath → Windows 註冊表 → ~/Desktop。 |
watchdog |
true |
是否啓動重啓看門狗。設爲 false 後重啓按鈕僅退化爲關閉功能。 |
示例配置:
- id: quick-window-launcher
name: 'dsh-quick-window-launcher'
config:
createShortcut: true
desktopName: 'DeepSeek Harness'
watchdog: true
診斷¶
若遇到啓動或窗口問題,可在 PowerShell 中運行以下命令進行診斷:
node "$env:USERPROFILE\.dsh\logs\dsh-launch-web.cjs" --diagnose
該命令會輸出端口狀態、任務板鎖主人、看門狗心跳及最近日誌。
總結¶
dsh-quick-window-launcher 提供了一種將 DSH Web 界面“桌面化”的方案。通過獨立窗口和側欄控制,減少了標籤頁管理的開銷,並提供了優雅的進程重啓與更新能力。所有輔助腳本均以純 Node 形式運行,以兼容主流殺毒軟件。
- 插件目錄:https://www.skillhub.cn/plugins/Yuanloss/dsh-quick-window-launcher
- GitHub 倉庫:https://github.com/Yuanloss/dsh-quick-window-launcher