Q-ACE: תשתית לבדיקות מבוססת סוכנים
מנוע סוכני בינה מלאכותית מודולרי למשימות הבטחת איכות (QA), בנוי עם FastAPI וספקי LLM מודרניים. Q-ACE הופך כלי QA סטנדרטיים לסוכנים חכמים המסוגלים לניתוח, אימות ותזמור אוטומטי.
🚀 תכונות עיקריות
- ארכיטקטורה מודולרית: הפרדה נקייה בין תזמור ה-
core, ה-handlersללוגיקת הכלים, ה-providersל-LLMs, וה-toolsלביצוע ברמה נמוכה. - בקרת גישה מבוססת תפקידים (RBAC): מערכת התחברות מאובטחת עם תפקידי
adminו-tester, לניהול הרשאות לכלים ספציפיים ואנליטיקה. - סוכנים מבוססי בינה מלאכותית:
- סוכן דפדפן (Browser Agent): אוטומציית אינטרנט ברמה גבוהה עם משוב בזמן אמת וניתוח AI.
- סוכן מסדי נתונים (Database Agent): ביצוע שאילתות בשפה טבעית עם אימות תוצאות על ידי AI.
- סוכן REST API: אינטראקציה חכמה עם נקודות קצה של REST לשליפה, יצירה, עריכה ואימות נתונים באמצעות הנחיות בשפה טבעית.
- סוכן מחולל בדיקות (Test Generator Agent): יצירה אוטומטית של מקרי בדיקה מקיפים (פונקציונליות, אבטחה וכו') ממפרטים טכניים תוך שימוש בטכניקות בדיקה מתקדמות.
- אינטגרציה מורחבת של כלים (בשלבי הטמעה):
- פלייסהולדרים מובנים עבור Jenkins, GitHub Actions, Jira, Slack, Qase, Postman, ו-GitHub.
- החלפת ספקי LLM: תמיכה ב-Google Gemini, Ollama מקומי, OpenAI, Anthropic, DeepSeek ועוד.
- ניהול Ollama משולב: ניהול שרת ה-Ollama המקומי שלך (הפעלה/עצירה/סטטוס) ישירות מהממשק.
- ממשק משתמש מודרני: מרכז תזמור מבוסס צ'אט פרימיום ורספונסיבי.
🛠 ️ מבנה הפרויקט
core/: מתזמר, ניהול הקשר (Context), רישום כלים, כלי עזר לאימות (Auth), ולקוח LLM.handlers/: שכבת הלוגיקה עבור הכלים (SQLite, API, מנתח מפרטים, דפדפן ופלייסהולדרים).providers/: מימושי ספקי LLM (Gemini, Ollama).tools/: פלאגינים לביצוע ברמה נמוכה.static/: פרונטנד מודרני ב-HTML/JS (Alpine.js, TailwindCSS).data/: מסדי נתונים של SQLite (auth.db), מפרטי בדיקה, ותיעוד/היסטוריה של סוכן הדפדפן.main.py: נקודת הכניסה לאפליקציית FastAPI.
🚦 התחלה מהירה
1. דרישות קדם
- Python 3.9+
- Ollama (עבור תמיכה ב-LLM מקומי)
- Google API Key (עבור תמיכה ב-Gemini)
2. הגדרה אוטומטית
פשוט הרץ את המתקין המצורף. הוא יטפל בסביבות וירטואליות (כולל ה-.venv הייעודי של סוכן הדפדפן), תלותיות ואתחול מסד הנתונים:
install.bat
3. הרצת השרת
הפעל את השלדה לאחר ההתקנה:
run.bat
פתח את http://localhost:8090 בדפדפן שלך.
🌐 תיעוד ייעודי
- מדריך לסוכן דפדפן: הגדרה, קונפיגורציה ותכונות אוטומציה.
- מדריך לסוכן מסדי נתונים: טקסט ל-SQL, מסדי נתונים לדוגמה ואימות.
- מדריך לסוכן REST API: אינטראקציה וניתוח API בשפה טבעית.
- מדריך למחולל בדיקות: ניתוח מפרטים ויצירת מקרי בדיקה.
🔐 אימות ותפקידים
השלדה משתמשת באימות מבוסס JWT. השתמש ב-init_auth_db.py להגדרת משתמשים ראשוניים:
- מנהל (Admin): גישה מלאה לכל הכלים ואנליטיקה ניהולית.
- בודק (Tester): גישה מוגבלת לכלים שהוקצו (למשל, API, SQLite).
🧪 הרחבת השלדה
הוספת Handler
Handlers מנהלים את הלוגיקה ברמה הגבוהה ואת הגדרת ממשק המשתמש עבור כלי. צור קובץ חדש ב-handlers/ היורש מ-BaseHandler.
הוספת Tool
Tools מספקים את שכבת הביצוע (למשל, ביצוע בקשת ה-HTTP בפועל). צור קובץ חדש ב-tools/ היורש מ-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": "..."}
נבנה ב-❤️ על ידי עתיד האוטומציה