前言¶
作爲 DSH 插件,@dawsondx/dsh-web-open 解決的是一個很具體的問題:dsh web 啓動完成後,通常需要手動整理 GUI 地址並打開瀏覽器。這個插件把兩步合併起來:當 dsh web 就緒後,打印完整 GUI URL,並在默認瀏覽器中打開該 URL。
下面介紹它的定位、功能、安裝方式、典型用法和邊界。
插件定位¶
@dawsondx/dsh-web-open 是 dawsondx 維護的 DSH bundle,許可證爲 MIT,package.json 中版本爲 0.1.2。
它的核心能力是:
dsh web就緒後打印完整 GUI URL- 自動在默認瀏覽器中打開該 URL
- 支持 Windows / macOS / Linux 跨平臺
- 零運行時依賴
- 故障安全:
apply()永不拋錯,拿不到服務時降級爲 no-op,並只打印警告 - 支持
dsh web --port 0(系統分配端口)時正確打開
它依賴的運行環境是:
- Node.js
>=18 - peer dependency:
@deepseek-ai/cordis>=4.0.0
安裝前提¶
安裝前確認以下條件:
1、已安裝 dsh
2、已初始化 profile,至少跑過一次 dsh web
3、PATH 裏有 pnpm
4、Node.js 版本滿足 >=18
5、環境中可加載 @deepseek-ai/cordis >=4.0.0
安裝與啓用¶
從 npm 安裝:
dsh plugin --profile web add @dawsondx/dsh-web-open
也可以從 GitHub 直裝:
dsh plugin --profile web add github:dawsondx/dsh-web-open
安裝後運行:
dsh web
預期行爲是打印完整 GUI URL,並打開默認瀏覽器。
可以用下面命令查看配置輸出:
dsh web --dump-config
典型用法¶
啓動並自動打開瀏覽器¶
dsh web
只打印鏈接,不打開瀏覽器¶
DSH_OPEN_BROWSER=0 dsh web
這個環境變量適合臨時關閉自動打開行爲,也適合 headless / CI 環境。
使用系統分配端口¶
dsh web --port 0
插件支持該模式,並正確打開最終可用的 URL。
配置項¶
默認行爲是打印 URL 並打開瀏覽器。
可以通過 profile 的 cordis.patch.yml 覆蓋以下配置項:
openprintUrlurlretryAttemptsretryIntervalMs
例如,如果只想保留打印鏈接、不打開瀏覽器,可以設置:
open: false
printUrl: true
也可以用環境變量臨時關閉自動打開:
DSH_OPEN_BROWSER=0 dsh web
適用場景¶
這個插件適合本地開發或日常使用 dsh web 的場景,尤其是希望減少“啓動後複製 URL、切到瀏覽器、粘貼地址”這些重複步驟的使用者。
它支持 Windows / macOS / Linux,並在無圖形環境、CI 等場景下保留了可關閉自動打開的開關。
插件會在當前 dsh 進程權限下運行;安裝前建議檢查源碼和許可證。本倉庫許可證爲 MIT。
已知邊界¶
1、Linux 無圖形環境(服務器 / 容器 / WSL 無 DISPLAY)時,瀏覽器可能打不開,但 dsh web 照常運行並打印鏈接。
2、headless / CI 環境建議關閉自動打開:
DSH_OPEN_BROWSER=0 dsh web
3、若 dsh 官方把 loader / webServer 服務改名,插件會降級爲不自動打開,不影響啓動。
4、插件本體不包含更新 harness 的功能,也不包含桌面快捷方式。
更新與卸載¶
npm 已發佈版可以執行:
dsh plugin --profile web update
GitHub 直裝版更新需要重新執行安裝命令:
dsh plugin --profile web add github:dawsondx/dsh-web-open
如果要更新 harness 本身,可以使用:
npm install -g @deepseek-ai/dsh@latest
卸載命令:
dsh plugin --profile web remove @dawsondx/dsh-web-open
結尾¶
dsh-web-open 的價值比較具體:在 dsh web 就緒後,把“打印完整 GUI URL”和“打開默認瀏覽器”合併成一步,同時保留失敗降級和臨時關閉自動打開的能力。
GitHub 倉庫:
https://github.com/dawsondx/dsh-web-open