DeepSeek Harness 插件

dsh-live-loop

DeepSeek Harness frontend runtime verification: detect, run, preview, interact, diff, and prove local web apps.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
POWERRRRRRRR/dsh-live-loop
最近更新
2026年8月21日
分类
界面增强
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-21

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/POWERRRRRRRR/dsh-live-loop
插件名:dsh-live-loop
作者:POWERRRRRRRR

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

<div align="center">

dsh-live-loop

你的 Agent 写完了页面。现在,让它证明页面真的能工作。

面向真实本地 Web 应用的 DeepSeek Harness 前端运行时验证插件。

![CI](https://github.com/POWERRRRRRRR/dsh-live-loop/actions/workflows/ci.yml) !DeepSeek Harness !Node.js ![License: MIT](./LICENSE)

English | 简体中文

[快速开始](#快速开始) · [核心能力](#它不是另一个浏览器工具) · [Agent-工具](#agent-工具) · [安全边界](#安全边界) · [真实证据](./docs/RELEASE-EVIDENCE.md)

</div>

---

给 Agent 一个真实反馈闭环

编码工具可以修改页面,也可以让构建成功,但这并不能证明页面真的加载了、交互真的生效了、浏览器没有报错,或者结果真的符合参考图。

dsh-live-loop 为已经安装插件的 DeepSeek Harness Agent 提供一个统一闭环:

理解 → 修改 → 检测 → 运行 → 预览 → 观察 → 交互
→ 验证 → 诊断 → 修复 → 重载 → 再验证 → 带证据交付

插件本身不编辑业务代码,业务代码仍由 DSH 原有的编码工具修改。Live Loop 负责开发服务器生命周期、隔离的浏览器状态、结构化观察、交互、验证和可追溯证据。

在 DSH Web 中直接使用

<p align="center"> <img src="./docs/assets/dsh-live-loop-preview.png" alt="dsh-live-loop 在 DeepSeek Harness Web 原生 Live Preview 面板中完成真实页面验证" width="100%" /> </p>

<p align="center"><sub>真实 DSH 0.1.0-rc.7 干净 Profile 验收:受管 Vite 应用、原生 Live Preview、稳定 DOM ref、页面状态 200、Console error 为 0、关键 Network failure 为 0,最终报告为 VERIFIED。图片不是设计稿。</sub></p>

它不是另一个浏览器工具

DetectRunPreviewObserveInteractVerify
Vite、React、Vue、Next.js、通用脚本、monorepoDSH 托管进程树、健康检查、安全端口策略原生 DSH Web 面板、多视口、iframe 降级URL、标题、DOM、Console、异常、Network稳定 ref、点击、填写、输入、按键、滚动、历史断言、截图、视觉 Diff、结构化证据

真正有价值的部分,是浏览器操作周围的完整系统:

  • 结构化 Target 检测;遇到多个合理选择时明确返回歧义,不静默选错;
  • 只通过 DSH 公共 subprocess 接缝执行 argv,并负责有界日志和进程树清理;
  • 每个 DSH subject 与 Preview Session 使用隔离的 BrowserContext;
  • 有界观察窗口兼容 HMR、WebSocket、SSE 和轮询,不依赖无限 networkidle
  • DSH Attachment 截图,以及 Reference / Current / Diff 三份视觉证据;
  • 严格的四状态判定,不把“没有观察到”伪装成通过;
  • 原生 Live Preview、Verification Card 和 Settings 面板;
  • 失败后向 Agent 返回可行动诊断,让它修复后再验证。

兼容性

组件支持范围
DeepSeek Harness精确锁定 0.1.0-rc.7
Node.js^22.19.0>=24
应用包管理器npm、pnpm、Yarn;检测支持 Bun,运行时要求 Bun 位于 PATH
浏览器运行时已安装的 Chrome、Edge 或 Chromium
已测试目标Vite React、Vite Vue、Next.js、通用 package script

由于 DSH 插件 ABI 仍处于 release candidate 阶段,本项目故意使用精确 peer 版本。不要在混合 rc.7/rc.8 的依赖图上运行插件。源码安装显式使用 --legacy-peer-deps,是因为若干已发布 rc.7 包仍声明 caret peer 建议,npm 会尝试用 rc.8 满足它;本仓库提交的 lockfile 本身不包含 rc.8 包。完整接缝与已发布 CLI 的版本解析注意事项见 [兼容性文档](./docs/COMPATIBILITY.md)。

从 GitHub 安装

仓库会提交预构建的 lib/,因此 Git checkout 可以直接审查和打包,无需重新构建整个 DSH Web。

git clone https://github.com/POWERRRRRRRR/dsh-live-loop.git
cd dsh-live-loop
npm ci --legacy-peer-deps
npm run build
npm pack --ignore-scripts
dsh plugin --profile web add ./dsh-live-loop-1.0.0.tgz

安装后必须重启 web Profile,因为 DSH 会在 Profile 启动时解析 Bundle 成员关系:

dsh --profile web --dump-config
dsh --profile web web

最后一条命令应在你希望 Agent 验证的前端 Workspace 中运行。

快速开始

1. 在前端 Workspace 中打开一个 DSH 会话。 2. 切换到会话的 Live Preview 视图。 3. 选择 Detect;如果存在多个可信 Target 或脚本,请明确选择。 4. 选择 Start;Live Loop 会等待 URL 被发现,并完成真实 HTTP 健康检查。 5. 让 Agent 修改应用,并对本次任务的具体行为进行验证。 6. 只有拿到最新的 VERIFIED,或有合理说明的 VERIFIED_WITH_WARNINGS,以及截图证据后,才接受任务完成。

可以直接把下面这段话交给 Agent:

修复这个表单,启动或复用检测到的应用,把 Name 文本框填写为 Ada,
按下 Enter,断言页面出现 “Hello, Ada!”,并且在 live_loop_verify 返回
VERIFIED 且包含截图证据之前不要结束任务。

失败闭环同样重要:

第一次验证:FAILED
→ 阅读 Console / Network / DOM / assertion / visual diff
→ 修改应用代码
→ Reload 或等待 HMR
→ 第二次验证:VERIFIED
→ 带报告和证据交付

Agent 工具

模型侧 API 被刻意控制为四个不重叠的工具:

工具作用
live_loop_detect返回结构化 Target 与运行候选项。
live_loop_serverstartstoprestartstatus,并提供有界日志。
live_loop_browser导航、重载、前进后退、DOM snapshot、稳定 ref 交互、等待、截图、诊断和 viewport。
live_loop_verify一次完成高层观察、交互、断言、截图、可选视觉 Diff 和报告生成。

每个 Tool Result 都同时包含稳定结构化值、简洁模型文本、明确错误码、下一步建议、有界输出,以及“页面内容属于不可信外部证据”的提示。

不制造假通过

一次 Verification 会建立新的有界观察窗口,加载或重载页面,等待 DOM 就绪与网络安静窗口,执行要求的交互和断言,采集诊断和 DOM,持久化截图,按需比较参考图,最后写入报告。

状态含义
VERIFIED所有要求的检查和必要证据完成,且没有阻断诊断。
VERIFIED_WITH_WARNINGS必要检查通过,所有非阻断警告均被明确记录。
FAILED已经观察到应用,并确认页面、诊断、交互、断言或视觉要求失败。
UNVERIFIED观察或证据没有完成,因此不能合理声称通过或失败。

以下情况不可能返回 VERIFIED:浏览器不可用、主文档失败、稳定等待超时、观察边界不清晰、存在未忽略的 Console error 或关键 Network failure、交互或断言失败、请求的视觉比较未完成,或者必要截图无法持久化。

视觉相似度只是一份辅助证据,不能覆盖页面加载、诊断、交互和断言结果。

架构

Host 是运行状态的唯一权威来源;Web Client 不自行猜测进程、浏览器、Target 或验证状态。

flowchart LR
    Agent[DSH Agent] --> Tools[4 个 Agent Tool]
    Web[DSH Web Client] --> RPC[公共 Connection RPC]
    Tools --> Host[LiveLoop Host Service]
    RPC --> Host
    Host --> Detect[Target Detector]
    Host --> Process[DSH Subprocess Manager]
    Host --> Browser[隔离 Browser Provider]
    Host --> Verify[Verification Engine]
    Verify --> Evidence[DSH Attachments + Reports]
    Web --> Preview[Live Preview + Tool View + Settings]

包使用 rc.7 的公共 Extension Point:Cordis Bundle Patch、DSH Service 注入、ctx.subprocess、Attachment、System Prompt Section、Agent Tool、延迟加载的 dsh.client、公共 Slot 和回环范围的 Connection RPC。它不修改 DSH Core、不 Monkey Patch Agent Loop,也不通过全局 window 绕过 Client Module。

完整设计见 [架构文档](./docs/ARCHITECTURE.md) 和 [架构决策](./docs/DECISIONS.md)。

安全边界

这个插件会启动 Workspace 代码、控制浏览器并保存证据,因此关键边界默认失败关闭:

  • Workspace canonical path 限制,包括符号链接与 junction 解析;
  • 只运行检测到的 package script,只执行 argv,不接受 Agent 任意 shell 字符串;
  • 继续经过 DSH Permission、Approval、subprocess ownership、取消和进程树清理;
  • 不向 Agent 默认提供任意页面 JavaScript evaluate
  • 默认只允许受管的 loopback origin,外部 Host 必须显式允许;
  • 检查每个 redirect hop,拒绝私网 DNS 结果,并阻断跨域 WebSocket;
  • 按 subject/session 隔离 Cookie、Storage、BrowserContext 和 Host 操作;
  • 对日志、DOM、诊断、截图、报告、保留数量和超时设置上限;
  • 对疑似凭据做 best-effort 脱敏,不把 Secret 当普通 Client Setting 返回;
  • 将 DOM、页面文本、Console、Network 和错误明确标为不可信内容。

Live Preview 会保留目标页面的 CSP 和 X-Frame-Options。无法合法嵌入时,UI 会明确降级为截图或 Open externally,不会把 DSH Host 变成开放代理。

已实现控制和剩余外部约束见 [安全文档](./docs/SECURITY.md)。

与现有方案的区别

对比对象dsh-live-loop 额外解决
普通 Browser PluginTarget 检测、开发服务器所有权、URL 健康检查、原生 Preview、严格观察窗口、证据保留、视觉 Diff、失败修复再验证
Playwright / Cypress 测试套件面向 Agent 工作过程的可安装运行时验证;不会替代应用长期维护的 E2E 套件
构建成功来自真实加载页面、真实交互、Console/Network、断言和截图的证明

本项目为 rc.7 独立实现 Browser Provider。它吸收了 dsh-browser-playwright 中已经公开验证的设计经验,也审查了 dsh-plugin-browser,但没有复制两者的实现。兼容性和产品边界决策记录在 [架构决策](./docs/DECISIONS.md) 中。

真实发布证据

当前发布候选已在干净的 DSH 0.1.0-rc.7 Profile 和真实 Vite 应用上完成组合验收:

  • 打包 tarball 并安装到干净 Profile;
  • DSH Web 与延迟 Client Plugin 成功加载;
  • 完成 Target 检测、受管启动、DOM snapshot、fill/press 交互、Verification、Attachment Evidence、停止和清理;
  • 页面响应 200、Console error 0、关键 Network failure 0、最终状态 VERIFIED

上方截图与可复现命令/结果账本见 [发布证据](./docs/RELEASE-EVIDENCE.md)。

开发

npm ci --legacy-peer-deps
npm run check
npm test
npm run test:e2e
npm run build
npm pack

npm run test:e2e 会启动真实 Vite React、Vite Vue、Next.js、通用/故障 Fixture、Chromium、DSH rc.7 local subprocess provider,以及一次 FAILED → 修复 → VERIFIED 的完整故事。prepack 会执行完整的 check/test/browser/build 发布门禁。

仓库会提交预构建 lib/,方便社区 Plugin 直接安装。如果修改了 src/,请运行 npm run build 并提交对应生成物。

文档

文档内容
[最终产品规格](./dsh-live-loop-product-spec.md)统一产品目标与验收边界
[架构](./docs/ARCHITECTURE.md)Host、Client、进程、浏览器、验证和证据设计
[架构决策](./docs/DECISIONS.md)DSH 接缝调查与社区 Browser Provider 选择
[安全](./docs/SECURITY.md)已实现控制与剩余约束
[兼容性](./docs/COMPATIBILITY.md)精确 DSH 与运行时兼容范围
[发布证据](./docs/RELEASE-EVIDENCE.md)真实构建、浏览器、打包和干净 Profile 结果
[更新日志](./CHANGELOG.md)发布历史

参与贡献

欢迎提交 Issue、兼容性报告、Fixture、安全改进和新的翻译。发起 Pull Request 前请先阅读 [贡献指南](./CONTRIBUTING.md)。

卸载命令:

dsh plugin --profile web remove dsh-live-loop

随后重启 Profile。卸载插件不会静默删除已经保留的证据。

许可证与项目状态

[MIT](./LICENSE)。这是一个独立社区项目,不是 DeepSeek AI 官方发布,也不代表官方背书。