jinsiyu/dsh-auto-open-web ↗★ 1
dsh-auto-open-web
Open the DSH Web GUI in an app-style WebView2 window on profile start, with a settings card for browser paths
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:jinsiyu/dsh-auto-open-web说明文档
阅读完整 README ↗配置
两种途径,等价:
- 设置页卡片(推荐):设置 → 插件配置 → 「自动打开网页」卡片。可编辑
appWindow(独立应用窗口)、windowKind(WebView2 宿主 / 浏览器应用窗口)、browserPath(浏览器可执行文件,支持「浏览」原生对话框选择;位于窗口类型 下方,仅选择「浏览器应用窗口」时使能)、exitOnWindowClose(窗口关闭时退出 DSH,默认关闭)。 保存后持久化到 settings 文档(命名空间auto-open-web),首次保存后设置值优先于行配置。 - 行配置(cordis.patch.yml):作为启动种子,设置卡片保存前生效。
| 字段 | 默认 | 说明 |
|---|---|---|
appWindow | true | 启动时自动打开独立应用窗口;false 时不自动打开任何窗口 |
windowKind | webview2 | webview2 = WebView2 宿主(独立进程、任务栏 DSH 图标、随 DSH 退出);browser = 浏览器 --app 专用实例。所选类型不可用时仅记录日志、不打开 |
exitOnWindowClose | false | (实验性)关闭自动打开的窗口时随之退出 DSH(默认关闭;仅 appWindow 开启时生效)。窗口进程正常退出(用户关闭窗口)时触发 process.exit(0);启动失败/崩溃/被强杀(非 0 退出码)不触发,避免误退出。设置卡片保存后当前会话即时生效(退出监听始终注册、行为由实时标志决定),无需重启 DSH |
browserPath | '' | 手动指定的浏览器可执行文件路径(单条,如 C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe;仅浏览器模式使用),优先于内置候选 Edge → Chrome;路径不存在会跳过并告警。设置卡片上的「浏览」按钮弹出原生文件对话框:与官方工作区目录选择器同一机制(子进程 + koffi 驱动 IFileOpenDialog,对话框是子进程的第一个窗口,自动置顶;不使用 PowerShell)。「测试」按钮真实拉起一个 --app 专用测试实例(独立 user-data-dir `~/.dsh/ |
| -test-profile`,不污染正式实例):确认浏览器主进程存活后报告成功,窗口展示数秒后自动结束该测试进程树(精确 pid,不动正式实例;Job Object 可用时测试实例也加入作业,DSH 退出时兜底);测试使用当前输入的路径(未保存也能测),失败会显示原因 |
browserPath 行配置示例
在 ~/.dsh/profiles/web/cordis.patch.yml 中按 id 覆写该行的 config(覆写会整体替换 config,未列出的字段用默认值):
- id: auto-open-web
config:
browserPath: 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'
browserPath 行配置示例
在 ~/.dsh/profiles/web/cordis.patch.yml 中按 id 覆写该行的 config(覆写会整体替换 config,未列出的字段用默认值):
- id: auto-open-web
config:
browserPath: 'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe'