domovoy_bot/services/gis_pdf_pipeline/SPECKIT_PLAN.md

2 KiB
Raw Blame History

🏗️ SPECKIT_PLAN: Архитектура

Модуль 1: Анализатор улик (evidence_analyzer.py)

  • Открывает evidence.png.
  • Использует Gemini Vision API (или локальный OCR) для извлечения сущностей: НОМЕР, ДАТА, СТАТУС.
  • Возвращает словарь метаданных.

Модуль 2: Конвертер и Теггер (pdf_tagger.py)

  • Принимает картинку или документ и метаданные.
  • Для картинок: создает страницу A4, вставляет картинку, сверху через reportlab рисует текстовый блок с метаданными (Header-тег).
  • Для существующих PDF: использует PyPDF2, чтобы "наложить" (watermark) текстовый слой с тегами поверх оригинальной страницы.
  • Для DOCX: использует LibreOffice (headless) или python-docx для первичной конвертации в PDF, затем тегирует.

Модуль 3: Распаковщик (unzipper.py)

  • Безопасная распаковка ZIP во временную директорию (игнорируя мусорные файлы macOS/Windows).

Модуль 4: Сборщик (Merger - pipeline_main.py)

  • Оркестрирует процесс.
  • Проходит по всем каталогам дел в /raw/.
  • Вызывает Модуль 1, затем Модуль 3, затем Модуль 2 для каждого файла.
  • Объединяет все обработанные PDF в единый TOTAL_GIS_ARCHIVE.pdf.

Модуль 5: Google Drive Uploader (gdrive_uploader.py)

  • Использует готовый domovoy_google_creds.json.
  • Ищет файл TOTAL_GIS_ARCHIVE.pdf на Диске. Если есть — обновляет (Update_Media), если нет — загружает (Insert).