dsh-web-open:在 `dsh web` 就緒後打印 URL 並打開瀏覽器

前言

作爲 DSH 插件,@dawsondx/dsh-web-open 解決的是一個很具體的問題:dsh web 啓動完成後,通常需要手動整理 GUI 地址並打開瀏覽器。這個插件把兩步合併起來:當 dsh web 就緒後,打印完整 GUI URL,並在默認瀏覽器中打開該 URL。

下面介紹它的定位、功能、安裝方式、典型用法和邊界。

插件定位

@dawsondx/dsh-web-opendawsondx 維護的 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 覆蓋以下配置項:

  • open
  • printUrl
  • url
  • retryAttempts
  • retryIntervalMs

例如,如果只想保留打印鏈接、不打開瀏覽器,可以設置:

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

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

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

小夜