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

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

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

小夜