dsh-ego-webqa:把 ego-webqa 网页交付审计接到 DSH MCP

前言

用 DSH 做前端或落地页交付时,模型往往只能「看代码」或凭主观描述判断页面是否可用,很难在移动端视口矩阵下做可复现的检查。单独跑 Playwright 脚本可以,但要把同一套检测规则、报告结构和截图证据稳定地交给智能体调用,通常还要自己包一层 MCP 或在 TypeScript 里重复实现浏览器检查。

下面介绍社区插件 dsh-ego-webqa:它不复制 ego-webqa 的检测逻辑,而是通过 DSH 的 Cordis 补丁启动已有的 Python 包 ego-webqa,把确定性网页交付审计暴露为原生 MCP 工具。

这是什么

dsh-ego-webqa 是 ROY32172310 维护的 DSH bundle,分类为 admin-security。它将 ego-webqa 的既有审计能力接入 DSH,安装后模型可见的工具名为:

mcp__ego_webqa__audit_web_page

一次工具调用会在移动端矩阵下检查指定 URL,返回既有 agent_summary.json 契约,并保留截图与 report.json 作为证据。Python 包仍是检测器、阈值、报告 schema 与发布兼容性的唯一来源。

核心功能

  • 单一 MCP 工具:MCP 服务端只暴露 audit_web_page,没有第二套仅 DSH 可用的检查。
  • 交付结论结构化:结果包含 delivery 状态(pass、warn 或 fail)、聚合的 blocking / warning 发现、修复建议与复现命令,以及 agent_summary.json、report.json 和截图路径。
  • 浏览器引擎可选:支持 browser_engine 为 chromium、firefox 或 webkit(Chromium 为默认;WebKit 并非真机 Safari)。
  • 与 DSH 进程集成:DSH 通过 @deepseek-ai/dsh-mcp-client 监督子进程(默认启动方式为 uvx ego-webqa@0.8.2 mcp),负责工具发现、审批、取消与断线重连。
  • 边界清晰:页面缺陷导致 fail 属于成功的工具执行;浏览器、CLI 或 MCP 进程未能完成则属于执行错误,不应被表述为页面质量问题。

安装与启用

环境要求

资料中写明需要:

  • DSH >=0.1.5-rc.1 <0.3.0
  • 使用 npx 辅助命令时需 Node.js 20+
  • PATH 上可用的 uv / uvx
  • uvx 环境可用的 Playwright Chromium headless 运行时
  • dsh plugin 可用的 pnpm(setup 辅助可从 DSH 桌面运行时自动发现 bundled pnpm)

首次需为固定版本的 ego-webqa 准备浏览器(可重复执行,已安装则跳过下载,仅安装 Chromium headless shell):

uvx --from ego-webqa==0.8.2 ego-webqa setup

无桌面浏览器的 Linux CI 主机可使用:

uvx --from ego-webqa==0.8.2 ego-webqa setup --with-deps

手动安装插件

在 web profile 下添加 bundle(命令来自 README,勿自行拼接 GitHub 地址):

dsh plugin --profile web add dsh-ego-webqa

DSH 0.2.1+ 也可从已发布的 format-1 市场索引发现该插件:

https://roy32172310.github.io/dsh-ego-webqa/index.json

安装后可在不启动完整交互界面的情况下查看配置层:

dsh --profile web --dump-config

正常使用时可指定 profile:

dsh --profile web

首次启动 MCP 时 uvx 创建隔离 Python 环境可能较慢,之后会复用缓存。

Windows 或 PATH 不一致时的 setup 辅助

当 DSH、pnpm、uvx 不在同一 PATH 上时,可使用 npm 包 dsh-ego-webqa@0.1.8 的辅助命令(doctor 只读,不安装任何东西):

npx -y dsh-ego-webqa@0.1.8 doctor --profile web

npx -y dsh-ego-webqa@0.1.8 setup --profile web --apply-path

完成 setup 后需完全退出 DSH 再启动桌面应用。验证 MCP 与真实审计链路:

npx -y dsh-ego-webqa@0.1.8 verify --url https://preview.example

setup 在 Windows 上会备份对用户 PATH 的改动到 %USERPROFILE%\.dsh-ego-webqa,不修改工作区 ACL;找不到 pnpm 时可传 --pnpm 或 --dsh-home。

典型用法

在 DSH 中可直接用自然语言要求审计部署 URL,例如:

Audit https://preview.example before you call the page complete.

工具接受 URL 及 ego-webqa 已有的有界审计选项。需要脱离 DSH 单独跑 CLI 并拿到完整证据时:

uvx ego-webqa@0.8.2 https://preview.example --out .qa/dsh

排查 DSH 与 Python 包边界时可直连 MCP 服务:

uvx ego-webqa@0.8.2 mcp

若工具未出现在模型侧,常见原因包括:uvx 不在 DSH 进程 PATH、固定版本无法下载、Chromium 装在不同 uv 缓存或用户下、或 DSH 版本不在 engines.dsh 范围内。

适用场景与注意

适合:上线或交付前对预览 / 生产 URL 做确定性检查;希望智能体读取统一 agent_summary.json 与截图证据,而不是重复实现 Playwright 规则。

运行方式:插件以当前 DSH 进程权限运行;MCP 客户端在启动子进程前会 scrub 凭证形态的 environment variables。bundle 不会隐式安装 Python、uvx 或 Chromium,缺失依赖应显式失败而非静默关闭 QA。ego-webqa 默认 safe smoke 模式;有副作用的 live 模式仍需 Python 工具侧既有显式配置。

安装前:请自行查看 GitHub 仓库 源码与 MIT 许可证。社区目录页 SkillHub 插件条目 与 DeepSeek / 幻方无官方从属关系,DSH 生态理念是「一切皆插件」,目录为独立社区站点。

本地已安装 CLI、不想用 uvx 时,可在 profile 的 cordis.patch.yml 中覆盖 MCP 行(README 提供了 command: ego-webqa 的示例配置)。

结尾

dsh-ego-webqa 的价值在于用一条声明式 Cordis 补丁把成熟的 ego-webqa 审计接到 DSH,避免在 TypeScript 里复制浏览器检测,同时保留报告契约与证据文件。

  • 目录页:https://www.skillhub.cn/plugins/ROY32172310/dsh-ego-webqa
  • GitHub:https://github.com/ROY32172310/dsh-ego-webqa
羽毛球分组比赛记分
小程序二维码

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

小夜