前言¶
作为 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