Przebiegi, do których skrypt nie sięgnie: twoja sesja, twoja przeglądarka.
Tam, gdzie przepływ jest już oskryptowany, Playwright robi swoje i mówimy to wprost. Tam, gdzie nie jest, pusta przeglądarka musi się najpierw zalogować: staging klienta za SSO, stan, do którego doszedłeś ręcznie, strona, na której stoisz w tej chwili. Ta już tam jest.




Człowiek prowadzi. Qiksy patrzy.
Każde narzędzie w stylu „AI przetestuje aplikację za ciebie” rozbija się o te same skały. Qiksy omija wszystkie trzy, zostawiając cię za kierownicą i pomagając na każdym kroku.
Problem logowania znika
SSO, MFA i captcha zabijają autonomicznych agentów. Ty jesteś już zalogowany i na właściwym ekranie, więc Qiksy po prostu pomaga dalej.
Działa od razu na dowolnej stronie
To nakładka, nie integracja. Wrzuć ją na dowolną aplikację webową, czy to narzędzie wewnętrzne, staging czy produkcję, i działa. Bez SDK, bez pipeline’u.
Uczciwie, a nie magicznie
„AI nie przegapi błędu” to obietnica, która pęka przy pierwszym przegapieniu. „Przypomina o przypadkach brzegowych i łapie naruszenia, kiedy testujesz” to obietnica, której dotrzymujemy.
Pięć kroków, każdy jednym kliknięciem.
To cały przebieg pracy, od otwarcia strony do przekazania poprawki programiście albo agentowi AI.
Rozpoznaj
Qiksy skanuje każdy formularz i pokazuje, co zrozumiał z każdego pola: etykietę, typ, ograniczenia. Przejrzystość, której można zaufać.
Wypełnij
Jedno kliknięcie wrzuca spójny scenariusz: Poprawna persona, Brzegowy (maksymalne długości, unicode), Niepoprawny (zepsute formaty, próba XSS) albo Wyczyść. Nie śmieci z fakera.
Łap
Kiedy klikasz, naruszenia płyną same: błędy konsoli, nieudane żądania z treścią odpowiedzi serwera oraz problemy z WCAG AA i znacznikami.
Kopiuj
Każde znalezisko kopiuje się jako gotowe do wklejenia zgłoszenie błędu, z selektorem, krokami odtworzenia, zrzutem ekranu i środowiskiem w załączniku.
Przekaż
Wyeksportuj całą sesję dla agenta AI albo wygeneruj raport-przewodnik gotowy dla klienta. Pętla poprawek zamyka się sama.
Pełny kokpit QA w panelu bocznym.
Wszystko bezpłatne i wszystko włączone od pierwszej minuty, nagrywanie sesji i raporty też. Pro to jedna rzecz: most do twojego agenta kodu.
Mądre wypełnianie formularzy
Dane spójne z personą (pasujące adresy e-mail, powtórzone hasła, poprawne opcje krajów) w polach natywnych, we własnych widżetach ARIA, czyli datepickerach i comboboxach z Radix albo shadcn, a nawet w wysyłce plików: neutralny obrazek albo dokument, dopasowany do tego, co pole przyjmuje.
Znaleziska na żywo
Błędy konsoli, wyjątki JS, nieobsłużone odrzucenia i nieudane żądania sieciowe, zbierane od document_start, odsiane z duplikatów, filtrowane po wadze.
Audyt strony, WCAG AA
Kontrolki bez etykiet, przyciski bez dostępnej nazwy, za słaby kontrast, zepsute obrazki, powtórzone id, brak lang, dodatnie tabindex. A przez most agenta (1.6): wbudowany silnik reguł <b>axe-core</b>, przejście trasą Taba, które wypisuje, czego użytkownik klawiatury nigdy nie osiągnie, oraz sprawdzenie, czy powiadomienia faktycznie docierają do czytników ekranu.
Obserwator wysyłki
Wiąże próbę wysłania z nieudanymi żądaniami, natywną walidacją, aria-invalid i komunikatami błędów, i podaje prawdziwą treść, a nie samo „nieprawidłowe”.
Nagrywanie sesji
Oś czasu przez wszystkie przejścia: każde odwiedzenie strony ze swoimi znaleziskami, logiem sieci i miniaturą zrzutu. Wyeksportuj błąd, HAR albo raport.
Role i RBAC
Zapisz logowanie dla danego adresu jako nazwaną rolę (cookies, także HttpOnly, localStorage, sessionStorage) i przywróć ją, żeby przetestować admina, zwykłego użytkownika i gościa.
Czyta styl, nie tylko strukturę
Wyliczony kolor, typografia, odstępy i zmienne CSS w zasięgu. Dzięki temu „ten przycisk rysuje się jako #3B82F6 przy 15px” to fakt, który zderzysz z projektem, a nie mrużenie oka nad zrzutem ekranu.
Arsenał wartości brzegowych
Prawy przycisk na dowolnym polu daje niegrzeczne łańcuchy BLNS, fałszywe nazwiska, liczby graniczne, próby wstrzyknięć i testowe karty Stripe, dobrane do rodzaju pola.
Skarbiec danych testowych
Nazwane persony dla każdej strony: zastosuj, edytuj jako JSON, wyeksportuj i zaimportuj, żeby podzielić się z zespołem. Zapisz obecne wartości formularza jednym kliknięciem.
Wrogie pliki do pól wysyłki
Podczep plik zerobajtowy, taki na 12 MB, PNG nazwany .pdf, nazwę pliku na 255 znaków albo SVG ze skryptem w środku. To pomysł niegrzecznych łańcuchów przeniesiony na kontrolkę, która psuje się najczęściej.
Podświetl i obejrzyj
Kliknij dowolne znalezisko, żeby przygasić stronę i obrysować element. Wskaż dowolny element, żeby dostać jego selektor, rolę ARIA, dostępną nazwę i style.
Wypełnia dowolny widżet
Nie tylko pola input. Prowadzi combobox ARIA, datepickery, przełączniki, suwaki, kontrolki segmentowe i edytory tekstu jak prawdziwy użytkownik, także pola kontrolowane przez Reacta i te w Shadow DOM, w modalach, zakładkach i akordeonach.
Łapie nie tylko zepsute, ale i wolne
Układ, który skacze przy wczytywaniu, przycisk, który odpowiada po sekundzie, zacięcie przy otwieraniu menu: wszystko odczytane z własnych pomiarów przeglądarki, razem z elementem, który się przesunął, i skryptem, który zablokował wątek. Progi Core Web Vitals, więc znalezisko stąd zgadza się z Lighthouse.
Jeden plik do zgłoszenia
Sesja zamienia się w samodzielny raport HTML: kroki ze zrzutami, znaleziska z selektorami, nieudane żądania z własną treścią błędu serwera. Podaj kryteria akceptacji i swój werdykt do każdego, a raport zacznie właśnie od nich. Bez konta, bez linku, bez wysyłania czegokolwiek: albo go załączasz, albo usuwasz.
Pokaż, nie opowiadaj
Poproś agenta o przejście, a nie o raport. Bierze kartę, na którą właśnie patrzysz, przechodzi przebieg w twojej własnej zalogowanej sesji i przygasza stronę, obrysowując każdy element z podpisem: krok 3 z 6. Przegląd, który klient widzi na żywo, a nie zrzuty, w które musi uwierzyć.
Przetestuj awarię, której serwer ci nie da
Każ jednemu żądaniu odpowiedzieć tak, jak potrzebujesz: 500, pusta lista, brakujące pole w odpowiedzi, trzydzieści sekund ciszy, zerwane połączenie. Ścieżek błędów nikt nie sprawdza, bo działający backend nie chce się zepsuć na żądanie, a „zamockuj pierwsze wywołanie, drugie przepuść” to jedyny sposób, żeby dowieść, że ponowienie faktycznie ponawia. Jedna linia, bez wybierania folderu, i przetrwa odświeżenie. Agent sam to ustawi i sam wyczyści.
Twój język, nie tylko angielski
Panel mówi w siedmiu językach (English, Deutsch, Español, Polski, Português, Русский, Українська) i przy pierwszym uruchomieniu bierze Twój z przeglądarki; przełącznik w popupie to nadpisuje, gdy maszyna jest w jednym języku, a zespół pracuje w innym. Znaleziska i zgłoszenia błędów celowo zostają po angielsku: trafiają do systemu zgłoszeń, który czyta programista z innego kraju.
Dowód, nie tylko znaleziska
Cała strona jako jeden obraz, choćby najdłuższa, ze strzałkami, ramkami i podpisami wtopionymi w plik. Albo ekran nagrany do MP4, które otworzy się wszędzie, z Twoim głosem. Nic nie jest przechowywane: żyje, póki jest na ekranie.
Formularz, który wypełniasz dwadzieścia razy w tygodniu
Wypełnij go raz ręcznie, przy włączonym nagrywaniu. Potem to jedno naciśnięcie: te same wartości, ta sama trasa, te same kroki kreatora, i zatrzymanie wszędzie tam, gdzie człowiek i tak musiałby spojrzeć.








Nagraj tak, jak pracujesz
Naciśnij Nagrywaj i wypełnij formularz jak zwykle: ręcznie, przyciskiem ⚡ Fill albo i tak, i tak. Naciśnij Stop i nadaj nazwę. Nic w twoim sposobie pracy nie musi się zmieniać.
Powtórka to jedno naciśnięcie
Wartości wracają do tych samych pól, a Dalej danego kroku naciska się samo. Jeśli pojawi się pole, którego strona już nie ma, przebieg zatrzymuje się, a werdykt NAZYWA to pole: zielone „gotowe” nad w połowie pustym formularzem jest gorsze niż uczciwa porażka.
Idzie trasą, którą przeszedłeś
Przepływ rzadko mieści się na jednej stronie: kolejny krok kreatora, przekazanie do logowania, strona płatności w cudzej domenie. Powtórka idzie tą samą trasą w tej samej karcie, i na każdej granicy stron czeka na twoje Kontynuuj, bo dopiero co wczytana strona to nie miejsce, żeby pisać bez pytania.
Ten sam przepływ, inne dane
{ } otwiera dane przebiegu jako zwykłą listę pól: zmień adres e-mail, datę, nazwę firmy; 🎲 wypełni je świeżymi, wiarygodnymi wartościami. Jedno nagranie wystarcza na przebieg regresji, a polu wysyłki pliku możesz dać własny plik.
Haseł w nim nie ma
Hasła i numery kart zapisywane są jako pola, nigdy jako wartości, bo scenariusz to plik, który można wyeksportować i wysłać. Powtórka zatrzymuje się na takim polu i prosi, żebyś wpisał je sam, a zaimportowanemu scenariuszowi przed pierwszym uruchomieniem odbierane są wszystkie adresy wychodzące poza jego własną witrynę.
Raport to jest ta praca. Reszta to sposób, żeby do niego dojść.
Nikt nie utrzyma ośmiu znalezisk w głowie do końca dnia, więc się ich nie zapisuje: lądują na czacie jako zrzuty i pół zdania. Tutaj dokument wypełnia się w chwili, gdy coś się zauważy: wiersz własnymi słowami, wycięty kawałek strony, usterka z tym, co się stało i co powinno. Na koniec jedno naciśnięcie, i wychodzi samodzielna strona HTML, którą drukuje się do PDF.








Kosztuje jeden ruch, nie wieczór
Myśl przychodzi, gdy klikasz po aplikacji, i kosztuje jedno pole oraz Enter. Osiem myśli to osiem naciśnięć. Na tym polega cała różnica między raportem pisanym w trakcie a składanym wieczorem z pamięci.
Obraz to dowód, nie ozdoba
Bez niego dokument się nie zbuduje. Strona twierdzeń o aplikacji, która nie pokazuje żadnego z nich, to dokładnie to, co to narzędzie zastępuje. A nazwa zrzutu nie jest wydawana dwa razy: pod znaleziskiem nigdy nie znajdzie się obraz innej chwili.
Nic nie jest wypalone na stałe
Strzałki, tekst i przycięcie są przechowywane jako DANE obok czystego obrazu: przesuń strzałkę jutro, a zmieni się każdy raport, który tę nazwę wymienia. Dokument jest odbudowywany z własnych bloków, więc poprawienie jednego słowa nie oznacza budowania całości od nowa.
Godzinę później wciąż tu jest
Gotowe raporty zostają w rozszerzeniu pod nazwą: otwórz, wydrukuj, zapisz albo weź jako kształt następnego. A gdy przeglądarce kończy się miejsce, mówi o tym i zachowuje twoją pracę, zamiast po cichu ją wyrzucić.
Dwie ręce, jeden raport
I tego nie ma nic innego na tej stronie. Ten sam szkic jest dostępny dla twojego agenta przez most: qa_draft czyta wiersze, qa_draft_add dopisuje, qa_draft_edit przepisuje, qa_draft_build zamienia to w dokument. Ty robisz zdjęcie zepsutej sumy, agent pisze pod nim znalezisko. Albo on zbiera dowody, kiedy ty testujesz dalej, a ty na koniec dopracowujesz sformułowania. To nie dwa raporty do uzgodnienia, tylko jeden stos i dwie ręce.
Jedno wywołanie zamiast dziewięćdziesięciu pięciu
Ten sam formularz z 94 polami, wypełniony dwa razy, i obie strony mówią przez MCP, tak jak Twój agent naprawdę prowadzi przeglądarkę. Qiksy zużywa jedno wywołanie. Playwright MCP zużywa dziewięćdziesiąt pięć.
Nic tu nie jest spowolnione ani przyspieszone. Oba sterowniki to prawdziwe serwery MCP i oba działają na tej samej przeglądarce i tej samej karcie: qiksy-mcp po swoim lokalnym WebSockecie i @playwright/mcp podpięty przez CDP, czyli w wariancie dla niego hojnym, bo sam z siebie najpierw podnosi pustą przeglądarkę. Strona mierzy się sama, od pierwszego klawisza do wysłania, a stanowisko leży w repozytorium i możesz je uruchomić sam.
I uczciwa część, bo i tak sprawdzisz to sam. Wobec napisanego wcześniej skryptu Playwright przegrywamy: to kod w Twoim własnym procesie testowym, bez agenta i bez protokołu, i wypełnia ten formularz w około 0,4 s. Dokładnie to porównanie stało na tej stronie do dziś i było niewłaściwe, bo biblioteka to nie most. Wobec Playwright MCP, który agent naprawdę trzyma w ręku, liczby powyżej to mediana z trzech przebiegów. I jeszcze jedno, czego nie ukrywamy: Playwright MCP ma również czasownik zbiorczy, browser_fill_form, i z nim ten sam formularz wchodzi w około 0,7 s w dwóch wywołaniach, tyle że tę listę dziewięćdziesięciu czterech pól i ich typów agent musi zbudować sam. Nasz bierze prosty słownik etykieta → wartość i resztę rozstrzyga sam, a wywołanie pozostaje jedno, czy formularz ma dziesięć pól, czy dwieście.
Szybkość to mniejsza połowa. Większa to pytanie, w czyjej przeglądarce to działa.
Twój agent już umie otworzyć adres: to jedna linijka w powłoce i trafia do przeglądarki, w której jesteś zalogowany. Czego nie umie, to zobaczyć, co się otworzyło, ani czy strona się wczytała, ani czy nadal jesteś zalogowany, ani co mówi błąd. Playwright umie patrzeć, ale tylko w przeglądarce, którą sam uruchomił, z pustym profilem, w którym nigdy się nie logowałeś. To te dwie połowy, między którymi wszyscy wybierają.
| Jak otwiera się strona | Czyja przeglądarka | Agent widzi stronę | Agent w niej działa |
|---|---|---|---|
open <url>, zwykła powłoka | Twoja, już zalogowana | Nie | Nie |
| CDP / Playwright | Własna, pusty profil | Tak | Tak |
| Qiksy | Twoja, już zalogowana | Tak | Tak |
Qiksy to ten wiersz, który ma jedno i drugie. Nigdy nie uruchamia przeglądarki i nigdy nie zabiera ci okna: pracuje w karcie, którą już masz otwartą, i właśnie dlatego sesja, którą czyta, jest prawdziwa, z twoimi rolami, twoimi uprawnieniami, środowiskiem staging za SSO i kontem klienta, którego nie odtworzysz w świeżym profilu.
Jeden panel. Każdy ruch QA.
Formularze, znaleziska, audyty, role, pokrycie i pełna historia sesji w jednym kokpicie prowadzonym z klawiatury. Ciemny albo jasny, z dowolnym akcentem; złota błyskawica zostaje podpisem.


























Przekaż cały kontekst QA swojemu agentowi od kodu.
Neutralny wobec dostawców serwer MCP pozwala Claude Code, Cursorowi, Cline, Windsurfowi, Zed albo VS Code czytać żywy stan QA wprost z przeglądarki: znaleziska z selektorami CSS, rozpoznane formularze, nieudane żądania z treścią odpowiedzi serwera, zapisane kroki odtworzenia. Powiedz „napraw to, co Qiksy znalazł na tej stronie”, a agent ma już wszystko. Może też prowadzić własne powierzchnie Qiksy, czyli otworzyć panel, uruchomić audyt, wyciągnąć listę pokrycia albo wygenerować raport, a kiedy włączysz Agent control, także testowaną aplikację. Domyślnie wyłączone: prowadzisz ty, dopóki sam nie zdecydujesz inaczej.
npx qiksy-mcp📦 Published on npm · npmjs.com/package/qiksy-mcp →Wszystko, co twój agent może zrobić w przeglądarce, którą już masz otwartą.
Bez drugiej przeglądarki, bez ponownego logowania, bez utraconej sesji. Czytanie jest bezpłatne i nie wymaga zgody; działanie to jeden przełącznik, który przestawiasz sam.
Widzi
Bezpłatnie · bez zgody- Strona jako drzewoKażda kontrolka, punkt orientacyjny i nagłówek ze swoją rolą, nazwą i stanem, plus trwały odnośnik, na którym można działać.
- Prawdziwa geometriaKażdy prostokąt w pikselach CSS. Właśnie tak mówi „ucięte”, „nachodzi na siebie”, „cel dotknięcia 28px”, bez żadnego zrzutu ekranu.
- Style i tokeny projektoweWyliczony styl i to, z którego tokenu wziął się kolor.
--accent, a nie samorgb(37,99,235). - Co się faktycznie zepsułoBłędy konsoli i JS, nieudane żądania z treścią błędu serwera, szybkość i przeskoki układu.
- Pamięć aplikacjilocalStorage i sessionStorage: flagi funkcji, zapisany stan, token sesji.
- Dostępność na poważniePełny silnik axe-core w żywej stronie, a do tego trasa klawiatury sprawdzona Tab po Tabie.
- Obraz całej stronyOd góry do dołu, choćby najdłuższej: przewija, fotografuje ekran po ekranie i skleja. Hasła i pola kart są wcześniej zasłaniane.
- Tabela, nie stronaNazwij wiersze i kolumny, każdą pozycję z ceną, każde pole z tym, co w nim teraz jest, i to jedna odpowiedź zamiast tuzina odczytów.
- Co stanie się dalejObserwuje przez kilka sekund, więc komunikat, który pojawia się i znika, żądanie z timera czy zapowiedź dla czytnika ekranu nie giną. Każda obserwacja wygasa sama.
- Szukanie wewnątrz zrzutuKażde słowo strony jest zapisane niewidocznie nad własnymi pikselami, więc Ctrl+F działa w obrazie. To nie rozpoznawanie: tekst nigdy nie zginął.
Działa
Pro · Agent control- Wypełnia dowolny formularzCały krok kreatora jednym wywołaniem: podajesz wartości jako JSON, a on sam dopasowuje etykiety.
- Każdy rodzaj widżetuAnt, MUI, Radix, react-select, downshift: listy, kalendarze, kaskady, drzewa, tagi, czas, każde ze swoim własnym czasownikiem.
- Klika, pisze i odpowiada różnicąCo się pojawiło, co się zmieniło, co to kliknięcie właśnie otworzyło, więc nigdy nie musi zgadywać, czy się udało.
- Loguje się przez Microsoft, Google, OktaTo twoja przeglądarka: zwykle jesteś już zalogowany, a karta, którą otwiera dostawca, sama dołącza do sesji.
- Kilka logowań narazJeden słoik cookies na kartę, jedna przeglądarka, żadnego drugiego profilu: admin, użytkownik i gość obok siebie.
- Wysyła prawdziwe plikiPo ścieżce z twojego komputera, wszystkie załączniki jednego kroku naraz, a bajty nigdy nie wchodzą do kontekstu agenta.
- Nawiguje i czekaPrzechodzi na trasę i czeka, aż strona się uspokoi, przed następnym ruchem. Tylko w kartach, które podłączyłeś.
Pokazuje i pamięta
Dla ciebie, nie do logu- Wysuwa kartę przed ciebiePodnosi okno i obrysowuje element, o którym mówi: przejście, które dzieje się tam, gdzie patrzysz.
- Pamięta długi formularzZapisuje przebieg jako przepis po nazwach pól, a w następnej sesji go odtwarza: wywołanie na krok zamiast rozpoznawania od nowa.
- Podaje ci artefaktJeden samodzielny raport HTML: najpierw twoje kryteria akceptacji, dowody pod każdym z nich.
- Dowód, który da się załączyćCała strona jako jeden obraz, z wtopionymi strzałkami i podpisami, albo nagranie ekranu w MP4, które otworzy się wszędzie, z Twoim głosem.
- Nagranie, które się czytaWideo przychodzi z momentami strony: kliknięcia po nazwie, nieudane żądania z odpowiedzią serwera, co usłyszał czytnik ekranu. Kliknij jeden, a wideo tam skoczy.
Żadnych zrzutów ekranu. Ma pomiary, nie obraz, więc „czy to wygląda dobrze” to pytanie do twoich oczu. Żadnego dowolnego JavaScriptu. To zasada Chrome Web Store i właśnie dlatego każda komenda nazywa element, nigdy program. Wszystko inne dzieje się w przeglądarce, w której już jesteś zalogowany.




| Narzędzie | Co zwraca |
|---|---|
qa_tabs | Każda karta, którą Qiksy umie przeczytać, razem z informacją, które są odizolowanymi sesjami wielologinowymi, żeby agent mógł porównać, co widzi admin, użytkownik i gość. |
qa_status | Adres + liczby błędów / ostrzeżeń / formularzy + nazwa odizolowanego logowania. Opcjonalnie tabId. |
qa_findings | Znaleziska z selektorami i szczegółami; filtr po severity (all / error / warning). |
qa_export | Pełny pakiet qa-export/v1: znaleziska, nieudane żądania z treściami, struktura formularzy, kroki odtworzenia, środowisko i mapa nawigacji (nazwane trasy, do których agent może przejść po nazwie). |
qa_open_panel | Komenda. Otwórz albo zamknij panel Qiksy i przeskocz do zakładki (znaleziska / przejście / historia …). |
qa_run_audit | Komenda. Uruchom audyt dostępności i znaczników na bieżącym DOM i zwróć znaleziska. |
qa_axe | Komenda. Uruchom wbudowany silnik axe-core, ten sam, który stoi pod Lighthouse, na żywym DOM: setki reguł WCAG A/AA, każde naruszenie z wpływem, tagami WCAG i winnymi selektorami. W całości lokalnie, nic nie wychodzi ze strony. |
qa_focus_walk | Agent control. Przejdź stronę Tab po Tabie i zdaj raport z PRAWDZIWEJ trasy klawiatury: czego użytkownik klawiatury nigdy nie osiągnie, gdzie podejrzewamy pułapkę fokusu i gdzie fokus skacze wbrew układowi. |
qa_tour | Komenda. Lista kontrolna testów eksploracyjnych, materiał pokrycia do pisania przypadków testowych. |
qa_report | Komenda. Wygeneruj samodzielny raport HTML z sesji i zwróć go. |
qa_spotlight | Komenda. Przygaś stronę i obrysuj element po selektorze, żeby było widać, o czym agent mówi. |
qa_focus_tab | Komenda. Wysuwa kartę przed ciebie, aktywuje ją i podnosi jej okno, żeby przejście działo się tam, gdzie patrzysz. Ograniczone do testowanej aplikacji i jej logowań; służy do „pokaż mi”, a nie do wygody agenta. |
qa_tabs podaje dla każdej nazwę isolatedSession i tabId, a qa_export na kartę pokazuje różnicę w tym, co widzi admin, użytkownik i gość. Agent działa też w środku każdego logowania: ten sam tabId idzie do qa_fill_json i qa_click, więc występuje jako ten użytkownik bez drugiej przeglądarki i bez ponownego logowania. Pełna lista narzędzi w README pakietu qiksy-mcp.- W okienku rozszerzenia otwórz MCP bridge, przestaw na On, kliknij Generate, żeby dostać token, wybierz port (domyślnie 7333) i kliknij Save.
- Zarejestruj serwer w edytorze z tym samym tokenem i portem. Token podaje się zmienną środowiskową
QIKSY_MCP_TOKEN.
Serwer to jeden pakiet npx. Każdy edytor używa tej samej komendy; różni się tylko plik, w którym ona siedzi, i kilka kluczy. Wybierz swój poniżej i wklej.
alarms budzą uśpiony service worker, żeby połączył się ponownie. Dla ws://127.0.0.1 nie trzeba zmieniać ani manifestu, ani CSP.# run in your project
claude mcp add --transport stdio qiksy \
--env QIKSY_MCP_TOKEN=YOUR_TOKEN \
-- npx qiksy-mcp --port 7333{ "mcpServers": { "qiksy": {
"command": "npx",
"args": ["qiksy-mcp", "--port", "7333"],
"env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }{ "context_servers": { "qiksy": {
"source": "custom",
"command": "npx",
"args": ["qiksy-mcp", "--port", "7333"],
"env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }{ "servers": { "qiksy": {
"type": "stdio",
"command": "npx",
"args": ["qiksy-mcp", "--port", "7333"],
"env": { "QIKSY_MCP_TOKEN": "YOUR_TOKEN" }
} } }Podłącz to do swojego agenta jednym wklejeniem
Most mówi po MCP, więc każdy sprawny agent (Claude Code, Cursor, Cline, Windsurf, Zed, VS Code) może czytać żywy stan QA, a przy włączonym Agent control działać w sesji, w której już jesteś zalogowany.
Full documentation
Install, the panel, isolated logins, the MCP bridge and all twenty-two tools, agent control, troubleshooting.
Read the docs →Spis narzędzi
Wszystkie dwadzieścia dwa narzędzia z parametrami i odpowiedziami, trzy bramki i konfiguracja dla każdego edytora.
Read on npm →Instrukcja dla agenta
Pełny prompt do skopiowania: jak zacząć przebieg, jedna zasada, która trzyma wielostronicowe przebiegi w ryzach, i czego agent nie ma prawa udawać.
Read on npm →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.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.Zaawansowane narzędzia do prawdziwej pracy z klientem.
Poza codziennym panelem Qiksy wozi cięższe instrumenty (nagrywanie, raportowanie, RBAC i przekazanie programiście), żeby sesja testowa stała się czymś, co można zafakturować i na czym dev może działać.
Raporty gotowe dla klienta
Jedno kliknięcie zmienia sesję w samodzielne przejście: podświetlone zrzuty, numerowane kroki odtworzenia, kafle pokrycia i defektów. Artefakt, który wręczasz klientowi; bez żadnego backendu.
Nagrywanie sesji i HAR
Oś czasu przez wszystkie przejścia, z miniaturami zrzutów i logiem sieci przy każdym kroku. Wyeksportuj pełne zgłoszenie do odtworzenia albo HAR bez nagłówków, w którym nie ma czego czyścić.
Role i wiele logowań
Zapisz logowania jako nazwane role, a potem prowadź admina, użytkownika i gościa w osobnych kartach jednej przeglądarki. Przetestuj RBAC w kilka minut, bez wylogowywania się w tę i z powrotem.
Kapsuła błędu
Zapakuj błąd jako jedną stronę do odtworzenia, ze zrzutem elementu, ogonem konsoli, nieudanymi żądaniami, selektorem i środowiskiem, żeby programista odtworzył go za pierwszym razem.
Tryb podążania
Po prostu używaj aplikacji, a Qiksy patrzy na twoje kliknięcia i zgłasza błędy, martwe kliknięcia, kliknięcia ze złości i wolne odpowiedzi, każde przypięte do konkretnej akcji jako gotowe zgłoszenie.
Przekazanie agentowi
Podaj surowy pakiet qa-export/v1 swojemu agentowi od kodu. Claude Code, Cursor albo dowolny klient MCP czyta twoje znaleziska, strukturę formularzy i nieudane żądania wprost z przeglądarki i je naprawia.
To wszystko jest bezpłatne i takie zostanie: wypełnianie formularzy, znaleziska, audyty, Przejście, wiele logowań, nagrywanie sesji, kapsuły błędów i raport dla klienta. Pro to jedna rzecz: most MCP, łącze, którym twój agent kodu czyta tę przeglądarkę i ją prowadzi. Każda instalacja dostaje 28 dni mostu, bez karty.
Chodzi w parze z MultiLogin Tabs.
Role i wiele logowań w Qiksy prowadzą kilka kont w jednej sesji testowej, na tym samym silniku izolacji, co MultiLogin Tabs. Kiedy potrzebujesz, żeby każda karta w przeglądarce trzymała inne konto przez cały dzień, weź pełne rozszerzenie.
MultiLogin Tabs Rozszerzenie towarzyszące
Kilka kont tej samej strony w jednym oknie przeglądarki, bez incognito i bez osobnych profili. Przypisz każdą kartę do nazwanej sesji i dostanie własne, w pełni odizolowane środowisko.

Testuj szybciej. Zgłaszaj mądrzej.
Zainstaluj Qiksy, otwórz dowolną testowaną aplikację i naciśnij Wypełnij. Dalej Qiksy bierze to na siebie.
Dodaj do Chrome, bezpłatnieManifest V3 · twoje dane zostają lokalnie · bez telemetrii
Chcesz, żeby pracował też twój agent kodu? Weź licencję na rok za 49 USD