Switch to English

תיעוד

כל מה שצריך לדעת על ה-Q-Ace Agentic Framework.

 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 בדפדפן שלך.

🌐 תיעוד ייעודי

🔐 אימות ותפקידים

השלדה משתמשת באימות מבוסס 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": "..."}

נבנה ב-❤️ על ידי עתיד האוטומציה

האם דף זה היה מועיל?