Set up
Runs on your computer. Pick your agent and operating system.
Before you start
- Node.js 20 or newer
{
"mcpServers": {
"qapanda": {
"command": "npx",
"args": [
"-y",
"qapanda"
]
}
}
}same format Cursor, GitHub Copilot CLI, Junie, JetBrains AI Assistant, Augment (Auggie CLI), Factory Droid, Kiro, Devin CLI +12
Values in angle brackets are placeholders. Restart Claude Desktop after editing its config.Claude Desktop docs
README
synced Oct 25, 2026[!WARNING] Official website: qapanda.ai
Any other site or domain with a similar or misleading QA Panda name is not owned by, affiliated with, or endorsed by QA Panda.
Hot Updates
2026-04-24
Latest updates. See the full history in CHANGELOG.md.
- Added lower-cost BYOK/API sessions with prompt caching, native/manual compaction, and batched QA updates.
- Added custom API providers with custom base URLs and API keys, including local/self-hosted models.
- Added Panda Tests as repo-native markdown visual QA tests you run with
qapanda test run, like unit/integration tests but for browser-driven QA. - Added a built-in Review flow for staged, unstaged, or combined git changes directly from the input bar.
- Added image attachments in chat via paste, drag-and-drop, and file picker for Codex and API backends.
- Added a per-agent Browser toggle so any agent can use the shared Chrome DevTools browser for the current run.
- Added external chat import for Codex sessions so they can be continued inside QA Panda.
- Added the VS Code Activity Bar launcher with recent sessions plus one-click new-session and restore entry points.
- Added GPT-5.5 to the supported Codex model list.
- Shipped a broad stability pass across browser binding, screenshot replay, restore/resume, Continue routing, and extension UI reliability.
2026-04-03
- 🧠 Added repo-local App Info plus agent-maintained Memory so agents can start with user-provided app facts, learn how your app works automatically, and reuse that context in later sessions.
2026-04-01
Latest updates. See the full history in CHANGELOG.md.
- 🔥 Added full BYOK API mode with curated provider/model support for OpenAI, Gemini, Anthropic, and OpenRouter.
- 🔐 Kept Codex + your ChatGPT subscription as the primary no-key-required path.
- 🧪 Added live QA progress cards plus cleaner final test summaries.
- 📋 Added a unified QA Report with
This Run/This Session, clickable details, copy actions, and Export PDF. - 🏷️ Renamed user-facing Tasks to Issues and improved test/issue ID visibility across the UI.
- 🧠 Added automatic context compaction plus manual
/compactfor long sessions. - 🐼 Added the animated panda beside the chat input.
Why QA Panda?
- No test scripts to write. Describe what to test in plain English. The AI agent figures out the rest.
- Real browser, real bugs. Not mocking or simulating — it controls headless Chrome and interacts with your actual app.
- Find, fix, and verify in one loop. QA agent finds bugs, Developer agent fixes them, QA re-tests. Fully automated.
- Built-in test & bug tracking. Test cases, run history, kanban board, screenshots — no external tools needed.
- Works with your stack. Extend with any MCP server. Add your own agents. Customize everything.
- Copy the report, paste to Claude Code / Codex / Cursor. Use QA Panda for testing, then hand the bug report to your favorite coding tool to fix.
- Works with your ChatGPT subscription. Powered by Codex CLI — no expensive API tokens needed. Just use your existing ChatGPT Plus/Pro subscription.
- Official home is qapanda.ai. Product site, hosted platform direction, and canonical project links.
- Free and open source. MIT licensed.
What Can It Do?
- AI QA Engineer — Creates test plans, executes them step by step, logs bugs with screenshot evidence, and tracks pass/fail results
- Browser Testing — Headless Chrome with screenshots, DOM inspection, network monitoring, and full page interaction
- Panda Tests — Treat visual QA like unit tests: keep markdown test definitions in git and run them with
qapanda test run - Bug Tracking — Built-in kanban board with task tracking, comments, and progress updates
- Agent Orchestration — Chain agents together: QA finds bugs -> Developer fixes them -> QA re-tests -> repeat until done
- MCP Ecosystem — Extensible with any MCP server (file system, databases, APIs, custom tools)
- Developer Agent — A coding agent that can read your codebase, write fixes, and run tests
Installation
VSCode Extension
Install from the VS Code Marketplace:
- Open VSCode
- Go to Extensions (
Ctrl+Shift+X) - Search for "QA Panda"
- Click Install
Or install from the command line:
code --install-extension qapandaapp.qapanda-vscode
Website: qapanda.ai Official homepage: https://qapanda.ai
Terminal CLI
npm install -g qapanda
CLI + product home: qapanda.ai
Hosted Platform Client Packages
For the hosted-platform integration boundary and the short-term tarball workflow introduced for B-01, see docs/platform-client-safe-packages.md.
For the CommonJS runtime cloud boundary introduced in B-02, see docs/cloud-runtime-boundary.md.
Prerequisites
- Node.js >= 18
- Codex CLI —
npm install -g @openai/codexthencodex login - Google Chrome (optional) — for browser-based testing
The setup wizard checks all dependencies and helps you install anything missing.
Quick Start
VSCode Extension
- Open a project in VSCode
- Click the QA Panda icon in the editor title bar (or
Ctrl+Shift+P→ "QA Panda: Open") - The setup wizard runs on first launch — it checks your environment and gets you ready
- Start chatting: "test my app", "test the login page for bugs", or "run a full QA pass on the signup flow"
Official website and product entry point: qapanda.ai
Terminal CLI
# Interactive shell
qapanda
# One-shot: test something and exit
qapanda run "test the signup form for validation bugs"
# Take a screenshot and report
qapanda run --print --agent QA-Browser "take a screenshot of the homepage"
# Run a full QA pass
qapanda run "do a full QA pass on this app"
# Check your setup
qapanda doctor
More product context and official links: qapanda.ai
Features
Browser Testing with Headless Chrome
QA Panda launches a headless Chrome browser and gives your AI agents full control. They can navigate pages, fill forms, click buttons, take screenshots, inspect the DOM, monitor network requests, and read console output.
You: test the login page
🔍 QA Engineer (Browser)
● Navigating to http://localhost:3000/login
● Screenshot captured: login-page-initial.png
● Testing valid credentials...
● Screenshot captured: login-success-redirect.png
● Testing empty password field...
● Screenshot captured: validation-error.png
● ✅ 4 passed ❌ 1 failed ⏭️ 0 skipped
🐛 Bug: Password field accepts spaces-only input
Severity: medium
Steps: Enter " " in password → form submits instead of showing validation
The Browser tab shows a live screencast of what the agent sees, with navigation controls.
Panda Tests & Test Case Management
QA Panda supports Panda Tests as repo-native markdown files under qapanda-tests/**/*.md. Think of them like unit or integration tests, but for automated visual QA through the qapanda CLI: you keep the test definitions in git, run them with qapanda test run, and agents reuse the same managed runtime records instead of inventing new one-off tests each time.
-
Keep tests in git as markdown files with stable ids, tags, environment, and prompt bodies
-
Run them from the CLI with
qapanda test listandqapanda test run <test-id> -
Reuse the same runtime records so agents update and rerun the existing managed tests instead of creating throwaway duplicates
-
Create tests with descriptions, tags, and steps
-
Run tests with pass/fail/skip results per step
-
Track history — every run is recorded with timestamps and evidence
-
Link bugs — failing tests automatically create bug tickets
-
Re-test — run the same test again after fixes to verify
View all tests in the Tests tab — a board view organized by status (untested, passing, failing, partial).
Bug & Task Tracking
Built-in kanban board for managing bugs and tasks:
- 6 columns: Backlog → Todo → In Progress → Review → Testing → Done
- Bug reports with severity levels (critical, high, medium, low)
- Comments and progress updates on each task
- Linked to tests — bugs reference the failing test step and screenshot evidence
- Drag and drop to move tasks between columns
Agent Orchestration
Three modes for working with agents:
| Mode | How it works | Best for |
|---|---|---|
| Send | Direct message to the selected agent | Quick tasks, specific questions |
| Continue | Controller picks the next step, delegates to an agent, and reports back | Single-pass tasks, iterating on feedback |
| Orchestrate | Controller runs agents autonomously until done | End-to-end testing, complex tasks |
The Loop toggle works with Continue mode — after each Continue pass completes, it automatically sends another one, so the controller keeps driving work forward without you pressing Continue each time. Orchestrate mode already loops automatically until it decides to stop.
Agent Delegation
In Orchestrate mode, the controller can chain agents together. For example, QA finds bugs, then the controller delegates to Developer to fix them, then back to QA to verify:
🎯 Orchestrator
"QA found 2 bugs. Delegating to Developer to fix them."
💻 Developer
"Fixed the validation bug in signup.js and the CSS overflow in navbar.css."
🎯 Orchestrator
"Fixes applied. Delegating back to QA to re-test."
🔍 QA Engineer
● Re-testing signup validation... ✅ PASS
● Re-testing navbar overflow... ✅ PASS
"All bugs verified fixed."
MCP Server Ecosystem
QA Panda comes with built-in MCP servers and supports adding your own:
Built-in:
| Server | Purpose |
|---|---|
| detached-command | Run shell commands safely from agents |
| cc-tests | Test case CRUD, execution, and reporting |
| cc-tasks | Task/bug tracking with kanban workflow |
| chrome-devtools | Browser automation via Chrome DevTools Protocol |
| cc-agent-delegate | Agent-to-agent delegation |
Add your own on the MCP Servers tab — project-level (.qpanda/mcp.json) or global (~/.qpanda/mcp.json). Any MCP server that follows the protocol works (stdio or HTTP).
Example — add a filesystem MCP:
{
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
}
}
Multi-Tab Interface
| Tab | What it does |
|---|---|
| Agent | Chat interface with Send / Continue / Orchestrate controls |
| Tasks | Kanban board for bugs and tasks |
| Tests | Test case board with run history |
| Agents | View and configure AI agents |
| MCP Servers | Add and manage MCP tool servers |
| Browser | Live Chrome screencast with navigation controls |
| Settings | Developer settings and prompt customization |
Smart Setup Wizard
First-time setup detects your environment and helps you get started:
- Codex CLI — checks installation, version, and login status
- Google Chrome — checks installation and version (v120+ for headless debugging)
- Node.js — checks version (v18+ required)
- Auto-fix — click "Fix automatically" to install Codex or log in without leaving the editor
- Manual steps — OS-specific instructions (Windows, macOS, Linux) for manual setup
- Re-check — verify your fixes worked with one click
Standalone Web App
Run the same UI outside VSCode:
npm run web
# Opens at http://localhost:3000
Same features, same agents, same MCP servers — just in a browser tab. Hot-reloads when you change the source code.
Agents
QA Engineer (Browser)
A professional QA engineer that tests web applications using headless Chrome:
- Creates structured test plans before testing
- Takes screenshots before and after every action
- Verifies results visually and via DOM/console/network inspection
- Logs bugs immediately when found — with screenshot evidence
- Covers happy path, edge cases, error states, validation, accessibility, and security basics
- Reports findings with a professional summary
Developer (Secondary)
A software developer agent available for bug fixing and code changes. Works best when paired with QA — the orchestrator can delegate bugs found by QA to the Developer for fixes, then send them back to QA for re-testing.
- Reads and understands your codebase before making changes
- Follows existing patterns, naming conventions, and code style
- Makes focused, minimal changes
Custom Agents
Create your own agents on the Agents tab or in config files:
{
"my-agent": {
"name": "My Custom Agent",
"description": "Does something specific",
"system_prompt": "You are a specialist in...",
"cli": "codex",
"enabled": true,
"mcps": {}
}
}
Save in .qpanda/agents.json (project) or ~/.qpanda/agents.json (global).
Prompt Tags
Use @@filename in any agent's system_prompt to include the contents of a markdown file:
{
"system_prompt": "@@my_custom_prompt"
}
This loads my_custom_prompt.md from .qpanda/prompts/ (project), ~/.qpanda/prompts/ (global), or the built-in prompts/ directory.
CLI
Commands
qapanda # Start interactive shell
qapanda run <message> # One-shot run
qapanda run --print --agent QA-Browser <msg> # Single turn, print result, exit
qapanda resume <run-id> # Resume existing run
qapanda status <run-id> # Show run status
qapanda logs <run-id> # Show recent events
qapanda list # List saved runs
qapanda doctor # Check dependencies
qapanda setup # Run setup wizard
qapanda agents # List available agents
qapanda modes # List available modes
Interactive Shell
/help Show help
/new <message> Start a new run
/resume <run-id> Attach to existing run
/run Continue interrupted request
/status Show run status
/list List saved runs
/agents List available agents
/agent <id> Switch to direct agent mode
/controller-cli [cli] Show or set controller CLI
/worker-cli [cli] Show or set worker CLI
/tasks List tasks
/task add <title> Create a task
/task done <id> Mark task done
/mcp List MCP servers
/config Show current config
/clear Clear and reset
/quit Exit
CLI Options
--agent <id> Direct to specific agent
--mode <id> Select mode (test, dev, dev-test, test-fix)
--controller-model <name> Controller model
--worker-model <name> Worker model
--wait <delay> Auto-continue delay (1m, 5m, 1h, etc.)
--print One-shot mode
--quiet Minimal output
--raw-events Show raw streaming events
Configuration
Project-Level
Place files in .qpanda/ at your project root:
| File | Purpose |
|---|---|
.qpanda/agents.json | Project-specific agents |
.qpanda/mcp.json | Project MCP server configs |
.qpanda/prompts/*.md | Prompt templates for @@tag syntax |
QAPANDA.md | Project instructions appended to controller prompt |
Global
Place files in ~/.qpanda/:
| File | Purpose |
|---|---|
~/.qpanda/agents.json | Global agents (available in all projects) |
~/.qpanda/mcp.json | Global MCP server configs |
~/.qpanda/prompts/*.md | Global prompt templates |
~/.qpanda/settings.json | Global settings |
Workflows
Create reusable workflows in .qpanda/workflows/ or ~/.qpanda/workflows/:
.qpanda/workflows/
my-workflow/
WORKFLOW.md # YAML frontmatter with name + description
Run with /workflow my-workflow in the interactive shell.
Architecture
User Input
→ Codex CLI (controller) decides what to do
→ Codex CLI (worker/agent) executes the task
→ Controller reviews result, loops or stops
State is stored in .qpanda/runs/<run-id>/ with manifests, events, transcripts, and per-request logs.
MCP servers (tasks, tests, detached-command) run as HTTP servers on localhost, auto-injected into every agent session.
Chrome is managed by the extension — launched headless on demand with a debug port for DevTools Protocol access.
Development
# Install dependencies
npm install
# Run tests
npm run test:unit # Unit tests
npm run test:ui # UI tests (JSDOM-based)
npm test # All tests
# VSCode extension
npm run ext:build # Build .vsix package
npm run ext:install # Build + install to VSCode
# Standalone web app (same UI as extension)
npm run web # Start at http://localhost:3000
Cross-Platform Support
QA Panda works on Windows, macOS, and Linux. CI runs on all three platforms with every push.
| Feature | Windows | macOS | Linux |
|---|---|---|---|
| VSCode Extension | ✅ | ✅ | ✅ |
| Terminal CLI | ✅ | ✅ | ✅ |
| Browser Testing | ✅ | ✅ | ✅ |
| Setup Wizard | ✅ | ✅ | ✅ |
| Auto-fix Install | ✅ | ✅ | ✅ |
Requirements
| Dependency | Required | Purpose |
|---|---|---|
| Node.js >= 18 | Yes | Runtime |
| Codex CLI | Yes | AI agent backend |
| Google Chrome | No | Browser testing (recommended) |
| VSCode >= 1.85 | No | Extension UI (CLI works standalone) |
License
MIT