DWFX Review — דוקומנטציה

מערכת AI לבקרת תכן אוטומטית · מהוד הנדסה + מכון בקרת הבנייה

מה זה?

מערכת AI לבקרת תכן אוטומטית. שני לקוחות: מהוד הנדסה (כבישים ומחלפים — תכנון פיזי וגאומטריה) ומכון בקרת הבנייה (בניינים — בטיחות אש, מיגון, יציבות, סניטרי, נגישות, חניונים). בודקת שרטוטים (DWF/DWFX/PDF/DWG) מול תקנות ותקנים ישראליים ומפיקה דוח בקרה מקצועי.

ניתוח אוטומטי

OCR + חילוץ שכבות, מידות וטקסט משרטוטים

AI Council

GPT-4.1 + Gemini + Claude — שלושה מודלים בודקים כל כלל

דוחות מקצועיים

HTML, DOCX, PDF — בפורמט מכון בקרה

דשבורד ניהולי

סטטיסטיקות, גרפים, סינון, ספרייה, פרויקטים

ארכיטקטורה

שרטוטים
Parsers
OCR
Classification
AI Council
Reports

רכיבים עיקריים

רכיבטכנולוגיהתיאור
ServerNode.js 20, ExpressAPI + Static serving
FrontendVanilla JS SPA~2,200 שורות, dashboard.js
OCRAzure Document Intelligenceחילוץ טקסט מ-PDF/תמונות
ParsersCustom Node.jsDWFX, DWF, W2D, DXF
AI CouncilGPT-4.1 + Gemini + Claude CLIשלושה מודלים בודקים כל כלל — הצבעה + authority
ReportsCustom CJS generatorsHTML + DOCX (via docx npm) + PDF (via Gotenberg)
Process ManagerPM2dwfx-review v7.2.0
Reverse Proxynginx + Let's EncryptSSL, no-auth

תהליך עבודה

  1. העלאת שרטוטים — DWFX, DWF, DXF, PDF → data/projects/{name}/uploads/
  2. פענוח פורמט — Parsers מחלצים שכבות, טקסטים ומידות
    • DWFX = XPS format (לא PDF!)
    • W2D = בינארי Autodesk, מיפוי מקלדת עברית (a=ש, s=ד)
  3. OCR — Azure Document Intelligence סורק דפים → reviews/{id}/cache/
  4. סיווג — זיהוי סוג דרך, מהירות תכן, דיסציפלינות (Phase 0.5)
  5. ציטוטים — Azure DI OCR על ספריית הנחיות → citations_index.json (Phase 6)
  6. AI Council — GPT-4.1 + Gemini + Claude בודקים כל כלל. הצבעה + authority + cross-validation
    • Verdicts: PASS FAIL HASHLAMA
  7. הפקת דוחות — HTML + DOCX + PDF אוטומטית

Stack & קבצים חשובים

מבנה תיקיות

/opt/dwfx-review-test/ ├── src/ # קוד (2.5M) │ ├── server.js # Express, API, scan orchestration │ ├── main.js # Pipeline orchestration │ ├── phase05_classify.js # Classification, OCR heuristics │ ├── phase9_checklist_review.js # AI Council, prompts │ ├── generate_report.cjs # Report JSON + cleanup │ ├── ocr/ # Azure DI, Gemini OCR │ ├── detectors/ # finding_crops, smart_zoom │ └── report/ # HTML/DOCX/PDF renderers ├── public/ # dashboard + landing (37M) ├── scripts/ # utilities ├── data/ │ ├── config/ # companies, disciplines, checklists │ ├── templates/ # HTML/DOCX templates │ ├── library/ # 2.5G הנחיות ותקנים │ └── projects/ # חפץ_חיים + Masarik20BatYam ├── .env ├── ecosystem.config.cjs └── package.json
חשוב: package.json מוגדר כ-"type": "module" — סקריפטים מותאמים חייבים להיות .cjs

API Endpoints

EndpointMethodתיאור
/api/projectsGET/POSTרשימת פרויקטים / יצירה
/api/projects/:id/reviewPOSTהפעלת סריקה
/api/projects/:id/reviews/:revGETתוצאות סריקה
/api/libraryGETעץ ספרייה
/api/disciplinesGETרשימת דיסציפלינות
/api/analyticsGETסטטיסטיקות
/api/healthGETבדיקת בריאות
/data/projects/...GETהגשת קבצים סטטיים

מאגר הנחיות

שני מאגרים נפרדים — כל PDF עובר Azure OCR → אינדוקס → citations_index.json

לקוחתיקיותדוגמאות
מהוד הנדסה14נת"י כרכים 1-3, מעקות, מהירויות, סימון ותמרור
מכון בקרה22הוראות נציב, ת"י 1220, נגישות, מיגון

Parsers & OCR

פורמטים נתמכים

פורמטParserהערות
DWFXXPS unzip + page extractionXPS format — לא PDF! mutool/pymupdf לא עובדים
DWF (W2D)w2d_text_extractor.cjsבינארי, מיפוי מקלדת עברית
PDFAzure Document IntelligenceOCR + טקסט נקי
DXFCustom parserשכבות + entities
W2D Hebrew Decoding: טקסט בפורמט W2D מקודד כמיפוי מקלדת — jank → חשמל, ,fbh, → תכנית. ה-extractor מבצע דה-קוד אוטומטי.

הפקת דוחות

שלושה פורמטים

DOCX RTL: ספריית docx v9.5.1 מתעלמת מ-bidiVisual. חייבים post-processing עם fix_docx_xml.py — unzip, inject XML, rezip.

4 סוגי ממצאים

פרויקטים

חפץ חיים — מחלף כביש 40

סוג

כביש ראשי, מחלף

דיסציפלינה

תכנון פיזי וגאומטריה

לקוח

מהוד הנדסה

סטטוס

scan 011 — נשלח

120 כללים → 79 תקין 3 לא תקין 38 השלמת נתונים

מסריק 20 — בניין מגורים בת ים

סוג

בניין מגורים

דיסציפלינה

בטיחות אש

לקוח

מכון בקרת הבנייה

סטטוס

ממתין לסריקה חדשה

101 כללים — calibration deployed, ממתין לסריקה חדשה

ספריית הנחיות ותקנים

כל PDF עובר Azure OCR → אינדוקס → ציטוטים מדויקים בדוח.

מהוד הנדסה — 14 תיקיות

קטגוריהתוכן
גאומטריה כרך 1-3הנחיות לתכנון גאומטרי של דרכים בין-עירוניות
מהירויותטבלאות מהירות תכן, NTI parameters
מעקות ומאחזי ידת"י, הנחיות נת"ע
סימון ותמרורתקנות והנחיות 2024

מכון בקרה — 22 תיקיות

קטגוריהתוכן
כיבוי אשהוראות נציב, ת"י 1220 חלקים 1-6
מיגוןהנחיות פיקוד העורף
נגישותת"י 1918, תקנות נגישות
חניוניםת"י 2279, הנחיות

Deploy & תשתית

שירותכתובת
שרת46.101.119.52 (DigitalOcean, 16GB RAM, Ubuntu 24)
TESTport 3810, PM2: dwfx-test, /opt/dwfx-review-test/
PRODport 3800, PM2: dwfx-review, /opt/dwfx-review/
Gotenberglocalhost:3001 (PDF export)
RAGFlowכבוי (שוחרר 4.3GB RAM)

פקודות שימושיות

# Restart pm2 restart dwfx-test # TEST pm2 restart dwfx-review # PROD — requires approval # View logs pm2 logs dwfx-test --lines 100 # Regenerate report cd /opt/dwfx-review-test node src/generate_report.cjs "data/projects/PROJECT" "NNN"

מלכודות נפוצות

כללי עבודה