This repository has been archived on 2026-07-19. You can view files and clone it. You cannot open issues or pull requests or push a commit.
chaim 65faf99e11 feat(2.10.0): Shira management UI — prompts, rules, memory, skills in EspoCRM
Make every text artifact that goes into Shira's system prompt editable from
the EspoCRM admin UI, with code-level defaults kept as a safety floor.

* AssistantRule + CaseMemory: flip `tab: true` so admins can browse/edit from
  the navbar. No longer invisible.

* New entity AssistantPrompt — one row per prompt section (tool_rules,
  writing_style, legal_assistance, personality_case, personality_office,
  other_rules_case, other_rules_office). Edits in the UI override the
  in-code defaults; an inactive or missing row falls back to code.
  Seeded on install with the current Python defaults via AfterInstall.

* New entity UserProfile — replaces /opt/data/profiles/{uid}.md. ACL is
  own/all/no so each lawyer sees their own, admins see all. Injected into
  the prompt's '=== ABOUT THIS USER ===' block.

* New entity AssistantSkill — replaces /opt/data/skills/. Tab-visible.
  Context provider returns metadata only; full body fetched on demand.

* 3 new ContextProviders (AssistantPrompt, UserProfile, AssistantSkill)
  injected into context by SmartAssistantService::chat at the same point
  AssistantRule has been injecting since 2026-05-27.

* 3 new Controller classes (one-liner extends Record) — without these
  EspoCRM returns 404 on the REST endpoint even when scopes/entityDefs
  are correct. Same pattern as the AssistantRule fix in 2.9.2.

* New custom view smart-assistant:views/fields/prompt-editor — monospace
  font, dir=auto for mixed RTL/LTR, taller textarea. Used by all three
  long-text content fields.

* New admin panel 'ניהול שירה' that groups all five surfaces (prompts,
  rules, skills, user profiles, case memory) under one Admin section.

* Hebrew labels for all new scopes added to fa_IR/Global.json.

Paired with shira-hermes (separate commit): prompt_builder.py refactored
to read each section from context['assistantPrompts'] with code defaults
as fallback; save_memory tool now goes through SmartAssistant/action/executeTool
so CaseMemory actually gets populated instead of dropping 'm Notes.

Migration script scripts/migrate_legacy_memory_notes.py in shira-hermes
moves existing 'm Notes into CaseMemory rows (one-shot, idempotent).

Refs Task Master none — schema additions, no destructive changes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 08:33:49 +00:00
2026-04-25 21:19:25 +00:00

SmartAssistant - עוזר חכם

גרסה: 2.8.0 | מחבר: klear | EspoCRM: >= 8.0.0

תיאור

עוזר AI מאוחד למשרד עורכי דין. מספק ממשק צ'אט צף עם שני מצבי עבודה: מצב משרד (סקירה כללית, התראות, סטטיסטיקות) ומצב תיק (סיוע מעמיק בתיק ספציפי). כולל מערכת זיכרון תיק מובנית, ביצוע פעולות באישור המשתמש, ואינטגרציה עם Stream של EspoCRM.

תלויות

  • 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 ימים אזהרה
S
Description
Archived from gitea.marcus1.com
Readme 2.1 MiB
Languages
PHP 76.4%
JavaScript 23.3%
Shell 0.3%