← 返回列表
未验证
你的 Agent 写完了页面。现在,让它证明页面真的能工作。
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/21 · 已提供中文文档
DeepSeek Harness 前端运行时验证插件——检测、运行、预览、交互、视觉对比,并以持久化证据验证 Web 应用。
综合分
27.9
GitHub 分
27.9
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add POWERRRRRRRR/dsh-live-loop该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-home-paths@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-attachment@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-tool@deepseek-ai/dsh-code-runtime@deepseek-ai/dsh-invariants用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-live-loop 你的 Agent 写完了页面。现在,让它证明页面真的能工作。 面向真实本地 Web 应用的 DeepSeek Harness 前端运行时验证插件。 CI DeepSeek Harness Node.js License: MIT 快速开始 · 核心能力 · Agent-工具 · 安全边界 · 真实证据 给 Agent 一个真实反馈闭环 编码工具可以修改页面,也可以让构建成功,但这并不能证明页面真的加载了、交互真的生效了、浏览器没有报错,或者结果真的符合参考图。 dsh-live-loop 为已经安装插件的 DeepSeek Harness Agent 提供一个统一闭环: 理解 → 修改 → 检测 → 运行 → 预览 → 观察 → 交互 → 验证 → 诊断 → 修复 → 重载 → 再验证 → 带证据交付 插件本身不编辑业务代码,业务代码仍由 DSH 原有的编码工具修改。Live Loop 负责开发服务器生命周期、隔离的浏览器状态、结构化观察、交互、验证和可追溯证据。 在 DSH Web 中直接使用 真实 DSH 0.1.0-rc.7 干净 Profile 验收:受管 Vite 应用、原生 Live Preview、稳定 DOM ref、页面状态 200、Console error 为 0、关键 Network failure 为 0,最终报告为 VERIFIED。图片不是设计稿。 它不是另一个浏览器工具 | Detect | Run | Preview | Observe | Interact | Verify | | --- | --- | --- | --- | --- | --- | | Vite、React、Vue、Next.js、通用脚本、monorepo | DSH 托管进程树、健康检查、安全端口策略 | 原生 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 的版本解析注意事项见 兼容性文档。 从 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_server | start、stop、restart、status,并提供有界日志。 | | 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。 完整设计见 架构文档 和 架构决策。 安全边界 这个插件会启动 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 变成开放代理。 已实现控制和剩余外部约束见 安全文档。 与现有方案的区别 | 对比对象 | dsh-live-loop 额外解决 | | --- | --- | | 普通 Browser Plugin | Target 检测、开发服务器所有权、URL 健康检查、原生 Preview、严格观察窗口、证据保留、视觉 Diff、失败修复再验证 | | Playwright / Cypress 测试套件 | 面向 Agent 工作过程的可安装运行时验证;不会替代应用长期维护的 E2E 套件 | | 构建成功 | 来自真实加载页面、真实交互、Console/Network、断言和截图的证明 | 本项目为 rc.7 独立实现 Browser Provider。它吸收了 dsh-browser-playwright 中已经公开验证的设计经验,也审查了 dsh-plugin-browser,但没有复制两者的实现。兼容性和产品边界决策记录在 架构决策 中。 真实发布证据 当前发布候选已在干净的 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。 上方截图与可复现命令/结果账本见 发布证据。 开发 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 并提交对应生成物。 文档 | 文档 | 内容 | | --- | --- | | 最终产品规格 | 统一产品目标与验收边界 | | 架构 | Host、Client、进程、浏览器、验证和证据设计 | | 架构决策 | DSH 接缝调查与社区 Browser Provider 选择 | | 安全 | 已实现控制与剩余约束 | | 兼容性 | 精确 DSH 与运行时兼容范围 | | 发布证据 | 真实构建、浏览器、打包和干净 Profile 结果 | | 更新日志 | 发布历史 | 参与贡献 欢迎提交 Issue、兼容性报告、Fixture、安全改进和新的翻译。发起 Pull Request 前请先阅读 贡献指南。 卸载命令: dsh plugin --profile web remove dsh-live-loop 随后重启 Profile。卸载插件不会静默删除已经保留的证据。 许可证与项目状态 MIT。这是一个独立社区项目,不是 DeepSeek AI 官方发布,也不代表官方背书。
扫码进群