前言¶
用 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/uvxuvx环境可用的 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