123 lines
6.0 KiB
Markdown
123 lines
6.0 KiB
Markdown
# SmartAssistant - עוזר חכם
|
|
|
|
**גרסה:** 1.0.1 | **מחבר:** klear | **EspoCRM:** >= 8.0.0
|
|
|
|
## תיאור
|
|
עוזר AI מאוחד למשרד עורכי דין. מספק ממשק צ'אט צף עם שני מצבי עבודה: **מצב משרד** (סקירה כללית, התראות, סטטיסטיקות) ו**מצב תיק** (סיוע מעמיק בתיק ספציפי). כולל מערכת זיכרון תיק מובנית, ביצוע פעולות באישור המשתמש, ואינטגרציה עם Stream של EspoCRM.
|
|
|
|
מחליף את CrmAssistant + OfficeAssistant (deprecated).
|
|
|
|
## תלויות
|
|
- Webhook חיצוני (n8n או דומה) לעיבוד AI
|
|
- NetworkStorageIntegration / NextCloudIntegration (אופציונלי — לניתוח מסמכים)
|
|
|
|
## התקנה
|
|
1. התקנה דרך Admin > Extensions
|
|
2. הגדרת Webhook: Admin > Integrations > Smart Assistant
|
|
|
|
## הגדרות אינטגרציה
|
|
|
|
| שדה | תיאור | דוגמה |
|
|
|------|--------|--------|
|
|
| webhookUrl | כתובת Webhook לשירות AI | `https://n8n.example.com/webhook/assistant/chat` |
|
|
| apiKey | מפתח אימות (אופציונלי) | `sk-...` |
|
|
| maxMessagesPerHour | הגבלת קצב הודעות | `30` |
|
|
| inactivityWarningDays | סף אזהרה לחוסר פעילות בתיק | `14` |
|
|
| inactivityCriticalDays | סף קריטי לחוסר פעילות | `30` |
|
|
| upcomingHearingDays | חלון דיונים קרובים (ימים) | `7` |
|
|
|
|
## אנטיטי: CaseMemory — זיכרון תיק
|
|
|
|
מאגר ידע מובנה לכל תיק, מחולק לקטגוריות:
|
|
|
|
| קטגוריה | תיאור |
|
|
|----------|--------|
|
|
| key_facts | עובדות מפתח |
|
|
| strategy | אסטרטגיה |
|
|
| decisions | החלטות |
|
|
| contacts_notes | הערות על אנשי קשר |
|
|
| timeline | ציר זמן |
|
|
| documents_notes | הערות על מסמכים |
|
|
| billing_notes | הערות חיוב |
|
|
|
|
**מקורות:** ידני (manual), עוזר AI (assistant), אוטומטי (auto — hooks)
|
|
|
|
**רמות חשיבות:** low, normal, high, critical
|
|
|
|
## רכיבים
|
|
|
|
### Backend (PHP)
|
|
|
|
| רכיב | קובץ | תיאור |
|
|
|-------|------|--------|
|
|
| Controller | `Controllers/SmartAssistant.php` | API endpoints |
|
|
| שירות ראשי | `Services/SmartAssistantService.php` | תזמור צ'אט, שיחות, פעולות |
|
|
| בונה הקשר תיק | `Services/CaseContextBuilder.php` | אוסף נתוני תיק מלאים (אנשי קשר, משימות, מסמכים, זיכרון) |
|
|
| בונה הקשר משרד | `Services/OfficeContextBuilder.php` | סטטיסטיקות, התראות, עומס עבודה |
|
|
| מחשבון התראות | `Services/AlertCalculator.php` | זיהוי תיקים לא פעילים, משימות באיחור, דיונים קרובים |
|
|
| מבצע פעולות | `Services/ActionExecutor.php` | ביצוע פעולות שאושרו (משימה, פתק, דיון, שינוי סטטוס) |
|
|
| שירות זיכרון | `Services/CaseMemoryService.php` | CRUD לזיכרון תיק |
|
|
| ספק הקשר זיכרון | `Services/CaseMemoryContextProvider.php` | הזרקת זיכרון להקשר AI |
|
|
| מאגר שיחות | `Services/ConversationRepository.php` | שמירה ואחזור שיחות |
|
|
| מנתח מסמכים | `Services/DocumentAnalyzer.php` | סריקת מסמכים וסיווג |
|
|
|
|
### Hooks
|
|
|
|
| Hook | תיאור |
|
|
|------|--------|
|
|
| `Case/CaseFieldChangeMemory` | יצירת זיכרון אוטומטית בשינוי שדות תיק (סטטוס, שופט, דיון) |
|
|
| `Meeting/HearingScheduledMemory` | יצירת זיכרון בקביעת דיון חדש |
|
|
|
|
### Frontend (JavaScript)
|
|
|
|
| רכיב | תיאור |
|
|
|-------|--------|
|
|
| `floating-chat.js` | ממשק צ'אט צף (FAB) עם מגירת היסטוריה וזיכרון |
|
|
| `dashlets/smart-assistant.js` | דשלט עם מדדים והתראות |
|
|
| `stream/notes/smart-request.js` | תצוגת הודעת משתמש ב-Stream |
|
|
| `stream/notes/smart-response.js` | תצוגת תשובת עוזר ב-Stream |
|
|
| `stream/notes/smart-action.js` | תצוגת פעולה שבוצעה ב-Stream |
|
|
| `case/modals/add-memory.js` | מודל להוספת זיכרון ידנית |
|
|
| `site/navbar.js` | אינטגרציית התראות בסרגל ניווט |
|
|
|
|
## API Routes
|
|
|
|
| נתיב | Method | תיאור |
|
|
|-------|--------|--------|
|
|
| `/SmartAssistant/action/chat` | POST | שליחת הודעה לעוזר |
|
|
| `/SmartAssistant/action/execute` | POST | ביצוע פעולה שאושרה |
|
|
| `/SmartAssistant/action/summary` | GET | סיכום משרדי + התראות |
|
|
| `/SmartAssistant/action/alerts` | GET | רשימת התראות |
|
|
| `/SmartAssistant/action/history` | GET | היסטוריית שיחות |
|
|
| `/SmartAssistant/action/conversations` | GET | רשימת שיחות אחרונות |
|
|
| `/SmartAssistant/action/conversationMessages` | GET | הודעות שיחה ספציפית |
|
|
| `/SmartAssistant/action/searchHistory` | GET | חיפוש בשיחות |
|
|
| `/SmartAssistant/action/caseMemory` | GET | אחזור זיכרון תיק |
|
|
| `/SmartAssistant/action/saveMemory` | POST | שמירת זיכרון ידנית |
|
|
|
|
## פעולות עוזר
|
|
|
|
### פעולות מיידיות (ללא אישור)
|
|
- `list_documents` — רשימת מסמכים בתיק
|
|
- `save_memory` — שמירת זיכרון תיק
|
|
|
|
### פעולות הדורשות אישור
|
|
- `create_task` — יצירת משימה
|
|
- `add_note` — הוספת הערה
|
|
- `change_status` — שינוי סטטוס תיק
|
|
- `create_meeting` — יצירת פגישה
|
|
- `schedule_hearing` — קביעת דיון
|
|
- `analyze_document` — ניתוח מסמך
|
|
- `rename_document` — שינוי שם מסמך
|
|
|
|
## מערכת התראות
|
|
|
|
| סוג | סף ברירת מחדל | חומרה |
|
|
|------|----------------|--------|
|
|
| תיק לא פעיל | 14 יום | אזהרה |
|
|
| תיק לא פעיל | 30 יום | קריטי |
|
|
| משימה באיחור | תאריך יעד עבר | קריטי |
|
|
| דיון קרוב | 7 ימים | אזהרה |
|
|
| תיק ללא שיוך | חדש ללא assignedUser | אזהרה |
|
|
| משימה בעדיפות גבוהה | 5 ימים | אזהרה |
|