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
羽毛球分组比赛记分
小程序二维码

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

小夜