Commit graph

17 commits

Author SHA1 Message Date
Cursor
3e6c1011dd fix: Preise aus letztem Scan-Lauf (MAX-20min Fenster) statt 3h
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 21:00:22 +07:00
Cursor
37c8c38876 fix: Detail-Tabelle zeigt nur letzte 3h Preise (mit Screenshots)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 20:58:43 +07:00
Cursor
a03a58d01e feat: Screenshot-Spalte im Dashboard — Full-Page CDP Screenshots
- worker.py: _take_screenshot() via Chrome CDP (JPEG 55%, max 3000px)
- worker.py: alle Scraper geben (results, screenshot_b64) Tuple zurück
- agent.py: screenshot_b64 in API-Response enthalten
- scheduler.py: speichere_screenshot() Funktion + Verknüpfung mit prices
- db.py: screenshots-Tabelle + screenshot_id FK in prices
- web.py: /api/screenshot/<id> Endpoint (base64→JPEG Response)
- web.py: 📷 Button in Preistabelle → Lightbox mit Full-Page Screenshot

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 20:51:10 +07:00
Cursor
2ce7d02bc5 feat: HKG Stopover Variante — Multi-City FRA→HKG→KTI
- db.py: jobs Tabelle um via/stopover_min_h/stopover_max_h erweitert
- db.py: 2 neue kayak_multicity Jobs (CX + alle Airlines) via HKG
- db.py: KI-Prompt um HKG_STOPOVER Vergleichsfeld ergänzt
- worker.py: scrape_kayak_multicity() Funktion implementiert
- worker.py: Kayak Multi-City URL FRA→HKG/D1→HKG→KTI/D2→KTI→FRA/D3
- agent.py: via/stopover_min_h/stopover_max_h Parameter entgegengenommen
- scheduler.py: neue Parameter an Node-Agent weitergegeben
- web.py: Multi-City Einträge im Dashboard lila hervorgehoben (+~150€ Hotel-Hinweis)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 16:59:53 +07:00
Cursor
639e6a4fc3 fix: Threading-Lock verhindert parallele Scans, Status-API, Button-Feedback
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 16:50:01 +07:00
Cursor
ba0893a337 feat: Scan alle 30 Minuten statt 4x täglich
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 16:31:51 +07:00
Cursor
6ddbc2bcfd fix: IndentationError in web.py run_schedule entfernt
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 16:29:34 +07:00
Cursor
4ba004cc76 feat: 4x täglich (06/11/18/23h) + Flex-Lauf Di/Mi 23:30 mit ±3 Tage Datumsfenster
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 16:06:55 +07:00
Cursor
f85c049aca feat: max_flugzeit_h (22h), max_stops (2), echtes PE, Kayak Flugzeit/Stops-Filter, db_migrate.py
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 15:50:46 +07:00
Cursor
36d671c301 feat: Airlines CZ/CX/SQ/TG, Kayak Umstiegszeit-Filter 2-5h, airline_filter Job-Parameter
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 15:46:51 +07:00
Cursor
838e8f4af8 feat: 1000 EUR Plausibilitaets-Schwelle, Vergleichstabelle MU vs Asia, Gepaeck-Filter Kayak
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 15:28:33 +07:00
Cursor
52b71d16f4 fix: Duplikate in Jobs-Tabelle verhindern, KTI als einziges Ziel
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 14:45:50 +07:00
Cursor
aad4e9b3c9 fix: KI auswerten() default nach=KTI, Prompt auf Roundtrip FRA→KTI aktualisiert
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 14:42:21 +07:00
Cursor
0a9e65b71a feat: Roundtrip FRA→KTI (Phnom Penh Techo Airport), Premium Economy, HAN als Umstieg
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 14:37:47 +07:00
Cursor
190281e2bb fix: KI-Default-Route auf HAN geändert
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 14:32:33 +07:00
Cursor
7cd39d0387 fix: Route FRA→HAN (Hanoi), Kabine Premium Economy
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 14:14:00 +07:00
Cursor
3ca727cec3 Initial: Hub + Node Grundstruktur
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 13:45:23 +07:00