前言¶
DeepSeek Harness (DSH) 提供了 Web 界面用於調試和開發智能體。在 macOS 上,通常需要手動在終端輸入 dsh web 來啓動服務,並自行管理進程的啓動、停止和日誌查看。dsh-start 將這些操作封裝爲統一的命令行工具,並提供生成 Dock-able 應用程序的能力,以減少重複勞動。
插件介紹¶
dsh-start 是 DeepSeek Harness (DSH) Web 在 macOS 上的啓動器插件。它提供了一套終端腳本(支持啓動、停止、狀態查詢、後臺運行)以及一個可生成 DSH.app 的構建腳本。該插件由用戶 zhengjy01 維護,旨在簡化 DSH Web 的運維流程。
核心功能¶
- 一個命令,四種模式:支持前臺運行(可見日誌,Ctrl+C 停止)、後臺守護進程運行(日誌輸出到文件)、停止服務、查詢服務狀態。
- 重複啓動保護:檢測默認端口 3080 是否已被佔用。如果服務已運行,直接打開瀏覽器,避免啓動多個實例。
- 自動打開瀏覽器:服務啓動並就緒後,自動打開
http://127.0.0.1:3080。 - Normal-app feel:通過
--build-app命令生成~/Applications/DSH.app。該應用具有 Dock 圖標,雙擊啓動,Cmd+Q 停止(帶確認對話框),且再次點擊 Dock 圖標會檢查服務狀態並打開瀏覽器。 - 權限安全設計:爲了避免 macOS 沙盒或 TCC 導致的
EPERM權限錯誤,構建的 App 實際上是委託給 Terminal 執行命令,而非直接調用dsh。
安裝與啓用¶
安裝該插件需要系統已安裝 Node.js,且版本不低於 18。
npm install -g dsh-start
典型用法¶
安裝後,可以使用以下命令操作 DSH 服務。
- 前臺啓動:在當前終端運行,日誌實時可見,Ctrl+C 可停止。
dsh-start
- 後臺啓動:服務在後臺運行,日誌保存至
~/.dsh/web.log。
dsh-start -d
- 停止服務:根據端口自動查找並終止進程。
dsh-start stop
- 查看狀態:檢查服務是否運行以及訪問地址。
dsh-start status
- 構建 Dock 應用:生成
~/Applications/DSH.app。
dsh-start --build-app
(構建腳本依賴 Python3 和 Pillow 來生成圖標。)
適用場景與注意¶
- 適用場景:macOS 用戶希望將 DSH Web 像普通軟件一樣管理,或者需要頻繁啓動/停止服務並希望自動打開瀏覽器的情況。
- 權限問題:首次啓動
DSH.app時,macOS 可能會提示“DSH 想要控制 Terminal”,需點擊“允許”。 - 會話數據:重啓後,側邊欄的會話列表可能顯示爲空。實際上會話數據保存在
~/.dsh/sessions中,若 App 啓動的服務崩潰,從終端重新啓動即可恢復。 - 錯誤處理:如果出現
EPERM: operation not permitted,請使用dsh-start --build-app重新生成應用,或直接在終端使用命令行啓動。
結語¶
dsh-start 通過腳本化和應用化,解決了 DSH Web 在 macOS 上的基礎運維痛點。對於習慣使用終端或需要快速啓停的開發者,它提供了必要的便利。