前言¶
用 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