Q-ACE: Agentic QA Framework
Modular AI Agent Engine for Quality Assurance tasks, built with FastAPI and modern LLM providers. Q-ACE transforms standard QA tools into intelligent agents capable of analysis, verification, and automated orchestration.
🚀 Key Features
- Modular Architecture: Clean separation between
coreorchestration,handlersfor tool logic,providersfor LLMs, andtoolsfor low-level execution. - Role-Based Access Control (RBAC): Secure login system with
adminandtesterroles, managing permissions for specific tools and analytics. - AI-Powered Agents:
- Browser Agent: High-level web automation with real-time feedback and AI analysis.
- Database Agent: Natural language query execution with AI verification of results.
- REST API Agent: Intelligent interaction with REST endpoints to fetch, create, edit, and verify data using natural language prompts.
- Test Generator Agent: Automated generation of comprehensive test cases (Functionality, Security, etc.) from specifications using advanced testing techniques.
- Extended Tool Integration (Under Implementation):
- Built-in placeholders for Jenkins, GitHub Actions, Jira, Slack, Qase, Postman, and GitHub.
- LLM Provider Switching: Support for Google Gemini, local Ollama, OpenAI, Anthropic, DeepSeek, and more.
- Integrated Ollama Management: Manage your local Ollama server (Start/Stop/Status) directly from the interface.
- Modern UI: A premium, responsive chat-based orchestration hub.
🛠 ️ Project Structure
core/: Orchestrator, Context Management, Tool Registry, Auth Utilities, and LLM Client.handlers/: Logic layer for tools (SQLite, API, Spec Analyzer, Browser, and placeholders).providers/: LLM provider implementations (Gemini, Ollama).tools/: Low-level execution plugins.static/: Modern HTML/JS frontend (Alpine.js, TailwindCSS).data/: SQLite databases (auth.db), test specs, and Browser Agent documentation/history.main.py: FastAPI application entry point.
🚦 Quick Start
1. Prerequisites
- Python 3.9+
- Ollama (for local LLM support)
- Google API Key (for Gemini support)
2. Automatic Setup
Simply run the provided installer. It will handle virtual environments (including the specialized Browser Agent .venv), dependencies, and database initialization:
install.bat
3. Run the Server
Launch the framework after installation:
run.bat
Open http://localhost:8090 in your browser.
🌐 Specialized Documentation
- Browser Agent Guide: Setup, configuration, and automation features.
- Database Agent Guide: Text-to-SQL, sample databases, and verification.
- REST API Agent Guide: Natural language API interaction and analysis.
- Test Generator Agent Guide: Specification analysis and test case generation.
🔐 Authentication & Roles
The framework uses JWT-based authentication. Use init_auth_db.py to set up initial users:
- Admin: Full access to all tools and administrative analytics.
- Tester: Access limited to assigned tools (e.g., API, SQLite).
🧪 Extending the Framework
Adding a Handler
Handlers manage the high-level logic and UI definition for a tool. Create a new file in handlers/ inheriting from BaseHandler.
Adding a Tool
Tools provide the execution layer (e.g., making the actual HTTP request). Create a new file in tools/ inheriting from BaseTool.
from core.base_tool import BaseTool
class CustomTool(BaseTool):
@property
def name(self): return "custom_tool"
async def execute(self, **kwargs):
return {"status": "success", "data": "..."}
Built with ❤️ by ATID College