DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Pip — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins

dsh-pip

Pip

将 DeepSeek Harness Web GUI 分离到 Document Picture-in-Picture 窗口:浮动按钮可将整个应用移入始终置顶的窗口,也可移回

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-pip@0.1.1
README兼容性版本

兼容性与来源证明

Pip 以 dsh-pip 发布,当前版本为 0.1.1。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
npm
Registry 更新时间
2026/9/20

版本

0.1.1stable
2026/8/15

相关插件

正在加载相关插件…

最新版
0.1.1
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
1.3 MB
文件数
9
Surface
any
许可证
MIT
发布源
npm
GitHub
★ 1
周下载
103
安全扫描
✓ v0.1.1 扫描通过
最近提交
2026/8/14
查看源码 ↗项目主页 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Client Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包Pet@linxin666/dsh-pet适用于 dsh Web GUI 的多宠物伴侣插件:由注册表驱动的浮动宠物,可响应模型活动,支持为每只宠物命名、抚摸/喂食互动以及亲密度评分

README

dsh-pip

One click detaches the DeepSeek Harness web GUI into an always-on-top Document Picture-in-Picture window — it floats beside your editor, and one more click puts it back.

English · 中文

Why

The DSH web GUI lives in a browser tab — watching the agent while writing code means hopping between the editor and the tab. dsh-pip uses Document Picture-in-Picture to move the whole app (not a screenshot) into a system-level always-on-top window:

  • One command to install. The package ships a bundle patch (dsh.bundle.patch): dsh plugin add mounts the plugin row automatically — no file edits.
  • Zero config. Restart dsh web and a floating "独立窗口" button appears in the corner of the UI. Click it, done.
  • Window matches the browser by default. The detached window opens at the current tab's viewport size; pin it with two numbers if you prefer.
  • The whole app comes along. On click, #root moves together with styles and theme — not a screencast, the app itself, fully interactive.
  • No-op where unsupported. Safari / Firefox lack the Document PiP API; the script no-ops and no button ever appears.

dsh-pip moves the live Harness Web UI from its browser tab into an always-on-top window beside the editor and back in one click.

dsh-pip vs DeepSeek Harness Desktop

These projects solve different layers of the same workflow. dsh-pip is a focused plugin for people who already run dsh web and only want the UI beside their editor; DeepSeek Harness Desktop is a packaged Electron distribution that owns the desktop app and local Harness service lifecycle.

dsh-pipDeepSeek Harness Desktop
Primary jobDetach the existing Web UI into an always-on-top companion windowPackage Harness as a standalone desktop app
InstallOne dsh plugin commandDownload and install a desktop build
Existing setupRequires a working dsh web profile and Chromium 116+Bundles the runtime; no manual Node.js setup or CLI launch
Harness serviceReuses your existing service and configuration; does not start or manage itStarts and manages the local Harness service
Window experienceOne-click Document PiP detach / return; stays above the editorElectron window, system tray, and desktop-specific UI adaptation
Harness UI and pluginsMoves the current official Web UI as-is; installed through the DSH plugin mechanismRetains the official local Web UI and plugin capabilities inside the desktop distribution
Remote access and channelsNone; this is a local window enhancement onlyAdvertises iOS / Android remote control plus WeChat, Feishu, Discord, and WhatsApp channels
Plugin discoveryUses the standard DSH plugin CLI; no marketplaceA plugin marketplace and DSH-plugin delivery for Desktop are planned, not currently shipped
Platform scopeChrome / Edge with Document PiPmacOS and Windows desktop builds

Choose dsh-pip if your current Harness setup already works and you want the smallest change: keep your runtime, browser, profiles, and update flow, and add only a floating window. Choose Desktop if you want Harness packaged and managed as a desktop application without setting up Node.js or starting it from the command line.

Quick start

dsh plugin --profile web add dsh-pip

Restart dsh web — done, zero config:

  • the bundle patch mounts the plugin row and injects the browser script into every page response — purely additive, core rows untouched;
  • open the web UI, click the floating "独立窗口" button to detach;
  • close the window (or click its "返回标签页" button) and the app returns to the tab.

How it works

On click the browser script calls documentPictureInPicture.requestWindow() during the click's transient activation, copies the opener's stylesheets and theme attributes into the new window, adopts the app root (#root) into it, and hides the opener button. The window's pagehide event — fired by the browser's built-in "back to tab" control or the script's "返回标签页" button — moves the root back and restores the button.

HalfWhereWhat it does
Host pluginsrc/index.tsRegisters the /pip/client.js route and injects the browser script + config into every index response.
Browser scriptsrc/client.jsDraws the floating button and moves the app (#root) into / out of the PiP window.

Configuration

All optional — the defaults just work. Override them in the profile's ~/.dsh/profiles/web/cordis.patch.yml:

FieldDefaultMeaning
enabledtrueMount the plugin; false (or disabled: true on the row) turns it off
widthomittedDetached-window width (CSS px); omitted = match the browser viewport
heightomittedDetached-window height (CSS px); omitted = match the browser viewport
- id: pip
  config:
    enabled: true
    width: 1280   # pin the size with numbers
    height: 800

requestWindow width/height are hints — Chromium clamps the window to the available screen, so a maximized browser may yield a slightly smaller window.

Requirements

  • Chromium 116+ (Chrome, Edge). The Document Picture-in-Picture API does not exist in Safari or Firefox; the script no-ops and no button appears.
  • The webServer service, which the web profile provides through its @deepseek-ai/dsh-host-webserver bundle.

Install & lifecycle

Install

dsh plugin --profile web add dsh-pip

To install an unpublished checkout (e.g. during development), pass a local path:

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

Disable / restore

- id: pip
  disabled: true

Flip it back to false to restore.

Update

dsh plugin --profile web update dsh-pip

Remove

dsh plugin --profile web remove dsh-pip

Removes the dependency and the bundle layer; nothing is left behind.

Known limitations

  • Chromium-only — Safari and Firefox never show the button.
  • Portal surfaces stay in the tab — the app renders menus, modals, toasts, and hover cards through createPortal(..., document.body); those elements continue to target the original tab's body while detached, so they are invisible until the app returns. Detaching is best used for reading/steady state, not for opening menus in the floating window.
  • Window-scoped listeners stay home — global window/document listeners (keyboard shortcuts, scroll tracking) keep firing in the original tab; only React-managed events on the moved root follow the window.

Development

npm install
npm run typecheck   # tsc --noEmit
npm run build       # tsc → lib/ + copy src/client.js → lib/client.js

prepack (run by npm pack / npm publish) rebuilds before packaging so the published tarball always ships a current lib/.

License

MIT