Show HN: Argus, agentic QA for teams whose coding agents move faster than QA Argus, a new agentic QA tool for teams whose coding agents outpace traditional testing, lets users describe a test in plain language and deploys five AI agents—Validator, Comprehender, Explorer, Strategist, and Executor—to autonomously explore a UI in a Playwright browser, returning structured reports with screenshots and timelines. Built on Playwright and supporting localhost and private-network apps, Argus is source-available, local-first with SQLite storage and no telemetry, and requires Python 3.11+, uv, Node.js 20.19+ or 22.12+, and a Gemini API key for real runs. The tool is available at argustest.com and can be self-hosted, with a live run view streaming each agent's reasoning and actions. AI agents that test your UI like a real user — no scripts to write, no selectors to maintain. Argus is a visual UI testing agent. Describe a test, point it at an HTTP S page, and watch it inspect the page in an isolated Playwright browser context. Runs, timelines, screenshot references, and structured reports are captured automatically. Argus finds the bugs you didn't write tests for.Point it at a page, describe what "working" looks like, and an autonomous agent explores your UI the way a real user would — clicking, typing, scrolling — then hands you a structured report with screenshots and a timeline. No test scripts to maintain, no flaky selectors to babysit. Agentic, not scripted — the agent reasons about the page and adapts, it doesn't replay a fixed script Fits your stack — built on Playwright, works against localhost and private-network apps Zero setup ceremony — start testing in minutes The fastest way to run Argus: no install, no API keys to manage, nothing to self-host. Get started at argustest.com https://argustest.com/ . A run isn't a single model call — it's five agents handing off to each other, and you can watch each one work in the live run view: Validator — checks the target URL and test description are actually testable before a run starts. Comprehender — reads the test description and breaks it into distinct test cases. Explorer — crawls the app first, mapping out pages and the actions available on each. Strategist — turns the map and test cases into a concrete step-by-step plan. Executor — runs the plan in a real browser: navigating, typing, clicking, and confirming outcomes as it goes. Nothing happens in a black box — each agent streams its reasoning as it works, down to individual actions like "Navigating to /companies" or "Confirming 'Airbnb' is on the page," so you see the app get mapped, the plan get built, and the test get executed, live. A test is just a description of intent — Argus figures out how to interact with the page. For example, pointed at Y Combinator's site: Target: https://www.ycombinator.com Test the startup directory. 1. From the homepage, navigate to the companies/startup directory. 2. Search for a well-known YC company by name e.g. "Airbnb" and confirm it appears in the results. 3. Filter the directory by a specific batch e.g. "Winter 2024" and confirm the listed companies update to match. 4. Open a company's profile from the results and confirm its name, one-line description, batch, and website link all render correctly. 5. Navigate back to the directory and confirm the search/filter state behaves as expected — either preserved or reset, whichever the page is designed to do. 6. Resize the viewport to 375px width and confirm the nav collapses into a mobile menu, and the directory list stays scrollable and usable with no overlapping elements. Fail the test if the known company doesn't appear in search results, if the batch filter doesn't actually filter the list, if a company profile is missing expected fields, or if the mobile layout breaks. Argus runs this like a person would — clicking through the flow, reading the page to judge success or failure — and returns a timeline, screenshots at each step, and a pass/fail report with the reasoning behind it. Argus is source-available and fully local-first — SQLite storage, no telemetry, your data and screenshots never leave your machine. Prefer to self-host? Follow the steps below. - Python 3.11+, , and Node.js 20.19+ or 22.12+ uv - A Gemini API key https://aistudio.google.com/app/apikey for real runs cp .env.example .env Set GEMINI API KEY in .env uv sync --dev uv run playwright install chromium cd frontend && npm install && npm run build && cd .. uv run uvicorn argus.app:app --reload --env-file .env Open http://localhost:8000 http://localhost:8000 . For frontend hot reload, run npm run dev in frontend/ alongside Uvicorn and open http://localhost:5173 http://localhost:5173 . Configuration is environment-only: | Variable | Default | Purpose | |---|---|---| GEMINI API KEY | — | Required for real execution | GEMINI MODEL | gemini-2.5-flash | Gemini REST model | ARGUS DATA DIR | data | SQLite and screenshot directory | ARGUS HEADLESS | true | Playwright browser mode | ARGUS RUN TIMEOUT | 300 | Run timeout in seconds | Argus accepts normal HTTP S targets, including trusted localhost and private-network apps. It rejects credentials and sensitive query parameters in target URLs, and never stores provider secrets, typed browser values, or inspected page content. The settings screen only shows whether provider configuration is present. cp .env.example .env Set GEMINI API KEY in .env docker compose up --build The UI is available at http://localhost:8000 http://localhost:8000 and persistent data is written to ./data . uv run pytest uv run ruff check argus tests uv run pyright argus tests cd frontend && npm run typecheck && npm run lint && npm run build argus/runtime : provider-neutral agent, message, tool, and session boundary argus/providers/gemini.py : raw httpx Gemini REST/SSE adapter no provider SDK argus/pipeline.py : planning, one browser agent, evidence capture, and reporting argus/store.py : SQLite runs, events, screenshots, and reports argus/app.py : REST API, reconnectable per-run WebSockets, and built UI serving frontend : dashboard/composer, live session, history, report, and read-only settings API docs are available at /docs . All data is local; there is no authentication or multi-user isolation in this release. Argus is source-available under the Argus Source-Available License 1.0 ASAL-1.0 /argus-testing/argus/blob/main/LICENSE . Individuals & Small Teams < 100 members : Free to use, modify, and self-host for both commercial and non-commercial purposes. Enterprises 100+ members : Requires a commercial license. Contact us at licensing@argustest.com mailto:licensing@argustest.com to get set up.- Releases automatically convert to the MIT License after 3 years.