dsh-ego-webqa

browsertested: passnpmMIT

Adds an ego-webqa MCP server that audits deployed pages across the mobile viewport matrix and returns structured repair evidence; needs uv/uvx on PATH and a Playwright Chromium headless runtime on the same machine.

下载量 / Downloads
1,756
依赖体积 / node_modules
21.04 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

Install

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

Sandbox test results

StageResult
1 install✓
2 list✓
3 mount✓
4 boot—

Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).

README

dsh-ego-webqa

DSH bundle for ego-webqa. It exposes the

existing deterministic web-delivery audit as a native DSH MCP tool without

duplicating any browser checks in TypeScript.

After installation, the model sees:

mcp__ego_webqa__audit_web_page

The tool checks a page across the mobile matrix, returns the existing

agent_summary.json contract, and retains screenshots plus report.json as

evidence.

Quick start

Use the setup helper when installing from Windows or when DSH, pnpm, and uvx do

not all share the same PATH:

# Read-only preflight. It does not install anything.
npx -y dsh-ego-webqa@0.1.8 doctor --profile web

# Install the bundle, prepare Chromium, and safely add uvx to user PATH if needed.
npx -y dsh-ego-webqa@0.1.8 setup --profile web --apply-path

# Fully quit DSH and start the desktop application again.

# Run one clean page and one known-broken page through the real MCP server.
npx -y dsh-ego-webqa@0.1.8 verify --url https://preview.example

doctor is read-only. setup fails visibly instead of silently disabling QA,

backs up every Windows user-PATH change under %USERPROFILE%\.dsh-ego-webqa,

and does not modify workspace ACLs. It automatically discovers pnpm from the

DSH desktop runtime and creates a temporary shim for dsh plugin.

Why a bundle instead of another tool implementation

DSH already ships @deepseek-ai/dsh-mcp-client. This package contributes one

declarative Cordis patch row that starts:

uvx ego-webqa@0.8.2 mcp

DSH supervises that process, discovers audit_web_page, applies normal tool

approval and cancellation, and reconnects it if the process exits. The Python

package remains the single source of truth for detectors, thresholds, report

schemas, and release compatibility.

Requirements

  • DSH >=0.1.5-rc.1 <0.3.0
  • Node.js 20 or newer when using the npx doctor/setup/verify helper
  • uv / uvx available on PATH
  • A Playwright Chromium headless runtime available to the uvx environment
  • pnpm available to the dsh plugin command; the setup helper automatically

discovers the pnpm bundled with the DSH desktop runtime

Prepare the pinned ego-webqa browser once. Setup is idempotent, skips downloads

when the browser already launches, and installs only Chromium's headless shell:

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

On Linux CI hosts without a desktop browser, use:

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

Manual install

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

DSH 0.2.1+ can also discover it from the published format-1 market index:

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

The index is validated with @deepseek-ai/dsh-plugin-market-index in CI.

The deployed index resolves the newest publicly visible release from the npm

registry. A staged-only package version is not advertised until it is approved.

Inspect the resulting layer without starting DSH:

dsh --profile web --dump-config

Start DSH normally or explicitly select the profile:

dsh --profile web

For another installed profile, replace web with that profile's name.

The first MCP launch may take longer while uvx creates its isolated Python

environment. Later launches reuse that cache.

Use

Ask DSH to audit the deployed URL before delivery, for example:

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

The MCP tool accepts the URL and the existing bounded audit options, including

browser_engine with chromium, firefox, or webkit. Chromium remains the

default; install the selected Playwright engine separately. Playwright WebKit is

not a real-device Safari run. Its structured result includes:

  • delivery status (pass, warn, or fail);
  • aggregated blocking and warning findings;
  • suggested fixes and reproduction commands;
  • paths to agent_summary.json, report.json, and screenshots.

A blocking page defect is a successful tool execution with a fail report.

An execution error means the browser, CLI, or MCP process could not complete,

and must not be presented as a page-quality failure.

Operational boundaries

  • One tool call represents one bounded audit invocation.
  • The MCP server exposes one tool. There is no second set of DSH-only checks.
  • safe smoke mode remains the default in ego-webqa; side effects require the

existing explicit live-mode configuration in the Python tool.

  • The MCP client scrubs credential-shaped environment variables before starting

the child process.

  • The MCP row does not install Python, uvx, or Chromium implicitly. The

explicit setup helper invokes ego-webqa setup; missing prerequisites fail

visibly instead of silently disabling QA.

Versioning

The bundle pins the tested ego-webqa version in cordis.patch.yml. A DSH

adapter release is required only when its compatibility window or MCP launch

contract changes, not for every detector release in the Python package.

To use a locally installed CLI instead of uvx, override the generated row in

the profile's cordis.patch.yml:

- id: ego-webqa
  name: '@deepseek-ai/dsh-mcp-client'
  config:
    serverName: ego_webqa
    transport: stdio
    command: ego-webqa
    args: [mcp]
    cwd: !!js process.cwd()
    toolCallTimeoutMs: 90000
    failOnStartupError: true
    reconnect:
      enabled: true
      initialDelayMs: 500
      maxDelayMs: 30000
      maxAttempts: 10

Troubleshooting

If the tool is absent, inspect the DSH log for the ego-webqa MCP row. Common

causes are:

  • uvx is not on the DSH process PATH;
  • the pinned ego-webqa package version cannot be downloaded;
  • Chromium was installed for a different uv cache or user account;
  • the configured DSH version is outside engines.dsh.

Run the underlying server directly to isolate DSH from the Python package:

uvx ego-webqa@0.8.2 mcp

For a normal

…(truncated)

Rendered from the README published on npm. Formatted only, not edited.

Versions

Published on npm::10,最后更新 2026-10-30

Links

GitHub · Homepage · npm

Same category