رضا.
بازگشت به پروژه‌ها

دستیار جستجوی فایل‌های سازمانی

Windows COM PyMuPDF Security PIN
دستیار مدیریت اسناد

معرفی و هدف اصلی

یک دستیار هوشمند دسکتاپ برای فهرست‌سازی عمیق، جستجو، پیش‌نمایش و مدیریت اسناد سازمانی پراکنده روی درایوهای محلی و شبکه‌های اشتراکی (UNC).

پشته فناوری

پایتون، pywebview، pymupdf (برای اسناد PDF) و Windows COM Objects (برای ارتباط با هسته سیستم‌عامل).

منطق فنی و قابلیت‌های کلیدی

  • معماری چند-ریشه‌ای (Multi-Root Architecture): سیستم می‌تواند به طور همزمان پوشه استقرار خود (AUTO_ROOT) و ده‌ها مسیر شبکه‌ای یا محلی دیگر را با بالاترین سرعت از طریق os.scandir پویش کند.
  • استخراج چندبُعدی و ارتباط با هسته ویندوز: استخراج متن خالص از فایل‌های Word، پردازش سریع فایل‌های PDF توسط موتور قدرتمند MuPDF، و مهم‌تر از همه، استفاده از رابط برنامه‌نویسی COM ویندوز (win32com.client) برای استخراج فراداده‌های پنهان فایل‌ها (نظیر Tags، Authors و Title).
  • امنیتی مبتنی بر PIN و قفل زمانی (Lockout Security): تنظیمات برنامه توسط یک کد PIN محافظت می‌شود. برای جلوگیری از حملات حدس رمز (Brute-Force)، از متد امنیتی hmac.compare_digest استفاده شده و پس از ۵ بار تلاش ناموفق، دسترسی مدیر به مدت ۶۰ ثانیه قفل می‌شود.
  • تزریق مستقیم داده به فرانت‌اند (Direct Data Injection): برای رسیدن به بالاترین سرعت اجرای رابط کاربری، بک‌اند پایتون پایگاه داده را مستقیماً در قالب یک فایل جاوااسکریپت (window.__DB__) می‌نویسد که باعث می‌شود مرورگر در کسری از ثانیه هزاران سند را رندر کند.
  • همگام‌سازی ایمن و هم‌زمانی (Concurrency Control): سیستم برای جلوگیری از اجرای همزمان چند پردازش سنگین پویش، از قفل مبتنی بر سوکت شبکه (UDP Socket) روی پورت ۴۷۲۰۰ و Lock File محلی استفاده می‌کند.

جریان کار (Pipeline)

graph LR A[پویش همزمان شبکه‌ها و درایوها] --> B[خواندن متن اسناد و متادیتا از هسته ویندوز] B --> C[انتقال مستقیم داده‌ها به رابط کاربری] C --> D[نمایش بی‌درنگ و جستجوی فایل‌ها]