Saltar al contenido
A qué te dedicas

Las ejecuciones a las que un script no llega: tu sesión, tu navegador.

Donde el flujo ya está guionizado, Playwright hace el trabajo, y lo decimos en voz alta. Donde no lo está, un navegador vacío tiene que iniciar sesión primero: el staging de un cliente detrás de SSO, un estado al que llegaste a mano, la página en la que estás parado ahora mismo. Este ya está allí.

Tú conduces. Nada escribe ni hace clic hasta que lo pulsas o le pasas el clic a tu agenteVer en YouTube
Qiksy Forms: one-click fill scenarios and personasQiksy Forms: one-click fill scenarios and personasQiksy live findings with one-click bug actionsQiksy live findings with one-click bug actions
No es otro tester autónomo

Conduce la persona. Qiksy percibe.

Todas las herramientas del tipo «la IA prueba tu aplicación por ti» naufragan en los mismos tres arrecifes. Qiksy los esquiva dejándote al volante, y ayudando en cada paso.

El problema del login desaparece

SSO, MFA y captchas matan a los agentes autónomos. Tú ya has iniciado sesión y ya estás en la pantalla correcta, así que Qiksy solo ayuda desde ahí.

Funciona al instante en cualquier sitio

Es una capa por encima, no una integración. Ábrelo sobre cualquier aplicación web, sea una herramienta interna, staging o producción, y funciona. Sin SDK, sin pipeline.

Honesto, no mágico

«A la IA no se le escapa ni un bug» es una promesa que se rompe en el primer despiste. «Te recuerda los casos límite y detecta fallos mientras pruebas» es una que sí cumplimos.

El ciclo de valor

Cinco pasos, cada uno de un clic.

Este es el flujo entero, desde abrir una página hasta poner el arreglo en manos de un desarrollador o de un agente de IA.

01

Detección

Qiksy escanea cada formulario y muestra qué ha entendido de cada campo: etiqueta, tipo, restricciones. Transparencia en la que puedes confiar.

02

Relleno

Un clic coloca un escenario coherente: persona válida, valores límite (longitudes máximas, unicode), valores inválidos (formatos rotos, sonda XSS) o limpiar. No es basura de faker.

03

Captura

Mientras haces clic, los fallos van llegando: errores de consola, peticiones fallidas con el cuerpo de la respuesta del servidor y problemas de WCAG AA o de maquetación.

04

Copia

Cualquier hallazgo se copia como un informe de error listo para pegar, con selector, pasos para reproducirlo, captura y entorno adjuntos.

05

Entrega

Exporta la sesión entera para un agente de IA, o genera un recorrido en informe listo para el cliente. El ciclo de arreglos se cierra solo.

Todo en el panel

Una cabina de QA completa, en un panel lateral.

Todo gratis y todo activo desde el primer minuto, el grabador de sesión y los informes incluidos. Pro es una sola cosa: el puente hacia tu agente de código.

Relleno inteligente de formularios

Datos coherentes con la persona (correos que coinciden, confirmaciones de contraseña, opciones de país válidas) en campos nativos, en widgets ARIA personalizados como los selectores de fecha y los comboboxes de Radix o shadcn, e incluso en las subidas de archivo: una imagen o un documento neutro, elegido según lo que el campo acepta.

Hallazgos en vivo

Errores de consola, excepciones de JS, promesas rechazadas sin capturar y peticiones de red fallidas, capturados desde document_start, sin duplicados y filtrables por gravedad.

Auditoría de la página, WCAG AA

Controles sin etiqueta, botones sin nombre accesible, contrastes que no pasan, imágenes rotas, id duplicados, lang ausente, tabindex positivo. Y a través del puente del agente (1.6): el motor de reglas <b>axe-core</b> que va incluido, un recorrido con Tab que enumera lo que un usuario de teclado no alcanza nunca, y una comprobación de que los avisos emergentes se anuncian de verdad al lector de pantalla.

Vigilante del envío

Cruza el intento de envío con las peticiones fallidas, la validación nativa, aria-invalid y los avisos de error, y cuenta el mensaje real, no un simple «no válido».

Grabador de sesión

Una línea de tiempo que sobrevive a los cambios de página: cada visita con sus hallazgos, su registro de red y una miniatura. Exporta un bug, un HAR o un informe.

Roles y RBAC

Guarda la autenticación de un origen como un rol con nombre (cookies, incluidas las HttpOnly, localStorage y sessionStorage) y restáurala para probar admin frente a member frente a anónimo.

Lee los estilos, no solo la estructura

El color, la tipografía y el espaciado calculados, y las propiedades CSS personalizadas que hay en ámbito. Así «este botón se pinta en #3B82F6 a 15px» es un dato que puedes comparar con el diseño, no algo que hay que adivinar entornando los ojos sobre una captura.

Arsenal de valores límite

Haz clic derecho en cualquier campo y saca las cadenas maliciosas de BLNS, los nombres que rompen validaciones, los números frontera, las sondas de inyección y las tarjetas de prueba de Stripe. Cada campo ofrece lo que le corresponde.

Almacén de datos de prueba

Personas con nombre para cada sitio: aplícalas, edítalas como JSON, expórtalas e impórtalas para compartirlas con el equipo. Guarda los valores actuales de un formulario en un clic.

Archivos hostiles para los campos de subida

Adjunta un archivo de 0 bytes, uno de 12 MB, un PNG llamado .pdf, un nombre de 255 caracteres o un SVG que lleva un script dentro. Es la idea de las cadenas maliciosas aplicada al control que se rompe más a menudo.

Foco e inspección

Haz clic en cualquier hallazgo para oscurecer la página y remarcar el elemento. Elige cualquier elemento y llévate su selector, su rol ARIA, su nombre accesible y sus estilos.

Rellena cualquier widget

No solo campos de texto. Maneja comboboxes ARIA, selectores de fecha, interruptores, deslizadores, controles segmentados y editores de texto enriquecido como lo haría una persona, incluso campos controlados por React o dentro de un Shadow DOM, y dentro de modales, pestañas y acordeones.

Detecta lo lento, no solo lo roto

La maquetación que salta mientras carga, el botón que tarda un segundo en contestar, el tirón al abrir un menú: todo leído de las propias mediciones del navegador, con el elemento que se movió y el script que bloqueó el hilo. Con los umbrales de Core Web Vitals, así que un hallazgo de aquí coincide con Lighthouse.

Un solo archivo para el ticket

La sesión se convierte en un informe HTML autocontenido: pasos con capturas, hallazgos con selectores, peticiones fallidas con el cuerpo del error que devolvió el servidor. Dale los criterios de aceptación y tu veredicto sobre cada uno, y el informe empieza por ahí. Sin cuenta, sin enlace, sin subir nada: o lo adjuntas, o lo borras.

Mostrar, no contar

Pídele a tu agente un recorrido en lugar de un informe. Coge la pestaña que ya estás mirando, avanza por el flujo dentro de tu propia sesión ya autenticada y oscurece la página para remarcar cada elemento con su rótulo: paso 3 de 6. Una revisión que tu cliente ve suceder, y no unas capturas que tiene que creerse.

Prueba el error que el servidor no te va a dar

Haz que una petición responda como tú necesites: un 500, una lista vacía, una respuesta a la que le falta un campo, treinta segundos de nada, una conexión cortada. Los caminos de error son los que nadie comprueba, porque un backend que funciona se niega a romperse cuando se le pide, y «simular la primera llamada y dejar pasar el reintento» es la única forma de demostrar que el reintento reintenta. Una línea, ninguna carpeta que elegir, y sobrevive a una recarga. Tu agente puede ponerlo y quitarlo por su cuenta.

Su idioma, no solo el inglés

El panel habla siete idiomas (English, Deutsch, Español, Polski, Português, Русский, Українська) y toma el suyo del navegador en el primer arranque; un selector en el popup lo anula cuando la máquina está en un idioma y el equipo trabaja en otro. Los hallazgos y los informes de errores se quedan en inglés a propósito: se pegan en un gestor de incidencias que lee gente de otro país.

Una prueba, no solo hallazgos

Toda la página en una imagen, por larga que sea, con flechas, recuadros y textos grabados dentro del archivo. O la pantalla en un MP4 que se abre en cualquier sitio, con tu voz. No se guarda nada: vive mientras está en pantalla.

Grábalo una vez, después solo pulsa

El formulario que rellenas veinte veces por semana

Rellénalo a mano una vez, con Qiksy mirando. A partir de ahí es una pulsación: los mismos valores, la misma ruta, los mismos pasos del asistente, y una parada allí donde una persona tendría que mirar de todos modos.

01

Grábalo tal y como trabajas

Pulsa Grabar y rellena el formulario como lo harías siempre: a mano, con ⚡ Fill o de las dos formas. Pulsa Parar y ponle nombre. No hace falta cambiar nada de tu manera de trabajar.

02

Repetirlo es una pulsación

Los valores vuelven a los campos de los que salieron y el Siguiente del paso se pulsa solo. Si aparece un campo que la página ya no tiene, la ejecución se detiene y el veredicto NOMBRA ese campo: un «listo» en verde sobre un formulario a medias es peor que un fallo claro.

03

Sigue la ruta que recorriste

Un flujo rara vez cabe en una página: el siguiente paso del asistente, el paso por el inicio de sesión, una página de pago en otro dominio. La repetición sigue la misma ruta en la misma pestaña, y en cada frontera de página espera tu Continuar, porque una página recién cargada no es sitio para escribir sin permiso.

04

El mismo flujo con otros datos

{ } abre los datos de la ejecución como una lista sencilla de campos: cambia un correo, una fecha, el nombre de una empresa; 🎲 los vuelve a rellenar con valores nuevos y verosímiles. Una sola grabación cubre así un pase de regresión, y a un campo de subida puedes darle un archivo tuyo.

05

Las contraseñas no están dentro

Las contraseñas y los números de tarjeta se graban como campos, nunca como valores, porque un escenario es un archivo que se exporta y se envía. La repetición se detiene ahí y te pide que lo escribas tú; y a un escenario importado se le quitan, antes de la primera ejecución, todas las direcciones que salen de su propio sitio.

Se escribe mientras trabajas, no después

El informe es el trabajo. Lo demás es cómo llegar a él.

Nadie retiene ocho hallazgos hasta el final del día, así que no se anotan: acaban en un chat como capturas y media frase. Aquí el documento se llena en el momento en que algo se nota: una línea con tus palabras, un trozo recortado de la página, un hallazgo con lo que pasó y lo que debía pasar. Al final, una pulsación, y sale una página HTML autónoma que se imprime en PDF.

Qiksy:the screen in the marking editor with the crop tool ready, a region drawn around the controlQiksy:the screen in the marking editor with the crop tool ready, a region drawn around the control
Tomar un trozo de la página. La pantalla se abre en el editor de marcas con el recorte ya activo: recorta el control, ponle una flecha y queda en el informe.
Qiksy:the finished report open in its editor, ready to print to PDFQiksy:the finished report open in its editor, ready to print to PDF
El documento. A la izquierda sus bloques, a la derecha la página real. Cambia una frase e imprímela: de la impresora sale lo que hay en la pantalla.
01

Cuesta un gesto, no una tarde

Una idea llega mientras clicas por la aplicación, y cuesta un campo y Enter. Ocho ideas, ocho pulsaciones. Esa es toda la diferencia entre un informe escrito mientras se trabaja y otro montado de memoria por la tarde.

02

La imagen es prueba, no adorno

Sin ella no se construye el documento. Una página de afirmaciones sobre una aplicación que no muestra ninguna es justo lo que esta herramienta sustituye. Y el nombre de una captura no se reparte dos veces: bajo un hallazgo nunca puede aparecer la imagen de otro momento.

03

Nada queda grabado a fuego

Flechas, texto y recorte se guardan como DATOS junto a la imagen limpia: mueve la flecha mañana y cambiará con ella cada informe que nombre esa captura. El documento se reconstruye desde sus propios bloques, así que corregir una palabra no obliga a rehacerlo entero.

04

Sigue ahí una hora después

Los informes terminados se quedan en la extensión con un nombre: ábrelo, imprímelo, guárdalo o úsalo como forma del siguiente. Y cuando el navegador se queda sin sitio lo dice y conserva tu trabajo, en vez de tirarlo sin avisar.

Dos manos, un informe

Y esto no lo tiene nada más en esta página. El mismo borrador es accesible para tu agente a través del puente: qa_draft lee las líneas, qa_draft_add escribe una, qa_draft_edit la reescribe, qa_draft_build lo convierte en documento. Tú fotografías el total roto y el agente escribe el hallazgo debajo. O él reúne las pruebas mientras sigues probando y tú afinas la redacción al final. No son dos informes que luego hay que cuadrar, sino un montón y dos manos.

Llamadas medidas, no escenificadas

Una llamada en vez de noventa y cinco

El mismo formulario de 94 campos, rellenado dos veces, y ambos lados hablan MCP, que es como tu agente conduce un navegador de verdad. Qiksy gasta una llamada. Playwright MCP gasta noventa y cinco.

El mismo formulario, los dos caminos, en tiempo real
Playwright MCP: una llamada por campo
Qiksy: una llamada al puente

Aquí nada está ralentizado ni acelerado. Los dos controladores son servidores MCP reales y ambos actúan sobre el mismo navegador y la misma pestaña: qiksy-mcp por su WebSocket local y @playwright/mcp conectado por CDP, que es la versión generosa para él, porque por su cuenta primero levanta un navegador vacío. La página se cronometra sola, de la primera tecla al envío, y el banco de pruebas está en el repositorio: puedes ejecutarlo tú.

~3.0s
Playwright MCP: una llamada por campo
94 campos, 95 llamadas del agente
~1.4s
Qiksy: una llamada al puente
94 campos, una llamada, nada que enumerar
1 llamada
en vez de noventa y cinco
y no crece con el formulario

Y la parte honesta, porque lo vas a medir igualmente. Frente a un script de Playwright escrito de antemano perdemos: eso es código dentro de tu propio proceso de pruebas, sin agente y sin protocolo, y rellena este formulario en unos 0,4 s. Esa comparación era la que estaba en esta página hasta hoy, y era la equivocada: una biblioteca no es un puente. Frente a Playwright MCP, que es lo que un agente tiene realmente en la mano, los números de arriba son la mediana de tres ejecuciones. Una cosa más que no ocultamos: Playwright MCP también tiene un verbo por lotes, browser_fill_form, y con él el mismo formulario entra en unos 0,7 s en dos llamadas, pero esa lista de noventa y cuatro campos y sus tipos la tiene que construir el agente. El nuestro toma un diccionario simple etiqueta → valor y resuelve el resto solo, y sigue siendo una llamada tenga el formulario diez campos o doscientos.

La velocidad es la mitad pequeña. La grande es en el navegador de quién se ejecuta.

Tu agente ya sabe abrir una URL: es una línea de shell, y aterriza en el navegador en el que tienes la sesión iniciada. Lo que no sabe es mirar lo que se ha abierto, si la página cargó, si sigues dentro, qué dice el error. Playwright sí sabe mirar, pero solo dentro de un navegador que ha lanzado él, con un perfil en blanco en el que nunca has entrado. Entre esas dos mitades es donde todo el mundo elige.

Cómo se abre la páginaDe quién es el navegadorEl agente ve la páginaEl agente actúa en ella
open <url>, shell a secasEl tuyo, con la sesión ya iniciadaNoNo
CDP / PlaywrightEl suyo, un perfil en blancoSíSí
QiksyEl tuyo, con la sesión ya iniciadaSíSí

Qiksy es la fila que tiene las dos cosas. Nunca lanza un navegador y nunca te quita la ventana: trabaja dentro de la pestaña que ya tienes abierta, y por eso la sesión que lee es la de verdad, con tus roles, tus permisos, el entorno de staging detrás del SSO y la cuenta de cliente que en un perfil recién hecho no puedes recrear.

Míralo

Un panel. Todos los movimientos de QA.

Formularios, hallazgos, auditorías, roles, cobertura y el historial completo de la sesión en una sola cabina que se maneja con el teclado. Oscura o clara, con el acento que quieras; el rayo dorado siempre se queda como firma.

El puente del QA manual al desarrollo con IA

Entrega todo el contexto de QA a tu agente de código.

Un servidor MCP neutral respecto al proveedor permite a Claude Code, Cursor, Cline, Windsurf, Zed o VS Code leer el estado de QA en vivo directamente del navegador: hallazgos con selectores CSS, formularios detectados, peticiones fallidas con el cuerpo de la respuesta del servidor, pasos de reproducción grabados. Di «arregla lo que Qiksy ha encontrado en esta página» y el agente ya lo tiene todo. También puede manejar las superficies propias de Qiksy, como abrir el panel, lanzar la auditoría, sacar la lista de cobertura o generar el informe, y, en cuanto activas Agent control, también la aplicación que estás probando. Desactivado por defecto: al volante sigues tú hasta que decidas otra cosa.

Tu agente
Claude Code / Cursor / …
Llama a las herramientas MCP por stdio
→
qiksy-mcp
stdio ⟷ servidor WebSocket
paquete npx · atado a 127.0.0.1
→
Extensión
Service worker (cliente WS)
Lee el paquete de la pestaña actual
→
La página
Tú, probando, en vivo
Solo lectura hasta que actives Agent control.
El alcance completo

Todo lo que tu agente puede hacer dentro del navegador que ya tienes abierto.

Sin un segundo navegador, sin volver a entrar, sin perder la sesión. Leer es gratis y no pide permiso; actuar es un interruptor que activas tú.

Lo que ve

Gratis · sin consentimiento
  • La página como un árbolCada control, cada región y cada encabezado con su rol, su nombre y su estado, y una referencia estable sobre la que actuar.
  • Geometría realCada caja en píxeles CSS. Así es como dice «cortado», «se solapa», «un objetivo táctil de 28px» sin una sola captura.
  • Estilos y tokens de diseñoEl estilo calculado, y de qué token salió cada color. --accent, no solo rgb(37,99,235).
  • Qué se rompió de verdadErrores de consola y de JS, peticiones fallidas con el cuerpo del error del servidor, velocidad y saltos de la maquetación.
  • El almacenamiento de la aplicaciónlocalStorage y sessionStorage: feature flags, estado en caché, el token de sesión.
  • Accesibilidad de verdadEl motor axe-core completo dentro de la página en vivo, más el recorrido del teclado hecho Tab a Tab.
  • Una imagen de toda la páginaDe arriba abajo, por larga que sea: la desplaza, la fotografía pantalla a pantalla y la une. Las contraseñas y los campos de tarjeta se tapan antes.
  • Una tabla, no una páginaNombra las filas y las columnas, cada artículo con su precio, cada campo con lo que contiene ahora, y eso es una respuesta en vez de una docena de lecturas.
  • Qué pasa despuésObserva unos segundos, así que un aviso que aparece y se va, una petición lanzada por un temporizador o un anuncio para lectores de pantalla no se pierden. Cada observación caduca sola.
  • Buscar dentro de una capturaCada palabra de la página queda escrita de forma invisible sobre sus propios píxeles, así que Ctrl+F funciona en la imagen. No es reconocimiento: el texto nunca se perdió.

Lo que hace

Pro · Agent control
  • Rellena cualquier formularioUn paso entero de un asistente en una sola llamada: le pasas los valores en JSON y él resuelve las etiquetas solo.
  • Todo tipo de widgetAnt, MUI, Radix, react-select, downshift: desplegables, calendarios, cascadas, árboles, etiquetas, horas, cada uno con su propio verbo.
  • Hace clic, escribe y responde con el diffQué apareció, qué cambió, qué acaba de abrir el clic, así que nunca tiene que adivinar si funcionó.
  • Entra por Microsoft, Google u OktaEs tu navegador: normalmente ya tienes la sesión iniciada, y la pestaña que abre el proveedor se suma a la sesión por su cuenta.
  • Varios logins a la vezUn tarro de cookies por pestaña, un solo navegador, sin un segundo perfil: admin, member y anónimo, uno al lado del otro.
  • Sube archivos de verdadPor su ruta en tu máquina, todos los adjuntos de un paso de una vez, y los bytes nunca entran en el contexto del agente.
  • Navega y esperaVa a una ruta y espera a que la página se asiente antes del siguiente movimiento. Solo dentro de las pestañas que hayas conectado.

Lo que muestra y recuerda

Para ti, no para el registro
  • Te pone la pestaña delanteLevanta la ventana y remarca el elemento del que habla: un recorrido que pasa donde estás mirando.
  • Recuerda un formulario largoGuarda el flujo como una receta indexada por el nombre de cada campo y la repite en la sesión siguiente: una llamada por paso en lugar de una exploración.
  • Te entrega el artefactoUn informe HTML autocontenido: primero tus criterios de aceptación, y debajo de cada uno las pruebas.
  • Una prueba que puedes adjuntarToda la página en una imagen, con tus flechas y textos grabados dentro, o la pantalla grabada en un MP4 que se abre en cualquier sitio, con tu voz.
  • Una grabación que se leeEl vídeo llega con los momentos de la página: clics por su nombre, peticiones fallidas con la respuesta del servidor, lo que oyó un lector de pantalla. Pulsa uno y salta ahí.
Y dos cosas que no hace, y lo dice en lugar de disimular

Ninguna captura de pantalla. Tiene mediciones, no una imagen, así que «¿se ve bien?» es una pregunta para tus ojos. Ningún JavaScript arbitrario. Es una regla de la Chrome Web Store, y la razón de que cada comando nombre un elemento y nunca un programa. Todo lo demás ocurre en el navegador en el que ya tienes la sesión iniciada.

🤖 El agente al volante: una llamada rellena el formulario entero
Qiksy agent overlay: collecting the form over the bridgeQiksy agent overlay: collecting the form over the bridge
Collecting. El agente lee el formulario por el puente, antes de la primera pulsación.
Qiksy agent overlay: filling every field liveQiksy agent overlay: filling every field live
Filling. El formulario entero va en una sola llamada; ves cómo cada campo se coloca, en vivo.
HerramientaQué devuelve
qa_tabsTodas las pestañas que Qiksy puede leer, incluidas las que son sesiones multi-login aisladas, así que un agente puede comparar qué ve cada uno: admin, member y anónimo.
qa_statusLa URL + los recuentos de errores / avisos / formularios + el nombre del login aislado. tabId opcional.
qa_findingsHallazgos con selectores y detalle; filtra por severity (all / error / warning).
qa_exportEl paquete qa-export/v1 completo: hallazgos, peticiones fallidas con sus cuerpos, estructura de los formularios, pasos de reproducción, entorno y un mapa de navegación (rutas con nombre a las que el agente puede ir llamándolas por él).
qa_open_panelComando. Abrir o cerrar el panel de Qiksy e ir a una pestaña (findings / tour / history …).
qa_run_auditComando. Pasar la auditoría de accesibilidad y maquetación sobre el DOM actual y devolver los hallazgos.
qa_axeComando. Pasar el motor axe-core que va incluido, el mismo que hay debajo de Lighthouse, sobre el DOM en vivo: cientos de reglas WCAG A/AA, cada infracción con su impacto, sus etiquetas WCAG y los selectores culpables. Todo local: de la página no sale nada.
qa_focus_walkAgent control. Recorrer la página Tab a Tab y contar el recorrido REAL del teclado: lo que un usuario de teclado no alcanza nunca, las trampas de foco sospechosas y los saltos de foco que pelean con la disposición de la página.
qa_tourComando. La lista de pruebas exploratorias, material de cobertura para escribir casos de prueba.
qa_reportComando. Generar el informe HTML autocontenido de la sesión y devolverlo.
qa_spotlightComando. Oscurecer la página y remarcar un elemento por su selector, para que veas de qué habla el agente.
qa_focus_tabComando. Trae una pestaña delante de ti, la activa y levanta su ventana, para que el recorrido pase donde estás mirando. Limitado a la aplicación bajo prueba y a sus logins; es para «muéstrame», no para comodidad del agente.
Multi-login, una sola pasada. Levanta logins aislados en Roles (+ Pestaña aislada / ⧉ sobre un rol guardado) y el agente los lee todos: qa_tabs le da a cada uno su nombre de isolatedSession y su tabId, y qa_export por pestaña compara qué ve cada uno, admin, member y anónimo. El agente además actúa dentro de cada login: el mismo tabId va a qa_fill_json y a qa_click, así que trabaja como ese usuario sin un segundo navegador y sin volver a entrar. La lista completa de herramientas está en el README de qiksy-mcp.
1 · Enciende el puente
  1. En el popup de la extensión, abre MCP bridge, ponlo en On, pulsa Generate para obtener un token, elige un puerto (por defecto 7333) y pulsa Save.
  2. Registra el servidor en tu editor con el mismo token y el mismo puerto. El token se pasa en la variable de entorno QIKSY_MCP_TOKEN.
Atado a loopback, y de solo lectura hasta que digas lo contrario. Por su cuenta el puente maneja únicamente la interfaz de Qiksy: nunca rellena, ni hace clic, ni envía, ni navega por la aplicación que estás probando. Agent control (Pro) es el interruptor que cambia eso, con su propia confirmación, para que tu agente pueda hacer clic y escribir en tu sesión real ya autenticada. Escucha en 127.0.0.1, rechaza los orígenes que no sean la extensión, y el token compartido es el único candado: guárdalo en secreto.
2 · La misma configuración en todas partes

El servidor es un único paquete npx. Todos los editores usan el mismo comando; solo cambian el archivo donde vive y un par de claves. Elige el tuyo abajo y pega.

Seguro para MV3 y verificado de extremo a extremo. Un ping de keepalive cada 20s mantiene el socket abierto; alarms despierta al service worker dormido para que se reconecte. No hace falta tocar el manifest ni la CSP para ws://127.0.0.1.
Configura tu editor
Claude CodeCLI · one line
# run in your project
claude mcp add --transport stdio qiksy \
  --env QIKSY_MCP_TOKEN=YOUR_TOKEN \
  -- npx qiksy-mcp --port 7333
Claude Code · Cursor · Windsurf · Cline.mcp.json · ~/.cursor/mcp.json · mcp_config.json
{ "mcpServers": { "qiksy": {
  "command": "npx",
  "args": ["qiksy-mcp", "--port", "7333"],
  "env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }
Zedsettings.json · key is context_servers
{ "context_servers": { "qiksy": {
  "source": "custom",
  "command": "npx",
  "args": ["qiksy-mcp", "--port", "7333"],
  "env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }
VS Code.vscode/mcp.json · top-level servers
{ "servers": { "qiksy": {
  "type": "stdio",
  "command": "npx",
  "args": ["qiksy-mcp", "--port", "7333"],
  "env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }
Para desarrolladores

Conéctalo a tu agente en un solo pegado

El puente habla MCP, así que cualquier agente capaz (Claude Code, Cursor, Cline, Windsurf, Zed, VS Code) puede leer el estado de QA en vivo y, con Agent control activado, actuar dentro de la sesión que ya tienes abierta.

🚀 One-shot setup · paste into any LLM to get connected
You are setting up the Qiksy manual-QA Chrome extension so you can drive the
human's REAL, logged-in browser: over Qiksy's MCP bridge, and (optionally) over
Playwright/CDP for direct clicks. Go ONE STEP AT A TIME. After each step, ask the
human to confirm what they see before continuing. Whenever you send them to a panel
or popup, FIRST DRAW AN ASCII DIAGRAM of it with the exact control marked "← click".

USE GOOGLE CHROME. Qiksy is a Chrome extension, not Firefox, Safari or Edge. Do
everything in Google Chrome (a Chromium build works, but tell the human to use
Chrome unless they know otherwise).

TWO FACTS THAT MAKE OR BREAK IT, state them up front:
  1. The Chrome window must stay OPEN and LOGGED IN to the app under test for the
     whole session. The bridge and Playwright both attach to that live window; close
     it and the session is gone.
  2. To load an UNPACKED (dev) build, the human must be LOGGED IN first, because a fresh/
     incognito profile has no session. Log in, THEN load, and keep that window.

STEP 1 · extension
Install Qiksy from the Chrome Web Store, or chrome://extensions → Load unpacked →
the dist folder. Confirm the round Q bubble shows bottom-right on any page.

STEP 2 · the token (DRAW THIS)
Open the toolbar popup and find "Agent bridge · MCP":

  +-- Qiksy popup --------------------+
  | Assistant overlay          [ On ] |
  | Agent bridge · MCP         [ On ] |  <- turn ON, accept the consent
  |   Port [ 7333 ]  Token [________] |
  |   [ Generate ]  [ Copy ]          |  <- Generate, then Copy (it saves itself)
  +-----------------------------------+

Have them Generate -> Copy (the popup saves it automatically), and paste the token to you.

STEP 3 · run the bridge (keep it running in a terminal)
  QIKSY_MCP_TOKEN=<paste the token> npx qiksy-mcp --port 7333

STEP 4 · connect you (MCP)
Add the qiksy server to the agent config (Claude Code: claude mcp add --transport
stdio qiksy --env QIKSY_MCP_TOKEN=<token> -- npx qiksy-mcp --port 7333; or the
.mcp.json block from the site). Restart the agent, then call qa_tabs, which should list
the human's tabs. If it says "not connected", the popup bridge is off or the token/
port differ.

STEP 5 · drop the manual into the project
Run "npx qiksy-mcp init" in the project root. It writes the full agent guide to
.claude/qiksy-bridge.md and adds a short block to CLAUDE.md / AGENTS.md, so every
future session starts knowing what the bridge can do.

STEP 6 · Playwright over CDP (optional, and only for two things)
Qiksy drives the browser itself: clicks, whole forms, calendars, uploads, several
logins. The only gaps are SCREENSHOTS and arbitrary JavaScript. If the task needs one
of those, launch Chrome with --remote-debugging-port=9222 (or reuse the open window),
keep it OPEN and LOGGED IN, and point Playwright MCP at http://localhost:9222.

THEN: qa_tabs -> qa_export (forms with MEANING + live findings) -> drive with
qa_fill_json (a whole step per call) and qa_click by name (needs Pro + "Agent control"
on in the panel). A control that refuses is a ladder, not a wall: qa_probe, raw:true,
qa_pick_*, a CSS selector, and never a second browser driver, which would open an empty
browser without these logins. You cannot undo: a click on a real Delete deletes for
real. If a tool says pro-required or consent-required, name the switch the human must
flip, and stop.
Pega esto en tu agente
You have Qiksy over MCP: a manual-QA extension attached to a REAL Chrome window
with the human's logins already in place. It IS the browser for this session: do not
switch to Playwright, Puppeteer, Selenium or CDP because a control looked unfamiliar
or refused once. Another driver opens a DIFFERENT, EMPTY browser, and none of these
logins are in it, so the run stops being the test that was asked for. Exactly ONE
thing is absent here: arbitrary JavaScript (no eval, a Web Store rule, which is why
every verb names an element, never a program). Screenshots ARE here now
(qa_screenshot), with one condition: the browser photographs the window's ACTIVE tab,
so a background tab cannot be photographed and Qiksy refuses rather than handing over
a page nobody asked about. Need eval? Say so, and let the human decide.

Start with:
  qa_tabs      · which tabs are in the agent session, which are isolated logins
                 (every tool takes tabId)
  qa_snapshot  · the page as an accessibility tree with stable refs; fields_only on a
                 heavy app, geometry:true for every box in CSS pixels
  qa_export    · forms with MEANING (kind: "email" / "card-number" / "first-name"),
                 findings, failed requests WITH the server's error body, repro steps
                 and a NAVIGATION map (labelled routes, current:true on the open page)

Don't scrape the DOM yourself, because qa_export already knows what each field is and where
the app can go. Pick a route from navigation[] and go by href instead of probe-clicking.

A FORM IS ONE CALL PER STEP, never one per field (needs Pro + "Agent control"):
  qa_fill_json { fields: { "Full name": "Ada Lovelace", "Country": "Ukraine",
                           "Start date": "06/11/2024", "I agree": true },
                 advance: "Next" }
It resolves the labels itself, drives custom dropdowns, calendars, cascaders, trees,
tags and time pickers, and presses Next ONLY if every entry landed. Keys that matched
nothing come back with the page's real field names, so your next call fixes itself.

WHEN A CONTROL REFUSES, the ladder, in order. Don't change tool, change rung:
  qa_probe { name }        what this widget is and which verb drives it
  raw: true                write the value straight into its own text input
  qa_pick_date / _time / _range / _path (cascader, tree) / _tags
  a CSS selector           every verb takes one; a portalled popup with no roles
                           (Ant) is MEANT to be driven that way
  qa_click { name }        then read the "widget" verdict in the reply and act on it
  qa_focus_tab             custom popovers only render in the FOREGROUND tab

AFTER ANYTHING THAT NAVIGATES call qa_wait_ready, and press the advance control by
NAME, not by a ref you took before filling: any new snapshot renumbers refs, so an old
one succeeds on the WRONG control. This is the most common way a run goes wrong.

Several logins at once:
  qa_open_isolated { url, sessions: ["admin","member"] }  → one cookie jar per tab
  qa_close_tab { tabIds: [...] }                          → clean up
SSO works with Microsoft, Google and Okta: it is their own browser, and a tab the provider
opens joins the session automatically. A captcha or a 2FA prompt is theirs: stop and say so.

Saw a long form? qa_recipe_save { name }, and the next run replays it a call per step.

Finish with qa_report { path, spec: { title, story, checks:[{id,text,status,evidence}] } }
It is a self-contained HTML file led by YOUR verdicts next to Qiksy's evidence.

You cannot undo. A click on a real Delete button deletes for real. If a tool says
pro-required / consent-required, that is a switch the human must flip: say which
one and stop.
Más a fondo

Herramientas avanzadas para trabajo real con clientes.

Más allá del panel del día a día, Qiksy trae instrumentos más pesados (grabación, informes, RBAC y entrega al desarrollador) para que una sesión de pruebas se convierta en algo que puedes facturar y con lo que un desarrollador puede ponerse a trabajar.

Informes listos para el cliente

Un clic convierte la sesión en un recorrido autocontenido: capturas con el elemento resaltado, pasos de reproducción numerados, mosaicos de cobertura y de defectos. El artefacto que le entregas a un cliente; no hace falta ningún backend.

Grabador de sesión y HAR

Una línea de tiempo que atraviesa las navegaciones, con miniaturas y el registro de red de cada paso. Exporta un informe de error completo y reproducible, o un HAR sin cabeceras, sin nada sensible que limpiar.

Roles y multi-login

Guarda la autenticación como roles con nombre y luego ejecuta admin, member y anónimo en pestañas distintas de un mismo navegador. Prueba el RBAC en minutos, sin entrar y salir de las cuentas.

Bug Capsule

Empaqueta un error en una única página reproducible, con la captura del elemento, la cola de la consola, las peticiones fallidas, el selector y el entorno, para que el desarrollador lo reproduzca a la primera.

Modo seguimiento

Usa la aplicación y ya está: Qiksy mira tus clics y marca los errores, los clics muertos, los clics de rabia y las respuestas lentas, cada uno clavado a la acción exacta y listo para pegar como informe de error.

Entrega al agente

Dale el paquete qa-export/v1 en bruto a tu agente de código. Claude Code, Cursor o cualquier cliente MCP lee tus hallazgos, la estructura de los formularios y las peticiones fallidas directamente del navegador y los arregla.

Todo esto es gratis y seguirá siéndolo: relleno de formularios, hallazgos, auditorías, el Tour, multi-login, la grabación de sesiones, las cápsulas de error y el informe para el cliente. Pro es una sola cosa: el puente MCP, el enlace por el que tu agente de código lee este navegador y lo conduce. Cada instalación recibe 28 días de puente, sin tarjeta.

Del mismo taller

Hace pareja con MultiLogin Tabs.

Los roles y el multi-login de Qiksy manejan varias cuentas dentro de una misma sesión de pruebas, sobre el mismísimo motor de aislamiento que MultiLogin Tabs. Cuando lo que necesitas es que cada pestaña del navegador tenga una cuenta distinta, todo el día, coge la extensión completa.

MultiLogin Tabs

MultiLogin Tabs Extensión complementaria

Usa varias cuentas del mismo sitio en una sola ventana del navegador, sin incógnito y sin perfiles aparte. Asigna cada pestaña a una sesión con nombre y tendrá su propio entorno totalmente aislado.

Cookies · incl. HttpOnlylocalStorageIndexedDBCache Storage
697 usuariosHerramientas para desarrolladores100% local · sin telemetría
Añadir MultiLogin Tabs, gratis
Qiksy:Build FAST, Test SMART

Prueba más rápido. Informa mejor.

Instala Qiksy, abre la aplicación que estés probando y pulsa Fill. Desde ahí sigue Qiksy.

Añadir a Chrome, gratis

Manifest V3 · tus datos se quedan en tu equipo · sin telemetría

¿Quieres que tu agente de código trabaje también? Consigue una licencia de 1 año por 49 USD

Sigue la construcción

Construimos Qiksy a la vista: herramientas nuevas, avances reales y algún tropiezo. Recibe la nota corta cuando salga algo.