前言¶
DeepSeek Harness (DSH) 是一個基於插件的架構,其核心理念是「一切皆插件」。DSH 提供了 --profile web 來運行 Web UI,但通過命令行手動啓動和停止這個界面通常需要額外的腳本或操作。dsh-webui-launcher 作爲一個插件,直接解決了這個問題。它由用戶 YV3507 維護,採用 MIT 許可證。安裝後,你可以在 DSH 內部直接控制 Web UI 的生命週期,無需離開當前環境。
功能概覽¶
該插件提供了一套完整的控制手段:
- Model 工具:包含
webui_start、webui_stop、webui_status、webui_open四個核心工具。它們可以在後臺啓動dsh --profile web,等待 HTTP 200 響應後報告狀態或打開瀏覽器。 - Slash 命令:提供
/webui start、/webui stop、/webui status、/webui open等快捷指令,方便在交互界面中快速操作。 - 設置頁:在 DSH 的 Web 設置頁面中增加了一個 “Web UI Launcher” 卡片,驅動與上述工具相同的 JSON 接口。
- 桌面快捷方式:首次啓動插件時,會在桌面創建啓動器(Windows 爲
.lnk,Linux 爲.desktop,macOS 爲.command)。該快捷方式會自動使用官方 DSH 圖標,並支持自定義圖標。
安裝¶
在終端中執行以下命令即可完成安裝:
dsh plugin --profile web add github:YV3507/dsh-webui-launcher
使用方法¶
安裝完成後,你可以通過以下方式使用:
- Slash 命令:在 DSH 聊天窗口中輸入
/webui start即可啓動 Web UI 服務,等待 HTTP 200 響應。 - Model 工具:在代碼或腳本中調用
webui_start。該工具會在後臺生成dsh --profile web進程,並持續監控直到服務就緒。 - 桌面快捷方式:在桌面找到插件創建的快捷方式,點擊即可啓動 Web UI 並自動打開瀏覽器。
配置項¶
插件支持通過配置來調整行爲,主要配置項如下:
| 配置項 | 默認值 | 含義 |
|---|---|---|
port |
3080 |
Web UI 服務的端口。 |
host |
127.0.0.1 |
綁定的主機地址,默認爲本地迴環。 |
startupTimeoutMs |
120000 |
啓動時等待 HTTP 200 的超時時間(毫秒)。 |
openBrowserOnStart |
true |
服務啓動成功後是否自動打開默認瀏覽器。 |
desktopShortcut |
true |
是否在桌面創建快捷方式(無桌面環境的主機會靜默跳過)。 |
shortcutName |
"DeepSeek Harness Web UI" |
桌面快捷方式的顯示名稱。 |
shortcutIconPath |
"" |
自定義圖標路徑,留空則使用官方 DSH 圖標。 |
行爲與注意事項¶
- Loopback 限制:默認情況下,插件僅綁定到 127.0.0.1,不提升權限,也不允許外部網絡訪問,安全性較高。
- 接管現有服務:如果端口已被佔用且存在相應的 PID 記錄,插件會接管該現有服務,而不會重啓它。
- 進程管理:
webui_stop僅會殺死插件自己生成的進程樹,或者是它記錄了 PID 的服務器。在殺死前,它會驗證進程是否仍然存活、是否屬於當前插件實例,防止誤殺其他進程。 - Headless 環境:在無桌面環境(如服務器)下運行時,插件不會報錯,而是靜默跳過桌面快捷方式的創建。
- 安全性:插件在銷燬或熱重載時會清理其創建的服務器進程。
結語¶
dsh-webui-launcher 通過標準化的 Model 工具和設置卡片,將 Web UI 的管理無縫集成到 DSH 生態中。對於需要在腳本或自動化流程中控制 Web UI 的開發者來說,這是一個實用的工具。更多信息和源碼,請訪問 GitHub 倉庫。