feat: multi-robot architecture, car-robot rename, and credit-based OCR logic spec

This commit is contained in:
2026-02-07 02:20:04 +00:00
parent cab8706980
commit d3ce60d69b
17 changed files with 223 additions and 412 deletions

View File

@@ -133,4 +133,16 @@ A fejlesztések rendben tartásához javaslom a **`17_DEVELOPER_NOTES_AND_PITFAL
### 🛠️ Refaktor (Refactor)
- **Modell Konszolidáció:** A korábbi `Vehicle` és `VehicleBrand` modellek beolvasztva az új `Asset` és `VehicleCatalog` struktúrába.
- **Kapcsolati Térkép:** Az `Organization` és `User` modellek frissítve az új Asset logikához.
- **Kapcsolati Térkép:** Az `Organization` és `User` modellek frissítve az új Asset logikához.
## [0.3.5] - 2026-02-07
### ✨ Robot Technológia & Adatbiztonság
- **Multi-Robot Architektúra:** Előkészítve a kategória-specifikus (Car, Bike, Truck) Harvester robotok szétválasztása.
- **Status Tracking:** Bevezetve a `verification_status` a katalógus elemekhez a hiányos adatok kezelésére.
- **SQL Optimalizálás:** Új indexek és kategória alapú szűrések hozzáadva a globális katalógushoz.
## [0.4.0] - 2026-02-07
### ✨ Multi-Robot System
- **Kategória Robotok:** Elkészült a Car, Bike és Truck harvester moduláris szerkezete.
- **Robot Manager:** Központi vezérlő az ütemezett és sorrendi adatgyűjtéshez.
- **Katalógus Kereső:** Üzembe helyezve a `/catalog/search` végpont a Swaggerben.

View File

@@ -82,4 +82,87 @@ Ha a jármű sehol nem szerepel (pl. épített versenyautó, egyedi yacht):
1. **Manuális nyilatkozat:** A felhasználó rögzíti az adatokat.
2. **Dokumentum alapú validáció:** A forgalmi engedély vagy sportigazolvány fotóját kötelező feltölteni.
3. **AI Verifikáció:** A rendszer OCR-rel (szövegfelismerés) kiolvassa az adatokat a fotóról, és összeveti a manuális bevitelével.
4. **"Unverified Model" jelzés:** A katalógusban egyedi azonosítót kap, amíg egy admin vagy a Robot más forrásból meg nem erősíti.
4. **"Unverified Model" jelzés:** A katalógusban egyedi azonosítót kap, amíg egy admin vagy a Robot más forrásból meg nem erősíti.
## 8. Multi-Robot Harvester Architektúra
A rendszer kategóriánként különálló kutató robotokat használ az erőforrások optimalizálása és az adatok pontossága érdekében.
### A) Működési elv
- **Ütemezett futás:** Minden kategória (Autó, Motor, Teher, Hajó) saját időablakban frissít, elkerülve a szerver túlterhelését.
- **Hiányos adatok kezelése:** A Robot köteles rögzíteni a járművet akkor is, ha csak részleges információt talál (pl. csak márka és típus).
- **Státusz jelölések (`verification_status`):**
- `verified`: Teljes DNS adatsor (Robot által hitelesítve).
- `incomplete`: Alapadatok megvannak, de hiányoznak technikai részletek (pl. guminyomás, olaj).
- `pending`: Felhasználó által felvett, Robot általi ellenőrzésre váró egyedi típus.
### B) On-Demand prioritás
Amikor a felhasználó olyan típust keres, ami nem szerepel a katalógusban, a rendszer egy "Priority Trigger"-t küld az adott kategória Robotjának, amely soron kívül megkezdi a célzott adatgyűjtést.
## 9. OCR és Dokumentum Validációs Stratégia
A rendszer a járműokmányok (forgalmi engedély, hajólevél, lajstrom) feldolgozására hibrid OCR (Optical Character Recognition) technológiát alkalmaz.
### A) Hibrid Feldolgozási Sorrend (Failover Logic)
A költséghatékonyság és a pontosság érdekében a rendszer az alábbi sorrendben próbálkozik:
1. **Tier 1 (External Free/Limited APIs):** Ingyenes keretű felhő szolgáltatások (pl. Google Vision API, Azure Form Recognizer). A rendszer figyeli a havi limiteket, és azok elérésekor automatikusan vált a következő szolgáltatóra.
2. **Tier 2 (Saját Erőforrás - Fallback):** Ha minden ingyenes külső keret elfogyott, a rendszer a saját szerveren futó PaddleOCR (AI alapú) modult használja.
### B) Monetizáció és Jogosultságok
A dokumentum alapú automata rögzítés és validáció prémium funkció:
- **Free/Lite:** Manuális rögzítés (limitált mezők).
- **VIP:** Automata rögzítés (OCR) 1-2 eszközre.
- **VIP + / Premium +:** Korlátlan okmányfelismerés, automata lejárati figyelmeztetések és hivatalos adat-összevetés.
## 10. Multi-Robot Harvester (Moduláris Felépítés)
A járműkatalógus feltöltését egy bázis-osztályra (`BaseHarvester`) épülő, kategória-specifikus robotcsalád végzi.
- **Autó Robot:** Közúti gépjárművekre optimalizálva.
- **Motor Robot:** Kétkerekű és hobbi járművekre.
- **Heavy Duty Robot:** Teherautók, kamionok és munkagépek specifikációira.
- **Specialty Robot:** Vízi és légi járművek egyedi azonosítóihoz (MMSI, Lajstrom).
# 🏎️ Asset és Flotta Specifikáció: A Járművek DNS-e (v1.2)
## 7. Kivételkezelés: Ismeretlen és Egyedi Járművek
- **On-Demand Harvester:** Ha a katalógus hiányos, a Robot kérésre (Trigger) indítja a mélykeresést.
- **Custom Asset:** Egyedi/Sport eszközök rögzítése dokumentum alapú validációval.
## 8. Multi-Robot Harvester Architektúra
A rendszer kategória-specifikus (Car, Bike, Truck, Specialty) robotokat használ.
- **Ütemezés:** Éjszakai batch-futás a szerver terhelésének minimalizálására.
- **Státuszok:** `verified` (teljes), `incomplete` (részleges), `pending` (ellenőrzésre vár).
## 9. VIN (Alvázszám) és Validáció
- **Algoritmus:** Minden közúti járműnél kötelező a VIN Checksum (MOD 11) ellenőrzése a beíráskor.
- **Auto-Fill:** Érvényes alvázszám esetén a rendszer felajánlja a gyártói adatok (gyártási év, üzem, motorverzió) automatikus kitöltését.
## 10. Dokumentum Kezelés és Tárolás (NAS)
Minden eszközhöz csatolt dokumentum (forgalmi, fotók, számlák) központi NAS tárolón kerül rögzítésre.
- **Elérési út:** `/mnt/nas/app_data/assets/{asset_id}/`
- **Archiválás:** `/mnt/nas/git_vault/` (Adatbázis mentések és konfigurációk).
## 11. OCR és Üzleti Logika (Tier-based)
A dokumentumfelismerés (OCR) prioritása a felhasználói csomagtól függ:
- **VIP+ / Premium+:** Azonnali (Real-time) OCR feldolgozás. A felhasználó a feltöltés után 3-5 másodperccel már látja az előtöltött adatokat.
- **Alap csomag:** Háttérfolyamat (Background task). A feldolgozás sorban állítás után történik, a felhasználó értesítést kap a befejezésről.
- **Failover:** Külső API-k (Google/Azure) és saját erőforrás (PaddleOCR) hibrid használata a költségkontroll érdekében.
## 12. OCR Monetizáció és Kreditszabályok (Admin Kontroll)
A rendszer az OCR alapú adatbeolvasást kvótákhoz és kreditekhez köti.
### A) Csomag alapú kvóták (Admin beállítás)
Az Admin felületen csomagonként (Lite, VIP, VIP+) meghatározható egy ingyenes havi dokumentum-beolvasási keret:
- **Lite:** 0-1 scan/hó.
- **VIP:** 10 scan/hó.
- **VIP+:** Korlátlan vagy magas limit (pl. 100).
### B) Kreditalapú túllépés
Ha a felhasználó kimerítette a keretét, minden további beolvasás kreditért vásárolható meg.
- **Egységár:** Admin felületről állítható (pl. 1 beolvasás = 10 kredit).
- **Tranzakció:** A rendszer levonja a kreditet a felhasználó `Wallet`-jéből a sikeres OCR feldolgozás után.
### C) Egyedi engedélyek (Permissions)
Lehetőség van egyedi felhasználóknak vagy flottáknak "OCR_Override" jogot adni, amivel a csomagtól függetlenül ingyenes vagy kedvezményes beolvasást kapnak (pl. tesztelők vagy stratégiai partnerek).