← 返回列表
⚠ 装前注意
把会话缩成悬浮小窗,随时查看并回复消息
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/11 · 已提供中文文档
综合分
30.8
GitHub 分
30.8
用户评分
—
★ Stars
1
周下载量
113
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add syncended/deepseek-harness-picture-in-picture未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/11(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@syncended/dsh-pip(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 09:04:47
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-model-selection@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-slots用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
DeepSeek Harness — 画中画聊天
一个用于 DeepSeek Harness Web GUI 的浏览器插件。它添加了一个紧凑的聊天窗口,可以保持在其他窗口之上、切换活动的 Harness 会话、跟随流式回复,并无需返回完整页面即可发送回复。
预览
从插件捕获的真实 420 × 660 Document Picture-in-Picture 窗口。
功能
- 在支持的 Chromium 浏览器上使用原生 Document Picture-in-Picture。
- 当 Document Picture-in-Picture API 不可用或被拒绝时,使用页面内浮动回退方案。
- 会话切换器,带有实时的工作中 / 等待中 / 已完成状态。
- 紧凑的 Markdown 对话记录,包含流式推理、工具活动、结果、历史图片、复制、分支以及更早历史加载。
- 停止生成,以及排队消息的编辑、删除和立即发送控件。
- 内联审批、计划审查和结构化用户问题面板。
- 通过公共会话 API 进行图片附件预览以及图文提交。
- 紧凑编辑器内的访问模式、计划模式、模型、模型推理强度以及上下文控件。
- 紧凑的上下文、轮次/步骤、吞吐量、缓存命中以及输入/输出 token 统计。
- 编辑器上方可折叠的待办进度和活动目标状态。
- 按工作区分组的人类聊天切换器,省略内部子代理会话。
- 新建聊天操作,为当前/最近的工作区打开或创建空白会话,包括没有先前消息的工作区。
- 回复通过公共 Session.prompt(..., "queue") API 发送。当代理正在工作时,回复会排队到下一轮,并可通过立即发送引导到当前轮次。
- 与 Harness 设置中所选语言(英语和中文)进行响应式同步,并为兼容宿主提供俄语回退文案;深色主题同步、键盘和屏幕阅读器标签。
- Enter 发送;Shift+Enter 插入新行。
在小窗口中切换聊天会调用 ctx.sessions.open(id),因此主 Harness 窗口会跟随同一个活动聊天。
要求
- DeepSeek Harness 0.1.0-rc.6 或兼容版本,需支持客户端插件和 shell.overlay 插槽。
- Web 配置文件(dsh web)。
- Node.js 18 或更高版本。
- 对于原生始终置顶 PiP:支持 Document Picture-in-Picture API 的 Chromium 浏览器。其他浏览器使用页面内面板。
安装
从 npm 安装:
dsh plugin --profile web add @syncended/dsh-pip
开发期间从此检出目录安装:
dsh plugin --profile web add /absolute/path/to/deepseek-harness-picture-in-picture
某些由 pnpm 支持的配置文件需要工作区根标志:
dsh plugin --profile web add -w /absolute/path/to/deepseek-harness-picture-in-picture
该包声明了一个 DSH bundle,因此无需手动添加插件条目。安装或升级后重启 dsh web 并刷新现有 GUI。随后右下角会出现一个聊天气泡按钮。
无需环境变量、远程 URL 或单独的服务器连接;该插件使用为当前 Web GUI 提供服务的 Host 和 profile。
开发
已发布的浏览器入口是 DSH 惰性客户端模块格式中刻意无依赖的源码;React 和 ReactDOM 从 Web shell 的平台模块表中解析。
bash
npm run check
npm test
npm pack --dry-run
由标签驱动的 npm 发布记录在 RELEASING.md 中。
该包有两个部分:
- lib/index.js — 空操作的 Host 加载器入口。
- lib/client.js — 注册在附加式 shell.overlay 插槽中的浏览器实现。
package.json#dsh.client 将客户端排在 runtime、layout 和 conversation 组装之后。cordis.patch.yml 将该包插入到活动 profile 中。
架构说明
该实现仅使用受支持的 DSH 客户端接缝:
- ctx.slots.inject("shell.overlay", ...) 用于生命周期安全的浮动 UI 贡献。
- ctx.sessions.list 用于会话列表和当前选择。
- ctx.sessions.open(id) 用于切换活动会话。
- ctx.sessions.binding(id).session 用于对话快照、投影、prompt/cancel/queue/history 操作以及持久化图像读取。
- 来自 ConversationSnapshot.pending 的待处理交互载体,用于审批和结构化问题。
- 公共的 MarkdownText 和 writeClipboard 原语,用于安全的转录渲染和复制操作。
- react-dom#createPortal 用于将同一个 React 迷你聊天树渲染到 Document PiP 窗口中。
PiP 视图采用紧凑的呈现方式,而不是克隆完整的 Harness 对话组件。它将工具活动渲染为简洁的日志,并提供紧凑的附件、审批、计划审查和 ask_user_question 控件;主窗口仍可用于全尺寸检查。
当前限制
- 在撰写本文时,Document Picture-in-Picture 仅适用于 Chromium;其他浏览器使用页面内回退方案。
- 操作系统和浏览器拥有原生 PiP 窗口框架、外部边角形状和最终位置。
- 通用工具行有意保持紧凑;主 Harness 窗口仍然是深入检查大型工具负载的最佳界面。
许可证
MIT — 参见 LICENSE。同作者(syncended)的其他插件
扫码进群