dsh-plugin-browser-qa — QA con navegador real para DeepSeek Harness
Plugin MCP local que abre URLs reales en Chrome o Edge y le da al agente herramientas de QA: navegar, hacer clic, escribir, esperar elementos, capturas de pantalla, consola y red. Sin Playwright, sin navegadores descargados y sin dependencias externas: usa Chrome DevTools Protocol (CDP) sobre WebSocket.
English · Cómo funciona · MIT
Herramientas (10)
| Tool | Qué hace |
|---|---|
mcp__browser__open |
Abre una URL (lista blanca) y espera la carga. |
mcp__browser__click |
Clic por selector CSS o por texto visible. |
mcp__browser__type |
Escribe en un input/textarea/contenteditable; opcional enviar formulario. |
mcp__browser__wait |
Espera milisegundos o hasta que aparezca un selector. |
mcp__browser__screenshot |
Captura el viewport, la página completa o un elemento; devuelve la imagen dentro del resultado. |
mcp__browser__console |
Logs y errores de consola capturados (filtrable por nivel/texto). |
mcp__browser__network |
Requests con método, URL, status, MIME y fallos (filtrable). |
mcp__browser__read |
Texto visible de la página o de un selector. |
mcp__browser__status |
Estado del navegador, pestaña, lista blanca y modo. |
mcp__browser__close |
Cierra la pestaña (y el navegador con shutdown:true). |
Instalación
Desde DSH → Settings → Plugins: instala
github:thegabopacheco-sudo/dsh-plugin-browser-qa y permite el script de
instalación cuando DSH lo pida.
Por CLI (perfiles que no administra la app):
dsh plugin --profile <perfil> add github:thegabopacheco-sudo/dsh-plugin-browser-qa
El postinstall copia el runtime a <DSH_HOME>\plugins\browser-qa.
Requisitos: Windows 10/11, Node ≥ 20 (lo aporta el harness) y Chrome o Edge instalado. El plugin lanza el navegador solo (headless por defecto).
Configuración
| Variable | Uso |
|---|---|
DSH_BROWSER_ALLOWED_DOMAINS |
Lista blanca separada por comas (default: localhost,127.0.0.1,wendigocio.com,.wendigocio.com). |
DSH_BROWSER_ALLOW_ALL |
1 desactiva la lista blanca (solo para entornos de confianza). |
DSH_BROWSER_HEADLESS |
0 abre el navegador con ventana (default headless). |
DSH_BROWSER_PORT |
Puerto de depuración CDP (default 9333). |
DSH_BROWSER_PATH |
Ruta explícita a chrome.exe / msedge.exe. |
DSH_BROWSER_MODE |
read-only deshabilita click y type. |
DSH_BROWSER_SKIP_POSTINSTALL |
1 omite el despliegue del postinstall. |
Datos locales: capturas en <DSH_HOME>\cache\browser-qa\shots, auditoría en
<DSH_HOME>\cache\browser-qa\audit.jsonl.
Seguridad
- Lista blanca de dominios en
open(configurable). - Read-only opcional: sin clic ni escritura.
- Auditoría de navegación, clics y escritura.
- Rate limit de 120 acciones por minuto.
- Las instrucciones del modelo prohíben credenciales reales, compras, envíos o borrados sin confirmación.
- No lee el perfil del usuario: usa un
user-data-diraislado en el cache.
Uso típico
- «Abre
http://localhost:3000/owner, tómame una captura y dime qué se ve.» - «Haz clic en el botón Guardar y comprueba si aparece el mensaje.»
- «Revisa la consola y la red después de cargar: ¿qué requests fallaron?»
- «Escribe
pruebaen el buscador, envía y captura el resultado.»
Solución de problemas
- “Install scripts need your permission”: aprueba el
postinstall. Si el cartel vuelve en bucle, revisa<perfil>\pnpm-workspace.yaml: los valores deallowBuildsdeben sertrue(no el placeholderset this to true or false). - No encuentra navegador: instala Chrome/Edge o define
DSH_BROWSER_PATH. - No aparecen las tools: verifica
<DSH_HOME>\plugins\browser-qa\server.mjsy la filamcp-browser-qa; reinicia DSH si hace falta. - Dominio bloqueado: agrégalo a
DSH_BROWSER_ALLOWED_DOMAINS.
Desarrollo
npm install
npm run build:bundle
cd test; npm install; node connect-test.mjs
Licencia
MIT © thegabopacheco-sudo
No comments yet. Be the first to write one.