dsh-pip:把 DeepSeek Harness Web GUI 放进独立窗口

前言

DSH 的 Web GUI 通常运行在浏览器标签页里。做本地开发时,一边查看运行状态,一边在编辑器里改代码,经常要来回切换标签页。dsh-pip 针对这个场景:它提供一个浮动按钮,把当前 Web UI 从标签页移到一个始终置顶的 Document Picture-in-Picture 窗口,再一键移回标签页。

下面介绍它的定位、安装方式、配置项和使用边界。

这是什么

dsh-pip 是由 extension-hunter 维护的 DSH 插件,许可证为 MIT。它安装在 web profile 上,依赖该 profile 通过 @deepseek-ai/dsh-host-webserver 提供的 webServer 服务。点击“独立窗口”后,插件会把应用根节点 #root 连同样式和主题移入新窗口,而不是生成截图。

核心功能

  • 一条命令安装:安装命令是 dsh plugin --profile web add dsh-pip;包内带 bundle patch,并自动挂载插件行。
  • 零配置:重启 dsh web 后,Web UI 中出现浮动的“独立窗口”按钮。
  • 分离整个应用:点击按钮后,当前活动应用 #root 与样式、主题一起移动到 always-on-top 窗口。
  • 默认窗口尺寸:窗口默认按当前标签页的 viewport 尺寸打开;也可以在配置中固定 widthheight
  • 返回标签页:关闭窗口,或点击窗口中的“返回标签页”,应用会回到原浏览器标签页。
  • 浏览器限制:要求 Chromium 116+,例如 Chrome 或 Edge;Safari 和 Firefox 不显示按钮。

安装与启用

先安装插件:

dsh plugin --profile web add dsh-pip

然后重启 dsh web。打开 Web UI 后,会出现“独立窗口”按钮。

如果需要安装本地未发布路径,可以用:

dsh plugin --profile web add file:/path/to/dsh-pip

更新和移除分别使用:

dsh plugin --profile web update dsh-pip
dsh plugin --profile web remove dsh-pip

典型用法

1、打开已重启的 dsh web 页面。

2、点击浮动的“独立窗口”按钮。

3、应用进入 always-on-top 窗口,可放在编辑器旁边查看。

4、关闭窗口,或点击窗口中的“返回标签页”。

5、应用回到原浏览器标签页。

配置

默认 enabledtrue,不配置 widthheight 时,窗口尺寸跟随当前标签页 viewport。

如需覆盖,修改 profile 配置文件:

~/.dsh/profiles/web/cordis.patch.yml
- id: pip
  config:
    enabled: true
    width: 1280
    height: 800

widthheight 是提示值;Chromium 会把窗口限制在可用屏幕范围内,因此浏览器处于最大化状态时,分离窗口可能略小。

如需关闭插件:

- id: pip
  disabled: true

适用场景与注意

适合已经运行 dsh web、只希望在浏览器标签页之外查看 Web UI 的场景。它不改变现有服务生命周期,只增加一个分离窗口按钮。

使用前注意:

  • 插件以当前 dsh 进程权限运行。安装前应检查源码和许可证。
  • 仅支持 Chromium 116+;Safari 和 Firefox 中不会出现按钮。
  • Portal 渲染的界面元素,例如菜单、模态框、toast、hover card,会留在原标签页;分离期间可能不可见。
  • 原标签页中的全局 window / document 监听器仍会在原标签页触发。
  • 依赖 web profile 提供的 webServer 服务,具体由 @deepseek-ai/dsh-host-webserver 提供。

结尾

dsh-pip 的价值在于改动面小:保留现有 dsh web 环境和配置,只增加一个可分离、可返回的 Web UI 窗口。项目源码见 GitHub:https://github.com/extension-hunter/dsh-pip

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

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

Xiaoye