The vibe-testing agent for web applications.
Explorbot explores your web app like a curious human would — clicking around, filling forms, finding bugs, and learning as it goes. No test scripts required. Just point it at your app and let it work.
explorbot start https://your-app.comExplorbot is your first assitant in testing. It will do its best to use your application with no babysitting. It will use application and provide you valuable feedback.
- Autonomously test web application or its parts
- Discover test scenarios and get automated tests for them
- Write manual test cases from exploring website
- 24h/7d of monkey-testing for web application that can reveal hidden errors
- Quick-test for MVPs and prototypes
Explorbot can start testing features which were not covered by unit tests or browser tests.
- Bun (not Node.js)
- AI provider API key — Groq, Cerebras, OpenAI, or Anthropic
- Modern terminal — iTerm2, WARP, Kitty, Ghostty. WSL if running on Windows
- Compatible web app — Check docs/prerequisites.md to verify your app works with Explorbot
1. Install dependencies
bun install
bunx playwright install2. Initialize config
explorbot init3. Edit explorbot.config.js — set your app URL and AI provider:
Important
Use fast, lightweight models. Explorbot agents make many rapid API calls. Expensive SOTA models (GPT-5, Claude Opus) are overkill — slow and costly. Stick with gpt-oss-20b or similar. Recommended providers (100+ TPS): Groq, Cerebras. See complete list for fastest models on OpenRouter
Groq is used in this example but you can use any provider supported by Vercel AI SDK. See docs/providers.md for other providers.
import { createGroq } from '@ai-sdk/groq';
const groq = createGroq({
apiKey: process.env.GROQ_API_KEY, // Set in .env file (loaded automatically)
});
export default {
playwright: {
browser: 'chromium',
url: 'https://your-app.com', // <-- Your app URL
},
ai: {
provider: groq,
model: 'gpt-oss-20b', // Fast model with tool use
visionModel: 'llama-scout-4', // Fast vision model
},
};4. Add knowledge (optional but recommended)
If your app requires authentication, tell Explorbot how to log in:
# Interactive mode
explorbot know
# Or via CLI
explorbot know "/login" "Use credentials: admin@example.com / secret123"Note
Use * as URL pattern to add general knowledge that applies to all pages. See docs/knowledge.md for more.
5. Run
explorbot start /admin/usersStart from a small functional area of your app (admin panel, settings, any CRUD section) so Explorbot can quickly understand its business purpose and context.
Browser runs headless by default — use --show to see it:
explorbot start /settings --showRequires a modern terminal (iTerm2, WARP, Kitty, Ghostty, Windows Terminal). On Windows, use WSL.
Explorbot explores websites, analyzes their UI, and proposes tests — which it can then execute. It controls its own browser through CodeceptJS → Playwright (no MCP involved).
flowchart LR
N[🧭 Navigator] --> R[🔍 Researcher] --> P[📋 Planner] --> T[🧪 Tester]
Pi[🎯 Pilot] -.->|supervises| T
| 🧭 Navigator | 🔍 Researcher | 📋 Planner | 🧪 Tester |
|---|---|---|---|
| Opens pages | Analyzes UI | Generates test scenarios | Executes tests |
| Clicks buttons, fills forms | Discovers all interactive elements | Assigns priorities (HIGH/MED/LOW) | Adapts when things fail |
| Self-heals broken selectors | Expands hidden content | Balances positive & negative cases | Documents results |
Run /explore in TUI or use explorbot explore from CLI to watch the cycle: research → plan → test → repeat.
Supporting components:
- Pilot — supervises Tester, detects stuck patterns, asks user for help when needed
- Historian — saves sessions as CodeceptJS code, learns from experience
- Quartermaster — analyzes pages for A11y issues (axe-core + semantic)
- Reporter — sends test results to Testomat.io
Once in the terminal UI:
/explore # Full cycle: research → plan → test
/research # Analyze current page
/plan # Generate test scenarios
/test # Run next test
/navigate /settings # Go to a page
You can also run CodeceptJS commands directly:
I.click('Login')
I.fillField('email', 'test@example.com')
I.see('Welcome')
See docs/commands.md for all commands.
Note
Most TUI commands also have CLI equivalents that run headless and exit. For example, explorbot research <url> and explorbot plan <path> work without launching TUI. See docs/commands.md for the full mapping.
| Output | Location | Description |
|---|---|---|
| Test files | output/tests/*.js |
CodeceptJS tests you can run independently |
| Test plans | output/plans/*.md |
Markdown documentation of scenarios |
| Experience | ./experience/ |
What Explorbot learned about your app |
Interactive mode — Launch TUI, guide exploration, get real-time feedback:
explorbot start https://your-app.comAutonomous mode — Non-interactive testing and planning:
explorbot explore /admin/usersStrategic decisions are deterministic — The workflow (research → plan → test) is predictable and consistent.
Tactical decisions are AI-driven — How to click that button, what to do when a modal appears, how to recover from errors.
ExplorBot learns from its failures - it uses previous experience interacting with a web page for faster and better decision on next runs
Explorbots needs your knowledge - you adjust Explorbot prompts by passing suggestions, UI explanatins, domain knowledge, in format of text filesm which are loaded when corresponding page loaded.
Thus, when tuned, Explorbot can run autonomously for hours navigating web application and trying different scenarios over UI. You don't need to watch it. Explorbot execution is fully autonomous. The more Explorbot runs the more it learns and can test more complex scenarios.
- Knowledge (
./knowledge/) — Tell Explorbot about your app: credentials, form rules, navigation quirks. See docs/knowledge.md. - Experience (
./experience/) — Explorbot learns automatically from successful interactions and saves what works.
- docs/prerequisites.md — Application compatibility checklist
- docs/commands.md — Terminal command reference
- docs/knowledge.md — Knowledge system and URL patterns
- docs/providers.md — AI provider configuration
- docs/agents.md — Agent descriptions and capabilities
- docs/scripting.md — Building custom autonomous scripts
- docs/observability.md — Langfuse tracing and debugging
- docs/page-interaction.md — How agents interact with pages
Can I run it in Cursor? or Claude Code? No, Explorbot is a separate application designed for constant testing. Cursor, Codex, or Claude Code are coding agents — not relevant here.
Why do you hate Opus? Opus is great for coding. Here we need a simple model that can consume lots of HTML tokens to find the relevant ones. Leave more interesting tasks to Opus.
Is that expensive? No. It costs ~$1 per hour of running if you use Groq Cloud with gpt-oss-20b.
Does Explorbot have MCP? Not yet.
Can I build my own agents with it? Yes, use the programmatic API. See docs/scripting.md.
Ok, but I can do the same in Cursor with Playwright MCP! Good luck running it on CI! Also, you'll need to check on it every 10 seconds to see how it's running the browser.
Explorbot learns as it explores. The more it tests your app, the better it gets at testing your app. That's vibe-testing.

