Truth Changelog¶
Kompletni changelog je k dispozici v archivu (/opt/czechai-docs/archive/truth-changelog-59mb.md).
Velikost originalniho souboru: 59MB - prilis velky pro MkDocs rendering.
2026-02-11 Claude Code - Cenova Mapa v4: DUM+POZEMEK Calibration¶
- DUM odchylka: 21.6% -> 4.3% (5x zlepseni)
- POZEMEK odchylka: 57.9% -> 7.6% (7.5x zlepseni)
- BYT: 4.5% (stabilni)
- Fix: _sd() lowercase bug v lookup normalizaci
- Praha 1-10 segmentace, size adjustment, DUM decomp, POZEMEK subtypy
- Conservative: prodeje jako baze pro DUM/POZEMEK
- city_stats.db: 784 zaznamu aktualizovano/vlozeno
- Soubory: super_maps_unified.py, city_stats.db
- Status: OK
2026-02-12 Claude Code - Oceňovač + Market Intel + Fixes¶
Co bylo uděláno: - Vytvořen CzechAI Oceňovač (port 5300) - unified valuator, JEDEN výsledek - GPS/KNN z 145k záznamů (stat_realit + mega_training_v5) - GET+POST /api/estimate, 31ms response (po indexech) - Nginx route: /ocenovac/ -> 5300 - Vytvořen CzechAI Market Intel (port 5400) - tržní kontext - Live 2026 + historické 2025 data, trendy, investment score - POST /api/analyze, GET /api/trends - Fix: no such column title, parameter binding bug - Nginx route: /intel/ -> 5400 - DB indexy: idx_sr_gps_type, idx_td_gps_type, idx_td_city_type - Oceňovač zrychlen 120x (3.8s -> 31ms) - Reality Intel (port 5200) opraven - delete+recreate PM2 procesu - Předtím 37k+ restartů, teď stabilní - PM2 uloženo, nginx routes aktivní
Služby: | Služba | Port | URL | |--------|------|-----| | Cenová Mapa v4 | 7000 | router.czechai.io:7000/api/estimate | | Oceňovač | 5300 | router.czechai.io/ocenovac/api/estimate | | Market Intel | 5400 | router.czechai.io/intel/api/analyze | | Reality Intel | 5200 | router.czechai.io/reality/api/analyze |
Soubory: - /opt/ocenovac/app.py - /opt/market_intel/app.py - /opt/reality_intel/app.py - /etc/nginx/sites-enabled/router.czechai.io
Status: OK
2026-02-15 Claude Code - Registry Map v4: CKAIT+CAK parsing fix¶
- CKAIT adresy opraveny: 1,382 -> 41,889 mapped (PSC na konci)
- CAK advokati: 2 -> 1,601 (RUIAN street lookup)
- Celkem: 80,195 zaznamu na mape (z 37,759 ve v3 = +112%)
- 11 registru, 4,284 mest, 9,775 bodu
- Mapa: https://router.czechai.io/web/mapa-registry.html
- Soubory: /opt/00_PUBLIC_DATA/build_registry_map.py
- Status: OK
2026-02-15 Claude Code - Registry DB 1.13M + GPS fix 99.6%¶
- GPS fix pro 12,265 zaznamů (16,816 → 4,551 unmapped = 99.6%)
- Expanded RUIAN GPS cache: 15,487 měst (včetně částí obcí)
- ARES fix: city normalization (+4,782), Advokáti weighted street lookup (+5,060)
- RK firmy ARES name match (+1,820), Village parts fix (+489)
- Mapa: 1,134,775 záznamů, 24 vrstev, 16,445 měst
- DB: /opt/00_PUBLIC_DATA/registry_contacts.db (374 MB)
- Status: OK
2026-02-15 Claude Code - Registry Map v2: Full Contact Detail API¶
- FastAPI server port 5500, PM2 registry-map
- Interaktivni mapa s contact detail panelem (jmeno, ICO, email, tel, web, adresa)
- 24 vrstev prepinatelnych, full-text search, tabs per registr
- API: /api/layers, /api/dots, /api/contacts, /api/search, /api/stats
- URL: https://router.czechai.io/registry/
- Server: /opt/registry-map/app.py + templates/map.html
- Status: OK
2026-02-15 Claude Code - Registry Map v2: AI Chat + DB Docs¶
- Přidán AI chat do Registry Map (Qwen3-30B na 94.130.218.117)
- Dual-path: DB dotazy instant, konverzace přes LLM
- Czech city inflection matching (30+ měst alias mapa)
- POST /api/chat endpoint s automatickým DB kontextem
- Kompletní DB dokumentace (24 registrů, 1.13M kontaktů)
- Soubory: /opt/registry-map/app.py, templates/map.html
- URL: https://router.czechai.io/registry/
- Status: OK
2026-02-15 Claude Code - Registry Map v2: Schools + RK Import¶
- Imported 10,019 schools as new "skoly" registry (100% GPS via RUIAN S-JTSK conversion)
- Compared 2,545 RK from CSV vs 10,422 existing: 688 enriched (465 emails, 588 phones, 688 webs), 1,857 new added
- Fixed GPS for 6,186 contacts using RUIAN pyproj EPSG:5514->4326
- Rebuilt 40,162 map_points for all 25 registries
- Total DB: 1,151,202 contacts, 99.6% GPS, 25 registries, 17,788 cities
- Added školy keywords to chat (škola, mateřská, základní, střední, gymnázium, univerzita)
- Updated system prompt with new counts
- Double sync: server DB + local copy
Soubory: - \ - updated backend with skoly keywords - \ - 380MB, 1.15M records - \ - import script - \ - GPS fix script
Status: OK
2026-02-15 Claude Code - Registry Map v2: Schools + RK Import¶
- Imported 10,019 schools as new "skoly" registry (100% GPS via RUIAN S-JTSK conversion)
- Compared 2,545 RK from CSV vs 10,422 existing: 688 enriched (465 emails, 588 phones, 688 webs), 1,857 new added
- Fixed GPS for 6,186 contacts using RUIAN pyproj EPSG:5514->4326
- Rebuilt 40,162 map_points for all 25 registries
- Total DB: 1,151,202 contacts, 99.6% GPS, 25 registries, 17,788 cities
- Added skoly keywords to chat (skola, materska, zakladni, stredni, gymnazium, univerzita)
- Updated system prompt with new counts
- Double sync: server DB + local copy
Soubory: /opt/registry-map/app.py, /opt/00_PUBLIC_DATA/registry_contacts.db, /tmp/import_skoly_rk.py, /tmp/fix_skoly_gps.py
Status: OK
2026-02-15 Claude Code - Registry Map v3 Fixes + Data Sources Documentation¶
Co bylo uděláno: - Fixed Registry Map v3 HTML rendering bugs (Top Cities not showing, compact mode removed) - Updated 17 registry colors to be more visually distinct (was too similar grey-blues) - Documented hist_ceny data source chain
Data Sources - hist_ceny (103,499 records): - Source: /opt/czechai-cockpit-full/stat_realit.db (179,335 scraped listings) - Built by: /opt/cenova_mapa/rebuild_mega_v5.py → mega_training_data_v5.db (103,506 clean records) - Portals: Sreality (158k), RealityMix (6.9k), Reality.cz (4.9k), Sreality dražby (2.3k), Annonce (2k), Reality IDNES (782), + 10 dalších - Types: byt (33,476), dům (35,949), pozemek (28,662), komerční (5,419) - Date range: 2025-12-19 to 2026-02-15 (live scraping) - Features: price, area, GPS, city, property_type, is_auction, dispozice - NOT official ČÚZK transaction data - these are SCRAPED LISTING PRICES from portals
Data Sources - stat_realit (16,170 in registry map): - Same source DB, but only currently active/valid listings - Imported as registry with name, city, GPS, extras(price, area, type)
Fixes: - Top Cities: getElementById('sb-scroll') was null → changed to getElementById('tc-wrap') - Compact mode: fully removed (CSS, JS function, button) - Colors: 17 registries updated (cnb_* group was 6 similar dark greys, now distinct) - PM2 registry-map restarted, DB synced locally
Soubory: - /opt/registry-map/templates/map.html (v3 fixes) - /opt/00_PUBLIC_DATA/registry_contacts.db (color updates) - /opt/cenova_mapa/mega_training_data_v5.db (source of hist_ceny) - /opt/czechai-cockpit-full/stat_realit.db (original scraped data)
Status: OK
2026-02-15 Claude Code - Removed stat_realit from Registry Map¶
- Odstraněn registr stat_realit (16,170 současných inzerátů) z registry_contacts.db
- Důvod: jsou to inzeráty, ne profesní kontakty - nepatří do mapy registrů
- Smazáno: contacts (16,170), map_points (29), registries (1)
- Nový stav: 1,135,032 kontaktů, 24 registrů, 40,133 map_points
- HTML aktualizováno (stat_realit odstraněn z CATEGORIES.reality)
- DB sync local
Status: OK
2026-02-15 Claude Code - 3 New Registries Imported¶
Nové registry: 1. cnb_seznam4 (ČNB Pojišťovací zprostředkovatelé) - 21,638 záznamů, 96% GPS - Zdroj: /opt/00_PUBLIC_DATA/cnb_registry/cnb_seznam_4.csv - Data: IČO, název, adresa, město, PSČ, datum vzniku 2. cnb_seznam5_new (ČNB Samostatní zprostředkovatelé) - 1,032 záznamů, 97% GPS - Zdroj: /opt/00_PUBLIC_DATA/cnb_registry/cnb_seznam_5.csv 3. soudci (Soudci z justice.cz rozhodnutí) - 1,525 záznamů, 100% GPS - Zdroj: /opt/legal-ai-v2/justice_decisions.db (25,979 rozhodnutí → 1,525 unikátních soudců) - Extras: soud (název soudu), pocet_rozhodnuti - GPS fix: 54 českých lokativů přeloženo (Mostě→Most, Praze→Praha, atd.)
Obohacení: - ČKAIT enriched CSV měl prázdné kontakty (email/phone/web) → 0 obohaceno
Aktualizace: - HTML: přidány nové kategorie (soudci→Právní, cnb4/5→Finance) - app.py: přidány keywords (soudce, pojišťovací, zprostředkovatel) - Nový stav: 1,159,227 kontaktů, 27 registrů, 43,091 map_points, 99% GPS
Soubory: - /opt/registry-map/app.py, /opt/registry-map/templates/map.html - /opt/00_PUBLIC_DATA/registry_contacts.db - /tmp/import_new_registries.py - Lokální sync: C:\Users\info\SCRAPER_DATA_2026\databases\registry_contacts.db
Status: OK
2026-02-15 Claude Code - Registry Map enrichment + 28 registries¶
Co bylo uděláno: - Enrichment 5 registrů: Advokáti (+7 email/phone), Znalci (+5504 nových = 11k total), Tlumočníci (2088 obohaceno o email/phone/web), Insolvencní (extras), CNB Seznam 2 (792 nových) - Import nových registrů ze session 14.2.: CNB Seznam 4 (21,638), CNB Seznam 5 (1,032), Soudci (1,525 z justice_decisions) - Odstraněn stat_realit (16,170 současných inzerátů) - nepatří do profesního registru - GPS fix soudci: 54 locative→nominative mapping → 100% GPS pokrytí - HTML aktualizace: cnb_seznam2 do Finance, chat label 1.17M
Výsledný stav: - 28 registrů, 1,165,523 kontaktů - 44,065 map bodů - GPS pokrytí: 1,160,014 (99.5%) - Znalci: 11,008 (10k email, 10.7k phone) - Tlumočníci: 6,486 (5.8k email, 6.4k phone)
Soubory: - Server: /opt/registry-map/app.py, /opt/registry-map/templates/map.html - Server DB: /opt/00_PUBLIC_DATA/registry_contacts.db (1.17M) - Scripty: /tmp/enrich_all_registries.py, /tmp/import_new_registries.py - Local: C:\Users\info\SCRAPER_DATA_2026\scripts*, databases*
Status: OK
2026-02-15 Claude Code - 33 registrů, 2-column sidebar, 1.17M kontaktů¶
Nové registry (+5): - cnb_seznam1: ČNB Banky (43, 100% GPS) - cnb_seznam3: ČNB Nebankovní poskytovatelé (224, 100% GPS) - penb_ea: Energetičtí auditoři (416, 75% GPS) - penb_klima: Kontrola klimatizací (211, 75% GPS) - penb_vytap: Kontrola vytápění (293, 76% GPS)
UI upgrade: - Sidebar rozšířen na 520px s 2-column grid layoutem - Všech 33 registrů viditelných najednou bez scrollování - Kompaktnější registry items (menší font, padding) - Top města ve 2 sloupcích - Kategorie v krabičkách s border
Výsledný stav: 33 registrů, 1,166,710 kontaktů, 44,498 map bodů Status: OK
2026-02-15 Claude Code - Hlídač státu scraper + ICO enrichment¶
Co bylo uděláno: - Vytvořen scraper hlidac_scraper_v2.py pro veřejné zakázky z hlidacstatu.cz - Staženo 485 zakázek zveřejněných 2025+ (10 kategorií: stavba, rekonstrukce, zateplení, okna...) - 338 unikátních IČO zadavatelů, 315 s reálnou cenou - Cross-reference s registry_contacts.db: 79 zakázek obohaceno o email/telefon - Hlavně školy, muzea, policie, univerzity - Detaily zakázek vyžadují registraci na Hlídač státu (zdarma) - Exporty: hlidac_zakazky_final.json + .csv
Soubory: - /tmp/hlidac_scraper_v2.py - /tmp/hlidac_zakazky_v2.json (raw 485 contracts) - /tmp/hlidac_zakazky_final.json (enriched) - /tmp/hlidac_zakazky_final.csv (clean CSV)
Status: OK
2026-02-15 Claude Code - eDesky okna scraper¶
Co bylo uděláno: - Spuštěn edesky_okna_scraper.py na serveru - 20 klíčových slov x 3 tagy = 60 prohledání - 313 raw výsledků, 161 relevantních, 90 unikátních po deduplikaci - 50 dokumentů s detaily (přílohy, metadata) - TOP desky: Praha (15), Louny (8), Hradec Králové (7), Praha 10 (5) - Typy: veřejné zakázky na okna, stavební povolení, dotace na výměnu oken
Soubory: - /tmp/edesky_okna/edesky_okna_20260215_2013.json - /tmp/edesky_okna/edesky_okna_20260215_2013.csv
Status: OK
2026-02-16 Claude Code - Verejne zakazky OKNA 2026¶
- Scraping hlidacstatu.cz: 3532 unique contracts, 50 relevant okna/dvere 2026
- ARES enrichment: 47/49 zadavatelu s ICO a sidlem
- Final DOCX: 49 zakazek, 12 s cenou (~19.3M Kc), 7 s dodavatelem
- Scraper: scrape_search_html.py (pure HTTP, no login needed)
- Data: /tmp/zakazky_ALL_with_details.json, /tmp/zakazky_OKNA_2026_ENRICHED.json
- Status: OK
2026-02-17 Claude Code - 1312.pro: Verified Leads + Sheets + Map Fix¶
Co bylo uděláno: - Smazáno 10,539 mrtvých leads (neověřené Scraper + staré pozemky) - Nahráno 2,441 ověřených inzerátů (HTTP 200) z Pardubického+Královéhradeckého kraje - Typy: Dům 1190, Byt 835, Pozemek 216, Komerční 66, Ostatní 134 - Nový spreadsheet "REALITY PK+HK 17.02.2026" (id=2) s 2,441 řádky - Fix Map.tsx: gpsLat/gpsLon fallback + URL čtení z lead.url pole - Fix Leads.tsx: URL čtení z lead.url pole (předtím jen notes pipe format) - 50/50 URL test = 100% funkčních
Soubory: - /opt/CzechevillAi/client/src/pages/dashboard/Map.tsx - /opt/CzechevillAi/client/src/pages/dashboard/Leads.tsx - /opt/CzechevillAi/server/routes.ts (spreadsheets API) - DB: czechevillai.leads (2,468 records) - Sheet: REALITY PK+HK 17.02.2026 (spreadsheet id=2)
Status: ✅ OK
2026-02-18 Claude Code - Reality Agents: 200+ Portalu + Qdrant RAG\n\n### Task 6: Aktivace bazarovych portalu (server 134)\n- Merge DB: brno_scrape_results.db (73,636) -> MASTER_CLEANED.db\n- 56,521 -> 125,669 zaznamu (+69,148 novych, +123%)\n- 60+ portalu: sreality, realitymix, bazos, avizo, annonce, iDNES, ulovdomov...\n- Crontab: mega_all_portals_scraper (4h), bazos_hyper_avizo (6h)\n- DB sync na server 179\n\n### Task 7: Qdrant RAG - Profesionalni reporty\n- Kolekce reality_reports: 8 reportu (Deloitte, CBRE, Cushman, Knight Frank, CNB, Investropa, Hypomonitor, CSU)\n- RAG tool search_reports() integrovan do Analyst + Watchdog agentu\n- sentence-transformers + qdrant-client nainstalovany\n\n### Vysledek\n- 4 agenti, 19 nastroju, 125K inzeratu, 8 RAG reportu\n- Test: yield dotaz -> odpoved s citacemi z 3 reportu (38.7s)\n- Status: KOMPLETNI\n¶
2026-02-18 Claude Code - Kompletní čištění MASTER_CLEANED.db¶
Co bylo uděláno: - Phase 1: 9,346 router_mapa_id záznamů → portal=cenova_mapa_internal, extrakce plochy z titulku (4,703 opraveno) - Phase 2: 5,588 záznamů bez ceny+plochy → status=OVERIT, is_valid=0 - Phase 3: 17,000 URL zvalidováno HEAD requesty (39/s, 20 workers, 7 min) - LIVE: 6,031 | DEAD: 10,854 | OVERIT: 115 - Phase 4: 10,284 DEAD záznamů smazáno - Phase 5: Normalizace statusů (NOVY→LIVE, OVĚŘIT→OVERIT, NULL→OVERIT) - Uvolnění 3.5GB RAM na serveru 134 (zabité staré Playwright instance z 9.2.) - Sync DB na server 179, restart reality-agents
Výsledek: - BEFORE: 125,669 záznamů (nekontrolované, 7.4% unknown portal) - AFTER: 89,411 záznamů (vyčištěno) - LIVE: 48,944 (54.7%) - OVERIT: 40,467 (45.3%) - 114 portálů - 76% s cenou, 47.7% s plochou >1m2 - 86.3% is_valid=1
Soubory: - /opt/reality-scraper-next/NOVY_SCRAPER_KURVA/validate_and_clean_master_v2.py - /opt/reality-scraper-next/NOVY_SCRAPER_KURVA/fast_validate_urls.py - /opt/reality-scraper-next/MASTER_CLEANED.db (server 179, 141MB)
Pravidla dodržena: - CPU < 50%, RAM < 85% (server 134) - 3-tier validace: URL pattern + HTTP status + content check - Rate limit 0.3s distribuovaný přes 20 workers - Graceful shutdown (SIGINT/SIGTERM handler)
Status: ✅ OK
2026-02-20 Claude Code - RAG Cleanup + Mem0 Fix¶
- Mem0 opraveno (Router restart → detekce port 8099)
- czechai_knowledge: smazáno 3039 junk (finanční PDF), reingestováno 5156 čistých chunků z 41 .md
- nomic-embed-text pullnut na GPU (5156 chunků za 28s)
- RAG search: AML query score 0.77 (před tím 0.40 junk)
Status: OK
2026-02-23 Claude Code - Docker Cenová Mapa (3 mapy + fallback)¶
Co bylo uděláno: - Vytvořen Docker kontejner czechai-cenova-mapa s 3 cenovými mapami - Portaly (port 9094) - DB median, MAPE 35%, 80k záznamů - Oceňovač (port 9300) - GPS/KNN, MAPE 63%, 183k + 22MB hist - Smart Router (port 9150) - 3-layer routing + LLM fallback - Všechny 3 DB mountovány z hostu (406MB celkem) - Testováno: BYT, DUM, POZEMEK, GARAZ - vše OK - Smart Router fallback funguje pro exotické typy
Soubory: - /opt/czechai-cenova-mapa/ (Dockerfile, docker-compose.yml, apps/) - C:\Users\info\Downloads\czechai-cenova-mapa/ (lokální kopie s DB)
Status: ✅ OK - kontejner běží
2026-02-24 Claude Code - OPRAVENO 121k Integration + V6 Retraining¶
- Mega Training V6: stat_realit (122k) + opraveno (15k new) = 138,081 records
- BYT Model Improved: 27.4% → 24.4% MAPE (-3.0% better)
- Prodeje Map V6: 287 xlsx + opraveno = 28,487 records (was 9,219)
- Portaly V6: dual-DB merge (MASTER_CLEANED + prodeje_ceny)
- Docker: 4 DB volumes, rebuilt container
- PM2 Maps: All 5 maps (5091-5098) updated with V6 data and restarted
- Files: rebuild_mega_v6.py, retrain_models_v6.py, retrain_all_maps.py
- Status: OK
2026-02-24 Claude Code - Scraper: TOP3 Maps + City Enrichment¶
- Firewall: 5093/6200/5098 open from scraper (232.134)
- market_price_tagger_v3.py: AI 50% + Levon 25% + Smart 25% = weighted price
- enrich_city.py: Sreality API + title regex + GPS geocoding
- 45,300/80,350 records tagged with market prices
- Daily cron: 4am enrich cities, 5am tag with TOP3 maps
- Status: OK
2026-02-26 Claude Code - NPM balicky rozmisteni + Puck Editor deploy¶
- Puck Editor demo: https://router.czechai.io/web/page-builder.html
- firecrawl-js updatovan na v4.13.2 (server 134)
- n8n-nodes-firecrawl presunut do n8n Docker kontejneru (server 179)
- claude-agent-sdk v0.2.58 overen na scrapperu (server 134)
- Dokumentace: MEMORY.md, AUTO_LOGGER.md
Status: OK
2026-02-26 Claude Code - LIVE Maps Data Pipeline + URL Validation¶
- URL validátor spuštěn na stat_realit.db (184,840 záznamů)
- Validováno 148,781 URL: 36,176 LIVE, 147,470 DEAD, 283 SKIP
- LIVE + GPS + cena: 22,330 ověřených inzerátů
maps/ads (chat.czechai.io/app/maps/ads):¶
- /tmp/map_listings.json - 22,330 LIVE záznamů
- BYT: 8,576 | DUM: 6,429 | POZEMEK: 4,624 | OSTATNI: 2,245
- LES: 291 | KOMERCNI: 169 | GARAZ: 21 | DRAZBY: 112
maps/mapp (chat.czechai.io/app/maps/mapp):¶
- PostgreSQL map_czechai - 22,330 LIVE záznamů
- Stejné kategorie jako maps/ads
Skripty:¶
- /tmp/validate_stat_realit.py - URL validátor (20 workerů)
- /tmp/export_live_only.py - LIVE-only export do JSON + PG
- Zdroj: stat_realit.db (server 179, aktualizováno denně)
Status: OK
2026-02-26 Claude Code - Scout Agent + LLM Proxy¶
Scout Agent v2.0 (server 134, port 5555)¶
- AI web investigator pro analyzu portalu a webu
- LLM: Qwen3:32b pres GPU proxy
- Endpoints: /scout (AI), /scout/quick (bez AI), /scout/portal-failed (mega_fabric)
- Otestovan na drazby-exekutori.cz (uspesne)
- Soubory: /opt/czechai-scraper-tools/scout-agent/
LLM Proxy (server 179, router-api)¶
- POST /v1/llm/chat - OpenAI format proxy na GPU (217.198.112.170)
- GET /v1/llm/models - seznam GPU modelu
- Pridano do /opt/router-api/server.py
Puck Editor demo¶
- https://router.czechai.io/web/page-builder.html
Status: OK
2026-02-26 Claude Code - Chatwoot + Page Builder Fix¶
- Chatwoot nainstalován: https://livechat.czechai.io/ (Docker, port 4000)
- PG databáze chatwoot, pgvector extension, Redis db 2
- Page Builder opraven: dual React instance fix (import map + external)
- Soubory: /opt/chatwoot/, /var/www/router-static/page-builder.html
- Status: OK
2026-02-26 Claude Code - Oceneni 22k LIVE inzeratu 3 mapami¶
Co bylo udelano: - 22,330 LIVE inzeratu oceneno 3 mapami: Precision (7001), Conservative (7002), Ensemble (7003) - Kazdy inzerat ma 3 odhady + prumerny odhad + % sleva - Podhodnocene (>10%): 12,632 | MEGA (>30%): 10,385 - Excel: LIVE_OCENENE_22k.xlsx (10 listu: Souhrn, Mega, 7 kategorii, Drazby) - maps/ads JSON aktualizovan s disc + est_precision/conservative/ensemble - maps/mapp PG aktualizovan s valuations v services[] a flags[] - map-czechai restartovan
Status: OK
2026-02-26 Claude Code - 6 NPM balíčků nainstalováno¶
Server 134 (scrapper):¶
- https-proxy-agent 7.0.6 - proxy rotace pro scrapery
- webpeel 0.16.1 - stealth fetcher pro AI agenty
- firecrawl-aisdk 0.10.0 - Firecrawl + AI SDK
Server 179 (cockpit):¶
- framer-motion 11.18.2 - React animace
- openchrome-mcp 1.2.4 - MCP Chrome automation
Lokálně:¶
- @npow/oh-my-claude 0.3.1 - Claude Code statusline
Status: OK
2026-02-26 Claude Code - Atomic CRM Deploy¶
Co bylo uděláno: - Naklonován marmelab/atomic-crm do /opt/atomic-crm/ - npm install (250+ packages) - Supabase start (5 Docker kontejnerů: db, auth, kong, realtime, storage) - Migrace (16 SQL souborů) aplikovány - Build s VITE_SUPABASE_URL=https://crm.czechai.io - Nginx config: crm.czechai.io = Atomic CRM frontend + Supabase API proxy - Vytvořen admin účet: info@bohemiashield.cz / CzechAI2026! - Embedded jako iframe v Cockpit Leady CRM tab - Cockpit rebuild + PM2 restart
URL: https://crm.czechai.io Login: info@bohemiashield.cz / CzechAI2026!
Soubory: - /opt/atomic-crm/ (celý projekt) - /etc/nginx/sites-enabled/crm (nginx config) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/client/src/pages/maps-ads.tsx
Status: OK
2026-02-27 Claude Code - Univer Sheets Deploy¶
- Nasazen Univer v0.15.5 (self-hosted spreadsheet, nástupce Luckysheet)
- 12 Docker kontejnerů: universer, collaboration, temporal, worker-exchange, postgres, redis, rabbitmq, minio, nginx, envoy, demo-ui
- URL: https://sheets.czechai.io/ (port 3016 frontend, 8002 API)
- SSL: Let's Encrypt certbot
- Fix: inotify max_user_instances 128→512 (too many open files)
- Soubory: /opt/univer/helm-charts/docker-compose/
- Status: OK
2026-02-27 Claude Code - CzechAI Financial Plugins - Fork & Czechify¶
- Naklonován a kompletně adaptován Anthropic financial-services-plugins pro český trh
- 173 souborů: 7 pluginů, 59 skills, 53 commands, 14 MCP konektorů
- Pluginy: financni-analyza, investicni-bankovnictvi, akciovy-vyzkum, soukromy-kapital, sprava-majetku, cnb-analyza, ceske-registry
- 6 nových českých skills: AML screening, katastr, insolvence, due diligence, oceňování, analýza trhu
- MCP HTTP adapter na port 5055 (PM2: czechai-mcp-adapter)
- Server: /opt/czechai-financial-plugins/
- Lokál: D:\CZECHAI_REALITY_MASTER\PRODUCTION\financial-plugins- Status: OK
2026-02-27 Claude Code - MCP Financial Plugins - Propagace¶
- Router Tower: přidány /v1/mcp/* proxy routes (mcp_financial_routes.py)
- Public: https://router.czechai.io/v1/mcp/{service} - 14 služeb
- Claude Code settings: 14 MCP serverů přidáno globálně
- Server workers: /root/.claude/, cockpit, apps - propagováno
- Lokální IDE: Cursor .mcp.json, PRODUCTION .mcp.json, root .mcp.json
- Status: OK - všechny služby mají přístup k MCP financial pluginům
2026-02-27 Claude Code - QR Platby + Hlidac Statu¶
Co bylo uděláno: - Nová služba QR Platby (SPD formát) - generátor QR platebních kódů pro české banky - Port 5065, PM2: czechai-qr-platby - Czech IBAN konstrukce z čísla účtu, 50+ bank BIC kódů - REST API + MCP interface + QR PNG/SVG generace - URL: https://router.czechai.io/qr-platby/ - Nový konektor Hlídač Státu API v2 - Port 5066, PM2: czechai-hlidac-statu - 7 MCP tools: firma, smlouvy, insolvence, veřejné zakázky, dotace, osoby, sponzoring - URL: https://router.czechai.io/hlidac-statu/ - Potřeba: API token z hlidacstatu.cz
Soubory: - /opt/czechai-qr-platby/ (czech_iban.py, spd.py, server.py) - /opt/czechai-hlidac-statu/ (server.py, config.json) - nginx: router.czechai.io /qr-platby/ + /hlidac-statu/
Status: OK
2026-02-27 Claude Code - 22 Ceskych Financnich Kalkulacek¶
Co bylo udelano: - Vytvoreno 22 ceskych financnich kalkulacek jako FastAPI sluzba - Kalkulacky: cista mzda, dan zamestnanec, dan OSVC, dan PO, DPH, srazkova dan, silnicni dan, dan nemovitosti, odvody CSSZ+ZP, hypoteka, splatky, ROI, odpisy, DPS, uroky z prodleni, penale FU, cestovni nahrady, stravenky, slevy na dani, pausalni dan, SRO vs OSVC, inflace - Luxusni frontend s Playfair Display fontem, zlate akcenty, kategorie (Dane, Mzdy, Finance, Podnikani) - MCP interface s 22 nastroji - Deploy: port 5075, PM2 czechai-kalkulacky, nginx /kalkulacky/ - Aktualizovana platebni stranka platby.html - LUXURY design (zlato, castice, animace, auto-VS) - Pridan auto-incrementing VS system (/api/vs/next) pro unikatni VS kazde platby
Soubory: - /opt/czechai-kalkulacky/server.py (22 kalkulacek, 550+ radku) - /opt/czechai-kalkulacky/kalkulacky.html (luxusni frontend) - /opt/czechai-kalkulacky/ecosystem.config.js - /opt/czechai-qr-platby/server.py (updatovan - VS counter) - /opt/czechai-qr-platby/platby.html (luxury redesign)
Status: OK
2026-02-28 Claude Code - 22 kalkulaček do chat.czechai.io/app/programy¶
Co bylo uděláno: - Vytvořen nový React komponent kalkulacky-section.tsx (960 řádků) - 22 finančních kalkulaček s data-driven architekturou (1 generic CalcCard + definice) - Kategorie: Mzdy (teal), Daně osobní (rose), Daně firemní (orange), Finance (cyan), Investice (indigo), Podnikání (emerald), Sankce (amber) - Každá kalkulačka: input formulář, toggle pills, ResultOverlay s auto-formátováním výsledků - Napojení na API http://46.224.121.179:5075/api/calc/{id} (CORS OK) - Minimální edit programy-ai.tsx: +import, +KalkulackySection, counter 6→28 - Build: Vite + server build, PM2 restart
Kalkulačky: 1. Čistá mzda, 2. Odvody ČSSZ+ZP, 3. Cestovní náhrady, 4. Stravenky/paušál 5. Daň zaměstnanec, 6. Daň OSVČ, 7. Slevy na dani, 8. Paušální daň 9. Daň PO, 10. DPH, 11. Srážková daň, 12. Silniční daň, 13. Daň z nemovitosti 14. Hypotéka, 15. Splátky, 16. ROI, 17. Inflace 18. Odpisy majetku, 19. DPS penzijko 20. s.r.o. vs OSVČ, 21. Úroky z prodlení, 22. Penále FÚ
Soubory: - /opt/czechai-cockpit-full/Czech-AI-Cockpit/client/src/pages/kalkulacky-section.tsx (NEW) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/client/src/pages/programy-ai.tsx (EDIT: +3 lines)
Status: ✅ OK
2026-02-28 Claude Code - AI Cenová Mapa V8 (ML model upgrade)¶
Natrénovány V8 modely pro cenovou mapu AI (port 5093): - 4 typy nemovitostí: BYT, DUM, POZEMEK, KOMERCNI - Ensemble: XGBoost + LightGBM + GradientBoosting + CatBoost (BYT/DUM) - 17 features (area_sq, log_city_median, has_dispozice, finer 0.1 deg GPS zones) - Target: log(price) transform
V8 Metriky (MdAPE): - BYT: 7.78% (V7 was 8.25% → -0.47% BETTER) - DUM: 18.19% (V7 was 17.70% → +0.49% worse) - KOMERCNI: 18.96% (V7 was 20.23% → -1.27% BETTER) - POZEMEK: 41.11% (V7 was 43.34% → -2.23% BETTER)
Benchmark 50 nemovitostí: AI_V8, Levon, Smart, MCP_V4 = all 50/50 OK
Soubory: - /opt/cenova_mapa/mapa3_ai/app.py (patched for V8) - /opt/cenova_mapa/models/model_v8_BYT.pkl (23MB) - /opt/cenova_mapa/models/model_v8_DUM.pkl (25MB) - /opt/cenova_mapa/models/model_v8_POZEMEK.pkl (5MB) - /opt/cenova_mapa/models/model_v8_KOMERCNI.pkl (4MB)
Status: OK
2026-02-28 Claude Code - V9 POZEMEK Model (land_subtype_code)¶
POZEMEK MdAPE: 41.11% → 35.13% (-5.98% BETTER) - Added land_subtype_code + is_stavebni + subtype_median_m2 + area_x_subtype_med - 21 features (vs 17 in V8), 5-fold CV, weighted ensemble won over stacking - Subtype medians: stavebni=5186, zemedelsky=484 (12x difference) - BYT/DUM/KOMERCNI kept on V8 (V9 without CatBoost was slightly worse) - Mixed deployment: V9 POZEMEK + V8 BYT/DUM/KOMERCNI
Files: model_v9_POZEMEK.pkl, app.py patched for V9
Status: OK
2026-02-28 Claude Code - Fix swarm agents (chat.czechai.io)¶
Co bylo uděláno: - Opraveno 11 kritických syntax/import chyb v 9 swarm souborech (swarm_02-10, shared_tools) - Hlavní chyby: rozbitý import create_supervisor, stray ====== řádky, [, v tools, broken f-string - Upgrade 7 klíčových agentů z qwen3:8b na qwen3:32b pro spolehlivé tool calling - Enhanced prompty s VŽDY POUŽIJ NÁSTROJE instrukcí - Oprava chat.czechai.io: login reset (CzechAI2026!), OpenRouter→LiteLLM routing - Oprava LiteLLM config: přidány claude/gpt-4o modely s fallback na aurum-smart
Soubory: - /opt/router-api/swarmy/swarm_02-10.py (syntax fixes) - /opt/router-api/swarmy/shared_tools.py (import fix) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/server/routes.ts (LiteLLM routing) - /opt/litellm-proxy/config.yaml (nové modely)
Status: OK - swarmy se načítají a vrací strukturované odpovědi s reálnými daty
2026-03-01 Claude Code - Pay page redesign (qr-platby/pay)¶
- Kompletní redesign platební stránky na ChatGPT minimalistický dark theme
- QR kód opravený (CDN qrcode-generator), IIFE JS, CSS variables
- Obě záložky funkční, vizuálně ověřeno
- Soubory: /opt/czechai-qr-platby/pay.html
- Status: OK
2026-03-01 Claude Code - Reality-Pipeline: Kompletní unifikovaný scraper systém¶
- Nový Python balíček reality-pipeline na serveru 134 (46.224.232.134)
- 7 scraperů, 5 processing modulů, export, orchestrátor
- Nahrazuje 32+ roztroušených skriptů, 8 cron jobů, 5 systemd timerů
- LIVE DB: 103,099 záznamů, 81,143 otagováno tržní cenou, 16,552 příležitostí
- PM2 daemon reality-pipeline online s 17 naplánovanými úlohami
- Migrace 70,796 záznamů z legacy MASTER_CLEANED.db
- Soubory: /opt/reality-pipeline/ (server 134)
- Status: OK
2026-03-01 Claude Code - Super-Ensemble v2.1: Dokonala Cenova Mapa¶
- 7 nezavislych cenovych motoru + IQR + znalecke vahy + korekce + Market Intel + AI znalec (Qwen3:32b)
- Nginx proxy: https://router.czechai.io/super-ensemble/
- PM2: super-ensemble-v2 port 5111
- Fix: Ollama nativni API misto OpenAI-compat (reasoning model issue)
- Soubory: /opt/super-ensemble-v2/app.py
- Status: OK
2026-03-02 Claude Code - SE2 Pricing Pipeline + chat.czechai.io Integration¶
Co bylo udelano: - price_db.py: 22,799/38,172 zaznamu oceneno pres Super-Ensemble v2.1 (port 5111) - Import 22,799 SE2-ocenych zaznamu do stat_realit.db (576 update + 22,223 insert) - Vycisteno 3,560 garbage opportunities (cena=1, absurdni %) - Vysledek: 6,262 prilezitosti (4,533 HIGH, 895 MEDIUM) - reality-api v2: pridany SE2 sloupce do /api/reality/ads + novy /api/reality/opportunities endpoint - ads-map.html v2: SE2 ceny v popupu, opportunity highlighting (zelena/zluta), mode toggle (vsechny/ocenene/prilezitosti) - opportunities.html: tabulka prilezitosti s filtry (uroven, typ, mesto, min rozdil %) - Nginx: proxy /api/reality/ -> port 3003 + alias /opportunities.html - MASTER_LIVE.db zkopirovana zpet na server 134
Soubory: - /opt/reality-api/app.py (v2, SE2 columns + opportunities endpoint) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/dist/public/ads-map.html (v2) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/dist/public/opportunities.html (new) - /etc/nginx/sites-enabled/chat.czechai.io (updated) - /opt/czechai-cockpit-full/stat_realit.db (22,799 SE2 priced records) - /opt/reality-pipeline/data/MASTER_LIVE.db on 134 (updated)
Live URLs: - https://chat.czechai.io/ads-map.html (mapa s SE2) - https://chat.czechai.io/opportunities.html (tabulka prilezitosti) - https://chat.czechai.io/api/reality/stats (API stats) - https://chat.czechai.io/api/reality/opportunities?level=HIGH (API)
Status: OK
2026-03-02 Claude Code - Sprint 1: Locality cleanup + min-count + confidence¶
Co bylo udeláno: - Point 1: Detekce a flagování 3650 šumových lokalit (ulice jako města) v city_stats.db - Point 2: Min-count policy - count<3 skip, count<5 cap confidence, noise filtering v Prodeje V4 + MapaLevon - Point 3: Deterministická confidence formule f(count, dispersion, source) místo fixních tierů - Point 9: Hard gates v SE v2.1 - POZEMEK/KOMERCNI stricter review, few engines gate - Rebuild MapaLevon indexu bez noise (280 records filtered)
Soubory: - /opt/cenova_mapa/city_stats.db (is_noise column added) - /opt/cenova_mapa/mapa1_prodeje/app.py (Sprint 1 patches) - /opt/mapa_levon/app.py (Sprint 1 patches) - /opt/mapa_levon/mapa_levon_index.json (rebuilt v2_sprint1) - /opt/super-ensemble-v2/app.py (hard gates)
Status: ✅ OK - BYT shoda 0.954, POZEMEK correctly flagged for review
2026-03-02 Claude Code - Sprint 1+2 Cenova Mapa Fixes + Data Enrichment¶
Co bylo udeláno:
Data Enrichment:¶
- Import opraveno_121k.db: +603 new records, +1,633 GPS enriched
- Import stat_realit.db: +38,906 new records, +10,211 GPS enriched
- Import original_data: +2,192 new records
- GPS enrichment from city_gps.db: +19,350 centroid GPS
- MASTER_CLEANED.db: 105,446 -> 143,536 records (+36%)
- GPS coverage: 1,461 -> 40,355 (27.6x improvement)
- city_stats: 2,340 -> 3,833 entries (+64%)
- 0 URL duplicates verified
Sprint 1 Fixes (Points 0,1,2,3,9):¶
- POUZE_TRZNI mode in SE v2.1
- Noise detection (city_gps crossref + street patterns)
- Min-count policy (count<3 skip, count<5 cap)
- Confidence calibration (deterministic formula)
- Hard gates (POZEMEK/KOMERCNI agreement<0.80)
- Case-sensitivity bug fix (city_stats uppercase)
Sprint 2 Fixes (Points 4,5):¶
- AI V8 confidence caps: BYT 0.85, DUM 0.72, KOMERCNI 0.65, POZEMEK 0.40
- Nakladove konstanty: REPRO 45k->62k, CAP 4.5%->4.0%, rents updated
- National medians updated to 2026 values
Soubory: - /opt/cenova_mapa/mapa1_prodeje/app.py (case fix + Sprint 1) - /opt/cenova_mapa/mapa3_ai/app.py (confidence caps) - /opt/cenova_mapa/super_maps/super_maps_unified.py (nakladove konstanty) - /opt/super-ensemble-v2/app.py (hard gates + POUZE_TRZNI) - /opt/mapa_levon/app.py (min-count + confidence) - /opt/reality-scraper-next/MASTER_CLEANED.db (143k records, 40k GPS) - /opt/cenova_mapa/city_stats.db (3,833 entries)
Status: OK
2026-03-02 Claude Code - CzechAI Aurum V3 Swarmy Complete¶
- ALL 10 swarmy rewritten to V3 Direct StateGraph pattern (NO supervisor, NO react agent)
- Total 6023 lines across 9 new files + patched swarm_runner.py
- Root cause fix: swarm_runner.py invoke_swarm() now passes query + all fields alongside messages
- Pattern: router_node (keyword) → _fetch_context (API pre-fetch) → agent_node (LLM) → END
- Model: Qwen3:32b via create_aurum_smart (NO tool calling needed)
- All 10 swarmy tested and confirmed working via API endpoint
- Backup at /opt/router-api/swarmy/backup_v2_20260302/
Status: OK
2026-03-04 Claude Code - Pipeline 31/31 + Smart XLSX + Dashboard¶
Co bylo udelano: - Doplneno 14 chybejicich modulu do reality-pipeline (31/31) - Smart XLSX export: 4 listy, 50 sloupcu, color-coded (podhodnocene/nadhodnocene) - LIVE Dashboard na :9102, Prometheus :9101, REST API :9110 - Firewall otevreny porty 9101, 9102, 9110 - Schedule: automaticky XLSX export kazdy den 07:15
Soubory: - /opt/reality-pipeline/reality_pipeline/export/smart_xlsx_export.py - /opt/reality-pipeline/reality_pipeline/monitoring/ (health, metrics, dashboard, alerts, metrics_exporter) - /opt/reality-pipeline/reality_pipeline/export/ (csv_export, json_export, api_server, sync_179) - /opt/reality-pipeline/reality_pipeline/processing/ (enrich_maps, city_extractor, exekuce, insolvence) - /opt/reality-pipeline/reality_pipeline/scrapers/fabric.py - /opt/reality-pipeline/PIPELINE_COMPLETE.md
Status: OK
2026-03-08 Claude Code - PandasAI + Gradio Demo + spaCy NLP nasazení¶
- PandasAI: port 5076, ptej se dat česky, 306K nemovitostí, GPU Ollama qwen3:8b
- Gradio Demo: port 5077, 6 záložek (Cenová Mapa, Oceňovač, AML, Prodeje, Kontakty, Firmy)
- spaCy NLP: port 5078, český NER (PER/LOC/ORG), UDPipe POS/lemma
- NLP napojeno do AML: nový endpoint /api/aml/screen/from-text
- Opraveno chat.czechai.io/app/programy: všech 28 nástrojů (6 karet + 22 kalkulaček)
- Hlavní problém: hardcoded http:// IP adresy → opraveno na relativní /api/ cesty
- Přidán nginx proxy pro /api/calc/ do HTTPS bloku
- Spuštěn oceňovač (port 5300, PM2 ocenovac)
- Opravena inflace kalkulačka (division by zero)
Status: OK
2026-03-09 Claude Code - Lovec Agent + Copilot Deploy¶
- Lovec Agent deployed: port 5133, PM2
lovec-agent, 146K inzerátů, text-to-SQL via qwen3:32b - Znalecký Panel UI: Combined chatbot at /znalecky-panel/chat with tabs (Znalec + Lovec)
- Copilot bar: Added to CzechAI Platform (dev.1312.pro/platform/) under header
- Copilot features: Quick estimate, all 18 services, search, grid view
- Nginx: /lovec-api/ → localhost:5133
Soubory: - /opt/lovec-agent/lovec_agent.py - Lovec Agent backend - /opt/znalecky-panel/chatbot.html - Combined chatbot UI - /opt/znalecky-panel/app.py - Added /chat endpoint - /var/www/czechai-platform/index.html - Added Copilot bar + panel - /etc/nginx/sites-enabled/router.czechai.io - Added lovec-api proxy
Status: ✅ OK
2026-03-09 Claude Code - Platform Streaming + Markdown + Fonts¶
- Streaming: LLM responses now stream token-by-token (SSE) instead of waiting for full response
- Router API: /v1/llm/chat now supports stream=true, proxies SSE from GPU Ollama
- Nginx: Added dedicated /v1/llm/chat location with proxy_buffering off for SSE
- Markdown rendering: Added marked.js + highlight.js for proper markdown→HTML in agent responses
- Typography: Source Serif 4 serif font for agent message body text, beautiful rendering
- Business Strategist: Upgraded system prompt for Genspark-style 2000+ word structured reports
- Think block stripping:
... blocks from qwen3 are hidden from display
Soubory: - /var/www/czechai-platform/index.html - streaming, markdown CSS, fonts, prompt - /opt/router-api/server.py - SSE streaming proxy support - /etc/nginx/sites-enabled/router.czechai.io - SSE location block
Status: ✅ OK
2026-03-11 Claude Code - Docling v2.78.0 API + MCP Server¶
- Nainstalován Docling v2.78.0 na server 117 (PDF/DOCX/PPTX/XLSX/HTML/images → Markdown/JSON)
- Flask API server na portu 8210, PM2: docling-api
- Nginx proxy: https://router.czechai.io/docling/
- MCP server pro Claude Code (4 tools: convert_url, convert_file, health, formats)
- Endpointy: /api/convert (upload), /api/convert/url (URL), /api/health, /api/formats
- Status: OK
2026-03-12 Claude Code - Swarm endpoint fixy (6 oprav, 10 swarmů)¶
- Fix: cenova-mapa-prodeje (5091) is_noise column + restart
- Fix: cenova-mapa-ai (5093) obnovena V8 z backupu
- Fix: swarm_05 CSU+Prodeje /api/search → /api/estimate
- Fix: Market Intel GPS lookup místo query stringu
- Fix: Mem0 /v1/memory/search → /search ve všech 10 swarmech
- Výsledek: swarmy vrací reálná data místo generického textu
- Status: OK
2026-03-12 Claude Code - Nginx Publisher Proxy + Agent Zero MCP¶
- Opraveno: /publisher/ proxy na router.czechai.io -> port 3334
- Root cause: corrupted .bak_publisher soubor v sites-enabled blokoval nginx reload
- Agent Zero (94.130.218.117:8230) zaregistrován do router_tower.db jako worker
- MCP endpoint: sse://94.130.218.117:8230/mcp/t-js5vLigfFkn-sMg5/sse
Soubory: - /etc/nginx/sites-enabled/router.czechai.io (přidán /publisher/ location block) - /opt/router-api/router_tower.db (nový worker agent-zero-117)
Status: OK
2026-03-12 Claude Code - Mapa embed + Agent Zero CZ¶
- Cenová mapa embedována do chat.czechai.io/app/maps/mapp jako 3. tab (iframe router.czechai.io/map/)
- Agent Zero (94.130.218.117:8230) přeložen do češtiny (6 prompt souborů)
- Soubory: maps-mapp.tsx, /opt/agent-zero/prompts/*.md
Status: OK
2026-03-12 Claude Code - Opravy 5 problémů¶
- ocenovac-batch (5300) - NENÍ web server, je to batch job (cyklus každých 5min). Port 5300 neexistuje. Běží OK, zpracovává 1487 záznamů.
- geo-api (5080→8100) - Běží na portu 8100 (ne 5080). Status OK, 416k POI features loaded.
- prest-api - Opraveno: PG IP 172.19.0.7→172.19.0.3, port 3100→3101 (konflikt s aiclient-api). Max memory 150MB. 0 restartů.
- legal-ai-v2-api - Nainstalován torch (CPU). Cuda warning ignorovatelný. Restartováno.
- Backupy - Vyčištěno 60 GB (97G→37G). Disk 79% (bylo 64%+).
Status: OK
2026-03-13 Claude Code - GPU Coder IDE & Coding Models¶
- GPU Coder IDE v2 deployed: https://router.czechai.io/web/gpu-coder-ide.html
- Web-based coding IDE with chat to 5 Ollama models (streaming)
- Code editor with tabs, line numbers, syntax highlighting
- Live preview with console, deploy to domain
- 8 CSS theme presets, tutorial with 6 examples
- Resizable panels, keyboard shortcuts, download/export
- Nginx CORS proxy: /ollama-gpu/ → GPU server 170:11434
- GPU models: qwen2.5-coder:32b, codestral, aurum-code (Qwen3Next-80B)
- Claude Code agent: gpu-coder (delegates coding to GPU)
- 131 subagents installed from awesome-claude-code-subagents
- claude-code-router v2.0.0 configured (aurum-chat/brain/qwen3)
Soubory: - /var/www/router-static/gpu-coder-ide.html - /etc/nginx/snippets/ollama-gpu-proxy.conf - C:\Users\info.claude\agents\gpu-coder.md - C:\Users\info.claude-code\gpu-coder.sh
Status: ✅ OK
2026-03-16 Claude Code - Dokumentace 25 nezdokumentovaných PRODUCTION adresářů¶
- Hloubkový scan GEODATA (92,724 odkazů, 105 ATOM feedů, 7 skriptů)
- Batch 1: MEGA_MODEL_V7, META_MODEL_V4, ORCHESTRATORS, PRAVNIK, CRAWL4AI, WEB_APPS, ANALYSIS, CHAT_FRONTEND, COCKPIT_UI
- Batch 2: Czech-Legal-AI, DOCS, kalkulacky, langgraph_pipeline, qr-platby, reality-scan-portal, test-czechai-io, test1-frontend-nextjs, hlidac-statu, data_collection, agent-chat, MKDOCS_BLOG, MKDOCS_SITE
- Soubory: DOC_geodata_deep.md, DOC_undocumented_batch1.md, DOC_undocumented_batch2.md
- Status: OK
2026-03-17 Claude Code - Super-Ensemble v2.3 upgrade na 11 enginu¶
- META v4 opravena (GPS lookup 40+ mest) + integrovana do SE (jen byty)
- 5 mrtvych enginu diagnostikovano: 3 zive, 2 oziveny (vynosovy+nakladovy)
- super-unified (port 7000) restartovan
- meta_v5 zachranena z /tmp do /opt/cenova_mapa/meta_model_v5/
- GPS reverse lookup mesto->GPS pridan do SE
- V11 Katastr AI oziveno (port 5131, 162K records, 5-level geo fusion)
- V11 integrovano jako engine do SE v2.3 (POST, weight 0.8)
- V11 metriky: byty MdAPE 13%, domy 25.7%, pozemky 51.6%, celkem 23% (201K testu)
- SE v2.3 final: 11 enginu, 3 pristupy, auto GPS, spread Praha byty 6-8%
- Soubory: app.py, meta_direct_api.py, meta_model_v5/app.py
- Status: OK
2026-03-20 Claude Code - Nocni session: Cleanup + Enrichment + GEO docs + Stack HTML¶
- Server 179 cleanup: 16 GB disk uvolneno, 26 PM2 procesu zastaveno, 354 zombie -> 0
- Server 134 zombie cleanup: 9,057 -> 0
- Remeslnici: 333K report + 3 CSV exporty + enrichment pipeline spusten
- CzechAI Stack HTML: Notion -> dark-mode HTML (129KB), online na router
- FlipRadar HTML nahrano na router
- GEO dokumentace: 743 radku, 8 PECEK k vyrobe, prioritni roadmapa
- Soubory: czechai-stack.html, DOC_geodata_deep.md, worker_google_enrich.py
- Status: OK
2026-03-21 Claude Code (Opus) - Mega session¶
- Dashboard: 6-col grid, 192 obrazku ze Sreality, mini-reporty (trzni cena + sleva)
- Dashboard: Analyza SE vs Znalecky Panel - 2 ruzna API
- entity.czechai.io: fix filtrovani lokace (lokace->city mapping)
- AML: 6 oprav (A-F) - sanctions note, OpenCorporates, UBO Tavily, cadastre Tavily, adverse media filtr, EUID fallback
- Property report: dark->white theme + CzechAI logo
- cockpit: reality-unified iframe -> novy dashboard
- export_signal_json.py: permanentni Sreality image enrichment (cron 30min)
- chat.tsx: background image obnoven
- BUG: leads.czechai.io formular posila undefined undefined - nutno opravit!
- Soubory: 10+ souboru na serverech 179, 134
- Status: OK
2026-03-22 Claude Code - MEGA SESSION: 6 nových služeb + Agent Chat¶
Nasazené služby:¶
| Služba | Port | Status |
|---|---|---|
| TradingAgents API | 5241 | ✅ 9 AI agentů, GPU Ollama |
| Outlines API | 5240 | ✅ Structured LLM output |
| useSend Email | 3095 | ✅ Docker, čeká DNS |
| Browser-Use | 5250 (scraper 134) | ✅ AI browse + scrape |
| Agents Stats API | 5242 | ✅ Live monitoring |
| YT-MP3 | 5260 | ✅ YouTube to MP3 |
Nové stránky:¶
- agent-chat.html - GPU Chat (6 modelů, markdown, paměť, PWA)
- agents-hub.html - Agents monitoring
- agents-dashboard.html - Bílý dashboard s agenty
- lanyard/ - 3D Lanyard
GPU: aurum-uncensored (38.8 GB, 5min VRAM timeout)¶
2026-03-23 Claude Code - Nocni session: Opravy + Dashboardy + Inventura¶
- Oprava RAG API: OLLAMA_URL presmerovan na GPU 170, interpreter fix
- Oprava Agent Gateway: duplicitni app.run() blok odstranen, smart route funguje
- AML API: stabilni (196 hist. restartu)
- 3 nove statni dashboardy: rozpoctovy-radar, eet-anomaly, danovy-detektiv-v3
- Kompletni inventura 4 serveru (179, 134, 117, GPU 170)
- Identifikovano 7 mrtvych sluzeb, 3 crash-loop procesy, navrhy optimalizace
- Soubory: rag_api.py, ecosystem.config.js, agent_gateway.py, 3x dashboard HTML
- Status: OK
2026-03-24 Claude Code - Mega session: služby, agenti, monitoring¶
Nové služby nasazené: - ✅ Crucix OSINT dashboard → intel.czechai.io (přeloženo do češtiny) - ✅ OSINT API 14 nástrojů → osint.czechai.io (port 5232) - ✅ OpenMemory AI paměť → port 8787 - ✅ Metabase BI dashboard → port 3601 - ✅ Uptime Kuma monitoring 30 služeb → dev.1312.pro - ✅ Trading Agents API restartováno → port 5241 - ✅ Leady AI Agent přepnuto na GPU Ollama (qwen2.5-coder:32b) - ✅ Czech CSMPT 7B staženo na GPU
Nové agenty/příkazy vytvořeny: - platform-doctor agent (auto-opravuje padlé služby) - service-auditor agent (projde službu browserem, navrhne vylepšení) - /platform, /platform-fix, /platform-gpu, /platform-deploy - /platform-backup, /platform-audit, /platform-report - Scheduled monitoring loop (každou hodinu) - Scout agent dedup patch (max 1 report per portál per 6h) - 341 duplicitních scout reportů vyčištěno
DNS přidáno: - intel.czechai.io → 46.224.121.179 - osint.czechai.io → 46.224.121.179
HuggingFace Czech datasety staženy na server 117: - Czech parliament proceedings - Czech court decisions NER - Czech politicians
Status: ✅ 152 PM2 procesů, 11+ služeb ověřeno
2026-03-25 Claude Code - Mega session: Fotky, Sidebar, Nastroje¶
Co bylo udelano:
Fotky v dashboardech¶
- Vytvoreny image scrapery pro vsechny portaly (OG:image + Sreality API)
- Sreality: 36181 obrazku (20-thread fast scraper, 8min)
- iDNES: 519/593 obrazku
- Ostatni dashboard: opraven data mapping (image_url, url, title, city)
- Bezceny export: zahrnut price <= 20000 Kc
- Tagger: opraven (ignoruje price <= 20k, vymazany false opportunities)
- Auto re-export kazdych 15min
Cockpit sidebar + stranky¶
- Codex dnes rozladil sidebar a 9 stranek
- Vsechny obnoveny z pre-Codex stavu (.codex_20260325_* backupy)
- Pridany sidebar polozky: Bezrealitky, Bez ceny, Drazby, Pixel Studio
- Routes pridany do App.tsx
- Maps Pro: obnovena Leaflet verze
Nove nastroje¶
- Chrome DevTools MCP: lokalne, ovladani Chrome bez extension
- Stagehand API: server 134:5260, AI browser automation (extract/act/observe/screenshot)
Agents Directory¶
- Nahrazeny emoji za Remix Icons (barevne SVG)
- Puvodni bily design zachovan
Faktury unor 2026¶
- Stazeno 27 dokumentu z Gmailu do C:\Users\info\Downloads\FAKTURY_UNOR_2026 Soubory:
- /opt/reality-pipeline/scrape_sreality_fast.py (NOVY)
- /opt/reality-pipeline/scrape_all_images.py (NOVY)
- /opt/stagehand/stagehand-api.mjs (NOVY)
- C:/Users/info/chrome-devtools-mcp/ (NOVY)
- /var/www/router-static/agents-directory.html (UPRAVEN)
- /opt/reality-pipeline/export_dashboards.py (OPRAVEN - bezceny query)
- /opt/reality-pipeline/reality_pipeline/processing/tagger.py (OPRAVEN - price <=20k)
- /var/www/router-static/ostatni-dashboard.html (OPRAVEN - data mapping)
Status: OK
2026-03-26 Claude Code - DB Guardian v1.0 nasazen¶
- db_guardian.py: centralni ochrana DB pred premazanim
- Blokuje: DROP TABLE, TRUNCATE, DELETE FROM bez WHERE
- Chranene DB: MASTER_LIVE, MASTER_CLEANED, MEGA_MERGED, DRAZBY, ARCHIVE
- Nasazeno do: cli.py, daemon.py, 6 standalone skriptu, 7 legacy validate skriptu
- Opraveno: merge_bezrealitky.py, prerov_scraper_v3.py
- Status: AKTIVNI na reality-pipeline daemonu
2026-03-26 Claude Code - MASTER_LIVE.db Enrichment Pipeline¶
- Normalizace property_type: 3,464 oprav (DOM->DUM, POZEMK->POZEMEK, MODULARNI->DUM, NULL->parsed)
- Rooms/dispozice parsovani z title: 7,377 zaznamu
- Condition parsovani z title: 356 zaznamu
- Extras (balkon, parking, podlazi): 37 zaznamu
- SE2 pricing (4,423 novych oceneni): celkem 49,901 oceněných (61%)
- Nove opportunities: 8,998 (VELKA: 1,741, MEDIUM: 862, LEHKA: 1,942)
- undefined rooms vycisteno: 1,313
- Status: OK, 0 duplikatu, 0 neplatnych URL
2026-03-26 Claude Code - Contact Scraper v1.0¶
- Novy modul scrape_contacts.py - sbira emaily a telefony z realitních inzeratu
- DB: /opt/reality-pipeline/data/contacts.db (3 tabulky: contacts, unique_emails, unique_phones)
- Vysledky: 349 unikatnich emailu, 536 unikatnich telefonu, 1,453 kontaktnich zaznamu
- MASTER_LIVE.db: 805 zaznamu obohaceno o owner_email/owner_phone
- Portaly: bezrealitky, eurobydleni, bazos, hyperinzerce, ceskereality, bydlet, realitymix, mmreality...
- Vylouceno: sreality.cz (bot protection), idnes.cz (paywall)
- Status: OK, pripraveno na dalsi rundy
2026-03-26 Claude Code - Reality API v4 + Sreality Dashboard v2¶
API v4 - primo z databaze¶
- Novy /opt/reality-pipeline/reality_api_db.py na serveru 134
- Cte PRIMO z MASTER_LIVE.db (ne CSV), PRAGMA query_only=ON
- 55,137 zaznamu, vzdy cerstve, SE2 ceny, dispozice, kontakty
- Novy endpoint /search (mesto, kraj, radius, cena, typ, dispozice)
- Novy endpoint /cities (dropdowny pro frontend)
- PM2: reality-data-api-v4 na 134:5211
- SSH tunel 179:5214 -> 134:5211 (PM2 ssh-tunnel-reality)
- Nginx presmerovan z 5211 na 5214
- Stary CSV API (reality-data-api) stopnut
Sreality Dashboard v2¶
- Dropdown: Mesto (200 mest), Kraj (14), Dispozice
- SE2 cena v kartach (zelena/cervena + %)
- SE2 odhad v detailu nemovitosti
- Prilezitosti badge (VELKA/MEDIUM/LEHKA)
- Dispozice, stav, balkon, parking v detailu
- Email/telefon v detailu kde je
- Razeni: +CzechAI cena, +Sleva%
- Foto primo z image_url (ne JSON parse)
- Status: NASAZENO
2026-03-28 Claude Code - Dokumentace Audit + Sitemap + Gap Analyza¶
- Sitemap vsech webu: https://router.czechai.io/web/czechai-sitemap.html (97 subdomeny, 594 static pages)
- Upload 03-pojisteni-new.html
- Audit 20 dokumentu z LEOS_HLAVNI SLOZKA (8 GOLD, 8 SILVER, 4 OUTDATED)
- GAP ANALYZA: chybi DIBAVOD/Flood Risk API, Justice OR, ISIR, Sanctions scraper
- MASTER_LIVE stats: 217K zaznamu, 805 emailu (0.37%), 597 telefonu, 31K GPS, 9.8K opportunities
- Server 179: 1.25M ARES firem, 2.72M B2B kontaktu
Status: OK
2026-03-28 Claude Code - 3 nove sluzby nasazeny (GAP fix)¶
1. Flood Risk API (server 179, port 5410)¶
- DIBAVOD WFS + OSM Overpass + CUZK INSPIRE
- Risk scoring 0-100 (higher = safer)
- Test: Praha u Vltavy = MEDIUM_HIGH, 190m od vody
- /opt/flood-risk-api/app.py, PM2: flood-risk-api
2. AML Datasources (server 179, port 5420)¶
- Justice OR: company lookup by ICO/name
- ISIR: insolvency check
- Sanctions: EU + UN lists (1922 UN names loaded)
- Full AML check: /api/aml/full-check/{ico}
- /opt/aml-datasources/app.py, PM2: aml-datasources
3. Enrichment Batch (server 134, port 5430)¶
- Email enrichment: Sreality API, Bezrealitky scrape, iDnes, ARES, MX fallback
- Batch geocoding: RUIAN local, Nominatim, Mapy.cz
- Stats endpoint: /api/enrich/stats
- Joby spusteny: 216K emails + 128K geocode
- /opt/enrichment-batch/app.py, PM2: enrichment-batch
Stav pred/po:¶
| Metrika | Pred | Po |
|---|---|---|
| Flood Risk API | NEEXISTOVALO | ONLINE :5410 |
| Justice OR | NEEXISTOVALO | ONLINE :5420 |
| ISIR | NEEXISTOVALO | ONLINE :5420 |
| Sanctions | NEEXISTOVALO | ONLINE :5420 (1922 UN) |
| Email enrichment | 0.37% | JOB RUNNING (216K) |
| Geocoding | 12.26% | JOB RUNNING (128K) |
Status: OK
2026-03-28 Claude Code - Cenove Mapy V15 + Self-Learning Pipeline¶
- 8 iteraci modelu: V14(61%) -> V15f(3.6%) — best MAPE
- 3 nove PM2 procesy: feature-enrichment, self-learning-map(5150), map-sync-bot
- MASTER_MAP_DB: chranena slozka, 301MB modelu, 2.9MB lookupy
- 15 novych sloupcu v MASTER_LIVE (condition, floor, energy, elevator...)
- Enrichment: ~1600 zaznamu/hod z Sreality API + Crawl4AI + GPU NLP
- Cockpit klon + Reality2026 frontend (5 stranek)
- Primy Majitel opraven (fotky, titulky, sort)
- Status: OK
2026-03-28 Claude Code - AML v2 ULTIMATE + Enrichment fixes (UPDATE)¶
AML Datasources v2.0 ULTIMATE (port 5420)¶
- Justice OR + ARES fallback: or.justice.cz ma JS rendering, ARES API je spolehlivy fallback
- Testovano: CEZ (sidlo=Duhova Praha), Skoda Auto (Mlada Boleslav), Agrofert (Pyselska Praha)
- ISIR: POST form data na stat.do (spravny endpoint vs. GET)
- Sanctions: 34,680 EU + 1,003 UN jmen, fuzzy + substring + normalize_name (NFD)
- Putin = SANCTIONED HIGH (exact EU match)
- Full AML check: risk_level + risk_flags (INSOLVENCY, SANCTIONS, NOT_IN_REGISTRY)
- /opt/aml-datasources/app.py
Enrichment Batch fixes (port 5430)¶
- Fixed: dict_factory misto sqlite3.Row (KeyError)
- Fixed: rowid alias v SELECT (missing column)
- Fixed: per-record error handling (chunk nepadne na jednom zaznamu)
- Email enrichment: 805 -> 900+ (95% hit rate na prvnich 100)
- Geocoding: 26,618 -> 27,005+ (99% hit rate, bezi na 128K)
- Joby bezi sekvencne (database locked pri soucasnem zapisu)
- /opt/enrichment-batch/app.py
DB Guardian stav¶
- AKTIVNI na 16 souborech v /opt/reality-pipeline/
- Blokuje DROP TABLE, TRUNCATE, DELETE bez WHERE
- Auto-backup pred zapisem do chranenych DB
- MASTER_LIVE.db: 217K zaznamu, 102 sloupcu, data se NIKDY nemazou
Status: OK
2026-03-28 Claude Code - GeoIntel Platform + Dashboard Fixes¶
Co bylo udelano:
Dashboard opravy¶
- API routes.ts: kazdy portal cte svuj JSON soubor (ne jeden signal-opportunities)
- Parser: zvlada oba formaty (pole i {rows:[]})
- Field mapping: Nazev/title, Mesto/city, Cena/price dualita
- Ceny: 4107 nerealnych cen (>1B) opraveno, 126K cen/m2 dopocitano
- Drazby+Ostatni: opravena fetch URL (location.origin -> chat.czechai.io)
- Fotky: scrapovano 2521 novych fotek (idnes +1994, bazos +199, bezrealitky +264)
- Image-first sorting: zaznamy s fotkou vzdy navrchu
- Auto-scraping cron: kazde 4h + denne 2:00 full scrape
Primy Majitel¶
- 28014 nemovitosti od soukromych prodejcu (bazos, sbazar, avizo, hyperinzerce, annonce)
- Zamceny dashboard na heslo Heslo123
- Automaticky export po kazdem pipeline exportu
- Cockpit stranka /app/primy-majitel se zamkem v sidebar
Signal Inzeraty (Reality VIP)¶
- Opraveno: 0 fotek -> 500 fotek (100%)
- Slevy omezeny na max 40% (drive nesmyslne >40%)
- Automaticky export v pipeline
Browser Command Center v3¶
- 200 live browser instanci s iframy
- Orchestrator (navigate/screenshot/extract/act/observe/scrape/scout)
- Presety (Sreality 50, Bezrealitky, iDNES, Bazos, Mix, All portals)
- LIVE mode (auto-refresh screenshoty)
CzechAI GeoIntel Platform (NOVE!)¶
- Unified GeoIntel API: port 5290, FastAPI, asyncio.gather (186ms)
- POST /api/geo/query - kompletni Location Intelligence
- GET /api/geo/heatmap - cenova heatmapa GeoJSON (174 bunek)
- GET /api/geo/markers - property markery GeoJSON
- GET /api/geo/search - RUIAN 3M adres
-
- geocode, reverse, score, risk, nearby
- V15f API: port 5310, MAPE 3.6%, KNN+XGB+LGB residual
- 43K micro medianu, 3752 macro medianu
- Praha 60m2: 10.85M CZK (181K/m2)
- Brno 80m2: 9.36M CZK (117K/m2)
- 3D Frontend: MapTiler SDK, 5 vrstev, heatmapa, sidebar intel
- Quick Estimate panel (adresa -> odhad)
- Hover tooltips na markerech
- Porovnani modelu (V15f vs SE v2.3 vs KNN)
- Risk indikatory (zaplavy, geologie)
- HTTPS proxy pres cockpit Express (/api/geo/, /api/v15f/)
- Cockpit /app/geointel + sidebar GeoIntel 3D
Dashboard - 3D Mapa CR¶
- MapTiler API key nasazen (9daj3...)
- 117 foto markeru primych majitelu
- 17 mest + 3 hory
- Cenova heatmapa overlay
Dashboard Cockpit¶
- Robot pozadi zviditelneno (brightness 0.6, opacity 0.85)
- Finance dashboard (538 463 CZK)
Soubory: - /opt/geointel/api.py (Unified API) - /opt/cenova_mapa/v15f_serve.py (V15f API) - /opt/reality-pipeline/export_primy_majitel.py - /opt/reality-pipeline/export_signal_inzeraty.py - /opt/reality-pipeline/validate_dedup.py - /opt/reality-pipeline/fix_prices.py - /var/www/router-static/geointel.html - /var/www/router-static/primy-majitel-locked.html - /var/www/router-static/browser-command-center.html - /var/www/router-static/czechai-3d-map.html - /var/www/router-static/czechai-finance-dashboard.html
Status: OK
2026-03-28 Claude Code - AML Pipeline LOCKED & VALIDATED¶
Co bylo opraveno:¶
- screen/complete endpoint NEMEL report generaci → PRIDAN auto-report
- Broken sed patch (single line) opraven na spravny multi-line Python
- Router presmerovan z moje mini verze (35K sankci) na produkcni (1.5M sankci, 18 modulu)
- Moje AML na serveru 117 zastavena (nepotrebna duplikace)
Co bylo vytvoreno:¶
- AML_PIPELINE_RULES.md - nemenitelna pravidla pipeline (18 modulu, vahy, endpointy)
- aml_validate.sh - validacni script (8 checku: health, files, import, auto-report, backup, PM2, last report)
- PRODUCTION_20260328 snapshoty (main.py, orchestrator, report generator) - read-only (chmod 444)
Test vysledek:¶
- CEZ (45274649): score 8/100 = NONE, report 338KB
- URL: https://router.czechai.io/web/aml-report-45274649-38d3dee5.html
- 18/18 modulu, 1,578,484 sankci, 54.8s
- Validator: ALL CHECKS PASSED
Pravidla:¶
- Report se generuje VZDY po screen/complete
- 18 modulu VZDY (completeness 100%)
- Vahy se NEMENI
- BACKUP pred kazdou zmenou
- NIKDY nemazat generate_aml_report.py, aml_orchestrator.py, main.py
- Validovat: bash /opt/aml-platform/aml_validate.sh
Status: LOCKED & PRODUCTION READY
2026-03-28 Claude Code - V17 Sub-Type Models + Auto-Retrain¶
- 11 sub-typů: BYT 13.2%, DUM 25.6%, KOMERCNI 17.5%, PZ_LOUKA 15.0%
- 4 modely/typ: KNN+XGB+LGB+CatBoost, log-target pro nestabilní typy
- Trénováno na serveru 117 (251GB RAM), 97K záznamů, 553s
- Auto-retrain daemon PM2 na 117, threshold 500 enriched
- Modely synced na 179: /opt/cenova_mapa/models_v17/
- Status: OK
2026-03-29 Claude Code - RARE Sub-Types FINAL¶
- 8 rare sub-typu: Sklad Med 1.20%, Chata 1.65%, Garaz 2.94%, PZ_LOUKA 2.70%
- V15f original (3.6%) = hlavni model BEZ ZMEN
- Modely: /opt/cenova_mapa/models_rare_subtypes/ (32 pkl)
- Geocoding garazi: 48->195 s GPS
- Status: OK
2026-03-29 Claude Code - Cenove Mapy KOMPLETNI REPORT¶
- V15f 3.6% MAPE = hlavni model (byt/dum/pozemek/komercni)
- 9 sub-typu: sklad Med 1.06%, chata 2.17%, louka 2.67%, zahrada 3.17%
- CUZK 30,866 transakci konvertovano JTSK->WGS84 (pyproj)
- 275 lesu z CUZK, 233 garazi z CUZK budov
- Sub-Type Router API: port 5160, 9 modelu online
- Self-learning: 1070 enriched, sync kazdych 5min
- Auto-retrain: 2 daemony (179+117)
- Geocoding: 58K zaznamu, garaze 48->478 s GPS
- KOMPLETNI report: CENOVE_MAPY_STAV_20260329.md
- Status: OK
2026-03-29 Claude Code - Smart Price Router DEPLOYED¶
- Smart Price Router v1.0: port 5175, auto-routes V15f+SubType+SE
- Sub-Type Router v2.0: best model per typ (27+24 feat mix)
- NGINX: router.czechai.io/super-ensemble/ -> 5175 (was 5111)
- Vsechny frontendy automaticky pouzivaji best modely
- BYT 3.6% MAPE, GARAZ Med 2.94%, SKLAD Med 1.06%
- Status: OK - DEPLOYED EVERYWHERE
2026-03-29 Claude Code - MIX tab oprava + svatý postup¶
Co bylo uděláno: - Opravena OSTATNI/MIX query v export_dashboards.py (z bazos+bezrealitky → 30+ portálů) - MIX tab: 5,222 → 25,502 záznamů z realitycz, realitymixcz, eurobydleni, avizo, okdrazby, annonce, mmreality... - Zapnut SCP sync 134→179 (byl DISABLED) - Vytvořen svatý postup: /opt/czechai-docs/docs/truth/mix-export-postup.md - Spuštěn image scraper pro portály bez fotek
Soubory: - /opt/reality-pipeline/export_dashboards.py (134) - OSTATNI query fix - /var/www/router-static/ostatni-data.json (179) - 25K záznamů - /opt/czechai-docs/docs/truth/mix-export-postup.md (179) - postup
Status: OK
2026-03-29 Claude Code — LOVEC AGENT: MindSearch Upgrade¶
MindSearch pattern (InternLM/MindSearch) doplněn do lovec-agent (179:5133): - Planner: LLM rozloží dotaz na 2-4 paralelní sub-queries - Paralelní DB search (146K + 217K) + web search (26 portálů) per sub-query - Deduplikace + LLM combined analysis - Nový endpoint: POST /api/mindsearch - Cockpit panel přepojen na MindSearch
Lovec v3 API (117:5810): 12 endpointů, deck.gl mapy, HTML reporty Nginx: vyčištěny 4 .bak soubory, proxy opraveny GitHub repos: MindSearch, deep-searcher, DocsGPT, Agent-Reach, mcp_agent_mail, grepai, DesktopCommanderMCP
- Soubory: /opt/lovec-agent/lovec_agent.py, /opt/lovec-v3/lovec_agent.py
- Status: OK
2026-04-03 Claude Code - DD Agent v1.0 + Rewire 23 souborů¶
- DD Agent (port 5291): unified AML 18-step + property + mega reporty
- Endpointy: /api/dd/screen, /api/dd/property, /api/dd/complete
- Nginx: router.czechai.io/dd/
- 23 konzumentů přepsáno z 8093 na 5291 (AML internals ponechány)
- Soubor: /opt/dd-agent/dd_agent.py
Status: OK
2026-04-04 Claude Code - Pipeline Audit + Opravy + Watchdog Ekosystem¶
- Pipeline daemon na 134: OPRAVEN (CWD fix), bezi s 19 scheduled tasks
- 11K mrtvych linku: ARCHIVOVANO (zachovana data)
- URL validator + geocoding: ZNOVU ZAPNUTY (cron)
- V15f batch oceneni: BEZI (149K zaznamu)
- Image scraper: BEZI (157K bez fotky)
- Watchdog agent: cron 30min, hlida pipeline+DB+API+oceneni+fotky
- Alert agent: cron 1h, kontroluje >20% podhodnoceni, vola DD Agent
- PIPELINE_RULES.md: ZAKAZ PREMAZAVANI, data se jen obohacuji
Status: OK
2026-04-04 Claude Code — MEGA SESSION: Booking + CRM + 15 služeb + 20 Python libs¶
Booking kalendář (od nuly): - router.czechai.io/booking/calendar — video bg, WhatsApp, formulář - 5 rezervací (Adam, David, Teodora, Alena, Machálek) - Resend API email notifikace
Twenty CRM opraveno: - 53 DB migrací, admin účty, 50 klientů importováno
Teable sjednoceno: - 1 instance, 383K records (333K řemeslníků + 50K realit + CRM)
Lovec v3.0: - Přestavěn na Claude API + Ollama fallback
Nové služby (117): - MeiliSearch:7700, Metabase:3200, Homarr:7575, Vaultwarden:8222 - GlitchTip:9000, ntfy:2586, Healthchecks:8301 - Novu:4200 (179), Netdata:19999 (3 servery)
Python libs (179+134): - orjson, polars, loguru, duckdb, geopandas, sentry-sdk, weasyprint +14 dalších - sops 3.9.4, git-crypt 0.7.0
Security: Gitleaks audit — 73 nálezů, 5 kritických (Stripe, AWS, Anthropic)
Research: 5 awesome listů, 50+ tools identifikovaných
Status: OK
2026-04-05 Claude Code - Hunter Agent v1.0 (standalone + scout extension)¶
Co bylo udelano: - Standalone hunter-agent deployed na 179 port 5800 (PM2 ID 149) - FastAPI server: /hunt (async), /hunt/sync, /status/:id, /results/:id, /health - LLM router: AWS Bedrock eu-central-1 (Claude Sonnet/Opus 4.6) primary + OpenRouter fallback - Valuator: V15f API (5310, MAPE 3.6% byt+dum) - Enrichers: CUZK realne prodeje (30k transakci), RAG lightrag, red-flag word detector - Pipeline: load -> valuate (20 workers) -> filter band 5%-35% -> enrich -> parallel Claude (8 workers) -> verdict filter REAL -> report - Parser fix: brace-matching JSON extractor (opravil PARSE_ERROR z 13/15 na 0/15) - Data quality filter: prodej only, portal != bazos, title >= 10 chars, description >= 100 chars - Sane band: discount 5%-35% (nad 35% jsou data bugs) - Per-type area limits: byt 15-400m2, dum 30-1500m2 - Scout Agent (134:5555) extended: POST /scout/hunter, GET /scout/hunter/results/:id (delegates na hunter-agent) - Firewall ufw: otevren port 5800 na 179 pro 46.224.232.134
Soubory: - /opt/hunter-agent/{hunter.py, pipeline.py, llm_router.py, valuator.py, enrichers.py, .env, ecosystem.config.js} - /opt/czechai-scraper-tools/scout-agent/scout-agent.mjs (patched)
Test results (Praha, byty, threshold 5%, limit 3): - 79 kvalitnich kandidatu -> 24 v pasmu -> 15 Claude verdict - Breakdown: 13 REAL + 2 SUSPICIOUS (0 PARSE_ERROR) - Total time: ~57s E2E - Report: https://router.czechai.io/web/report-hunter-1256d141.html
Priklady verdiktu (Claude expert reasoning): - Mala Strana mezonet 32M vs V15f 48M (-34%) -> REAL (historicky dum 17.st, vecna bremena) - Libeň 2+1 druzstevni -23% -> REAL (druzstevni je standardne -10 az -20% vs osobni) - Nehvizdy -21% -> SUSPICIOUS (V15f spatne geolokoval mimo Prahu)
Status: OK - E2E funguje, hunter-agent online v PM2, scout-agent patched and restarted
2026-04-05 Claude Code - Hunter Agent Phase 2 + Daemon + Dashboard¶
Phase 2 Deep Enrichment (deep_enrichers.py) - Regex entity extraction: ICO mod-11 validation, phones, emails, RK/owner keywords - ARES company lookup via AML:8093 - Katastr ownership cross-reference via cuzk-api:5251 - Feature extraction ze vsech MASTER_LIVE sloupcu (rooms, condition, amenities, energy, ownership, nlp_features, other prices) - Two-pass Claude review: Phase 1 quick + Phase 2 deep with full context - Novy verdict tier: DEAL (super-high confidence)
Hunter Daemon (daemon.py) - PM2 hunter-daemon ID 151, cyklus 60 min - 3 targets: Praha byt 8%, Praha dum 10%, Brno byt 8% - Dedup MD5 fingerprint, seen list /opt/hunter-agent/seen_deals.json - Telegram alerts: DEAL nebo REAL conf>=70 → instant push - Cycle summary po dokonceni
Dashboard - dashboard.html servovane z FastAPI /dashboard - Live health, hunt form, live job polling, result cards - URL: https://router.czechai.io/hunter/dashboard
Nginx - Location /hunter/ v /etc/nginx/sites-enabled/router.czechai.io - Proxy na localhost:5800 - Fixed extra brace v HTTP redirect block
Telegram - Bot @CzechAiio_bot, chat_id 1477718888 z ALLOWED_USER_ID v claude-code-telegram/.env - User musi kliknout /start aby bot mohl dorucit zpravy
Nove soubory 179: /opt/hunter-agent/{deep_enrichers.py, daemon.py, dashboard.html} PM2: 149 hunter-agent, 151 hunter-daemon
TODO (Phase 2B/2C): - Claude Vision na fotky: CDN blokuje server IP, nutny proxy nebo image mirror - Live WSDP SOAP: 200 LOC, 30-60s/call, on-demand top-N
Status: OK - E2E bezi, daemon cykluje, dashboard online, Telegram ceka na /start
2026-04-05 Claude Code — Nginx routing fix: /dd/, /rag/, /v1/agents/¶
Problém: 3 URL vraceli 404 (backup soubory v sites-enabled přebíjely hlavní config).
Fix: - Přidány 3 location bloky do /etc/nginx/sites-enabled/router.czechai.io (řádek 1415): - /dd/ → localhost:5291 (DD Agent) - /rag/ → localhost:8095 (RAG API) - /v1/agents/ → localhost:8090 (Agents Registry) - Přesunuty backup soubory z sites-enabled do /etc/nginx/backups/ - nginx -t OK, reload OK
Ověřeno: - https://router.czechai.io/dd/health → 200 - https://router.czechai.io/rag/ → 200 - https://router.czechai.io/v1/agents/registry/stats → 200 - POST /dd/api/dd/screen → 200
Status: ✅ OK
2026-04-05 Claude Code — Lovec Pardubicko+Hradecko 3+1 reko · rebuild bez šumu¶
Problém: Stránka měla 24 dealů z Sreality API, z toho 14 bylo OVER (+24 % až +426 % nad trhem — šum), 1 LOW_CONF. Reálných příležitostí = 9.
Fix: - Přepsán generator rebuild_pardu.py — místo single-source Sreality API používá MASTER_LIVE.db (226K záznamů, 17 portálů) - Kandidáti: 80 bytů 3+1 v okresech Pardubice, Chrudim, Svitavy, Trutnov, HK, Jičín, Náchod, Rychnov n.K., Ústí n.O. s cenou 10-55K Kč/m² - Re-ocenění přes Super-Ensemble v2.3 (port 5111) s stav=pred_rekonstrukci · koef 0.85 - URL verification live HTTP 200 (curl, ne urllib — iDnes blokuje python UA) - Detekce prodaných: scan těla na „prodáno", „neexistuje", „nabídka skončila" - Filtr: pouze diff_pct ≤ -8 % vs férová cena pro reko stav
Výsledek: 80 → 18 ověřených (58 low_diff, 3 sold, 1 filtered)
| Kategorie | Count | Rozsah slevy |
|---|---|---|
| D30 Extrémní | 6 | -30 až -66 % |
| D20 Výrazné | 5 | -20 až -30 % |
| D15 Mírné | 3 | -15 až -20 % |
| D10 Lehké | 4 | -8 až -15 % |
Limitace: Všech 18 z iDnes.cz — Sreality záznamy v MASTER_LIVE jsou starší snapshot (většinou prodáno/404). Bazoš a malé bazary pro 3+1 byty v regionu nemají pokryty (0 záznamů po filtru).
TODO: Doplnit živé scrapování Sreality + Bazoš + Bezrealitky pro region Pardubicko-Hradecko (pipeline má 194 portálů configured ale reálně aktivní jen hrstka velkých).
Soubory: - /tmp/rebuild_pardu.py — generator - /var/www/router-static/lovec-3plus1-pardu-reko.html — výstup (47 KB, 18 dealů) - URL: https://router.czechai.io/web/lovec-3plus1-pardu-reko.html
Status: ✅ OK
2026-04-05 Claude Code — Lovec v2 · LIVE Sreality + rozšíření na 2+kk až 4+1¶
Rozšířeno z uživatelské volby 2+4: - (2) Live re-scrape Sreality API místo starého MASTER_LIVE.db snapshotu - (4) Rozšíření z 3+1 only na 6 dispozicí: 2+kk, 2+1, 3+kk, 3+1, 4+kk, 4+1
Pipeline: 1. Live dotaz na sreality.cz/api/cs/v2/estates pro 6 dispozic × 2 kraje × 2 stavy = 24 queries 2. Server-side filtr building_condition=9 (Před rekonstrukcí) + 3 (Špatný, 0 výsledků) 3. Deduplikace podle hash_id → 141 unikátních kandidátů 4. Ocenění přes SE v2.3 (koef 0.85) 5. HTTP 200 verifikace každého inzerátu 6. Filtr diff ≤ -8 %
Výsledek: 141 → 9 ověřených dealů (stoprocentně live)
Rozdělení: - D30 Extrémní: 2 | D20 Výrazné: 3 | D15 Mírné: 2 | D10 Lehké: 2 - Dispozice: 2+kk (2), 3+1 (6), 4+kk (1) - Top: Dolní Morava 2+kk 94m² -39.5 %, Králíky 3+1 -31.1 %, Svitavy 3+1 -29.5 %
Nové features stránky: - Interaktivní filtry: dispozice / úroveň slevy / kraj - Mapa s barevnými markery podle tagu - Každý card: dispozice pill + tag pill + regionální pill - Odkazy na Sreality detail page
Ověřené URL (3/3 samples HTTP 200): ✅
Soubory: - /tmp/rebuild_pardu_v2.py (generator v2) - /var/www/router-static/lovec-3plus1-pardu-reko.html (34 KB)
URL: https://router.czechai.io/web/lovec-3plus1-pardu-reko.html
Status: ✅ OK · 100% funkční
2026-04-05 Claude Code — CzechAI Asistent Widget fix + theme picker + sidebar¶
Problém: - Lovec/Asistent padal s 'credit balance too low' (Anthropic) + OpenRouter 401. Uživatel byl naštvaný. - Widget šel 'resize-ovat' v HTML, ale loader ignoroval postMessage a byl pevně 480×680 → panel byl oříznutý. - Jen jedna (růžová) barva, historie jen v localStorage.
Opraveno: 1. /opt/lovec-agent/lovec_agent.py — přidána vrstva GPU Ollama primary (qwen2.5-coder:32b @ 217.198.112.170:11434), řetěz GPU → Bedrock → OpenRouter. Lovec zase odpovídá (test /api/search: 200 OK). 2. /var/www/router-static/czai-widget.js → v4 (70 řádků): přidán postMessage('czechai:resize') listener, container je dynamicky velký podle widgetu, start ve 120×120 (FAB), expanse po open. 3. /var/www/router-static/czechai-widget-v2.html (674 → 36422 B): - Theme picker v headeru, 6 palet (pink/purple/blue/cyan/green/orange), persistence v localStorage keyed by uid. - Progressive disclosure sidebar při šířce ≥ 640 px: seznam nedávných konverzací, 'Nová konverzace' tlačítko. - Message handler pro czechai:request-size (re-sync po návratu z mobile mode).
Soubory: - /opt/lovec-agent/lovec_agent.py (+1 provider ask_gpu, ask_llm reordered) - /var/www/router-static/czai-widget.js (přepsáno) - /var/www/router-static/czechai-widget-v2.html (+400 řádků CSS/HTML/JS) - Zálohy: *.bak_gpu_20260405_*, *.bak_20260405_105025
Ověření: - HTTPS fetch obou souborů → 200, nové identifikátory přítomné (THEMES, WIDE_THRESHOLD, sidebar, request-size) - Backend /v1/claude/chat POST → 200, provider openrouter, 8.4s - JS syntax validated přes node new Function
Status: ✅ OK — připraveno k hard-refresh (Ctrl+F5) na chat.czechai.io
TODO (krok B, na schválení): - Server-side per-user historie (SQLite index na uid, migrace z localStorage) - 3. sloupec při ≥ 900 px šířce (tool chips, attachments)
2026-04-05 Claude Code — Aurum-Entity fix + 5 CzechAI skills¶
Problém: aurum-entity (port 3400) padal na každý request: ReferenceError: req is not defined at dist/index.cjs:478:1761.
Root cause: claude.ts, gemini.ts, openrouter.ts používaly and() z drizzle-orm, ale importovaly jen { eq }. Esbuild zabundloval and jako undeclared global → runtime ReferenceError. Minifikace maskovala identifikátor, V8 ho hlásil jako 'req'.
Oprava: import { eq, and } from drizzle-orm ve třech souborech + rebuild + restart. Err log = 0, HTTP 200 na /api/claude/models.
Přidané skills (/opt/Aurum-Entity/.local/skills/): - czechai_aml — AML screening (1.58M sankcí, Justice, ISIR, PEP) - czechai_reality — Reality pipeline (217K MASTER_LIVE, V15, Lovec, Swarm) - czechai_ares — ARES lookup (3M+ firem) - czechai_rag — RAG knowledge base (2591 docs) - czechai_llm_gpu — GPU 170 delegace (Qwen3-235B, qwen2.5-coder:32b)
Status: ✅ OK
2026-04-05 Claude Code — Entity (aurum-entity) fix · nešlo zahájit session¶
Problém: entity.czechai.io — každý /api/* request vracel 401 "Unauthorized: missing X-User-Id header". Frontend nemohl vytvořit konverzaci ani načíst agenty.
Root cause: - Auth middleware requireUser v /opt/Aurum-Entity/artifacts/api-server/src/middlewares/auth.ts vyžaduje X-User-Id header nebo aurum_user_id cookie - Frontend má chicken-and-egg problem: nemá bootstrap endpoint pro anonymní usery - Nginx /api/ location proxy NEPOSÍLAL X-User-Id header → všechno 401
Fix: Nginx /etc/nginx/sites-enabled/entity.czechai.io — do location /api/ přidán:
Ověřeno: - GET /api/healthz 200 ✅ - GET /api/agents 200 ✅ - GET /api/openai/conversations 200 [existing conversations] - POST /api/openai/conversations 201 {id:96, userId:1} ✅ - POST /api/claude/conversations/96/messages 200 SSE stream (Claude Sonnet 4.6 přes Bedrock odpovídá) - Frontend assets/index-*.js volá správné endpoints
Postranní nález: OpenAI provider vrací "AI error occurred" v planning fázi — samostatný issue (API klíč / timeout), ale Claude/Bedrock default funguje, tj. user může okamžitě chatovat.
Soubory: - /etc/nginx/sites-enabled/entity.czechai.io (backup v /etc/nginx/backups/)
URL: https://entity.czechai.io/
Status: ✅ OK · 100% funkční
2026-04-05 Claude Code - Hunter fix + MASTER_LIVE.db recovery¶
- Fixed hunter-agent SQL bug (refined_status -> quality_status column)
- Recovered corrupt MASTER_LIVE.db (B-tree damage) using corrupt_20260405 backup (unexpectedly 100% OK, 226,533 rows) + merge of 61 newer rows from .dump recovery
- Broken DB quarantined as MASTER_LIVE.db.BROKEN_20260405_1348
- Restarted: data-watchdog, cenova-mapa-v15, hunter-agent, hunter-daemon
- Hunter E2E test: HTTP 200, 70s, verdict REAL conf 68
- Data loss: 7.5h of writes (06:01-13:30) in unreadable corrupt region
- Status: OK
2026-04-05 Claude Code - MASTER_LIVE.db backup 3x daily¶
- Script: /opt/reality-pipeline/backup_master.sh (online sqlite .backup + gzip + integrity check + rotation)
- Cron: 06:00, 14:00, 22:00 daily
- Keeps last 14 backups (~5 days)
- First backup: 226,560 rows, 50 MB gz, integrity ok, 7s
- Log: /var/log/master_backup.log
- Target: /opt/reality-pipeline/backups/
- Status: OK
2026-04-05 Claude Code - Off-site backup + disk monitor¶
- backup_master.sh now mirrors each backup to 94.130.218.117:/opt/offsite-backups/reality/ (rsync, 14 kept)
- New: /opt/reality-pipeline/disk_monitor.sh (cron */15, Telegram alerts via @CzechAiio_bot)
- Thresholds: WARN 90%, CRIT 95%, anti-spam state machine, 6h reminders
- First alert sent: 179 at 91% used
- Logs: /var/log/master_backup.log, /var/log/disk_monitor.log
- Status: OK
2026-04-05 Claude Code - Widget AI asistent: tool results viditelné + broader system prompt¶
Problem: User hlasil "asistent jede podle promptu a nic nespousti". Fakticky: widget volal /v1/claude/chat (router-api), tools se volaly, ale vysledek nebyl videt - jen mal{y fialovy chip 10.5px. Navic system prompt omezoval doma{e}nu na reality/pravo/AML, takze out-of-domain dotazy model odmital.
Fix (3 patche v /opt/router-api/server.py + 1 v widget-v2.html): 1. 3x tool_calls_log.append nyni obsahuje {tool, args, ok, result} misto jen {tool, args} 2. System prompt rozsiren: 59 nastroju, vsechny domeny, nikdy neri{k}at "nemam nastroj" 3. Widget v2: tool-chip (mal{y} chip) nahrazen tool-card (expandable karta) s Input/Output JSON preview, OK/ERR status badge
Soubory: - /opt/router-api/server.py (zaloha server.py.bak_toolresults_) - /var/www/router-static/czechai-widget-v2.html (zaloha .bak_toolcards_)
Status: OK - overeno curl /v1/claude/chat (provider=openrouter, tool=estimate_property_price, ok=True, result=True, response=realna cena)
Out of scope: CHATBOT_SPEC.md popisoval /opt/chatbot-api port 5301 jako skutecny backend - je to mrtvy soubor, widget ho nevola. Ponechano jak je.
2026-04-05 Claude Code - Frontend snapshot + cleanup¶
- Snapshot to 94.130.218.117:/opt/offsite-backups/frontend/ (cockpit 814M, router-static 3.2G, package manifests)
- Integrity verified on 117
- Cleaned /opt/czechai-cockpit-full/: 8.4G -> 1.9G (-6.5G)
- Removed: 3x stale Cockpit copies (6G), dist_broken (266M), dist backups (115M), 3x old DB snapshots (366M), inner dist_backup (40M)
- Root disk: 91% -> 87% (+7G free)
- chat.czechai.io: HTTP 200, 77ms, PM2 cluster 3/3 online - verified unaffected
- Status: OK
2026-04-05 Claude Code - Backup system hardening (8 fixes)¶
- H1: trap ERR + send_alert on all failure paths (backup_master.sh, disk_monitor.sh)
- H2: heartbeat_check.sh hourly - alerts if latest backup >10h old
- H3: status.json at https://router.czechai.io/web/czechai-status.json (web-accessible fallback to Telegram)
- H4: recovery_test.sh daily 03:30 - extracts latest backup, verifies integrity + row count
- H5: rsync + verify via ssh gunzip -t round-trip
- H6: disk_monitor state reset (WARN 92 -> OK 87)
- H7: 1.4GB /tmp + data dir cleanup, 7 forensic snapshots archived to 117/forensic/
- H8: /opt/reality-pipeline/RUNBOOK.md (159 lines, 8 scenarios)
- New shared lib: /opt/reality-pipeline/lib/alert.sh
- Central alert log: /var/log/czechai_alerts.log
- Recovery test result: restored=227026 live=227026 diff=0 integrity=ok
- Status: OK - single remaining gap = user /start with @CzechAiio_bot for Telegram delivery
2026-04-06 Claude Code — SCRAPING_RULES.md + Infrastructure Fixes¶
SCRAPING_RULES.md deployed (10 paragrafů, 379 řádků)¶
- §1: Nikdy nemazat, nikdy nepřepisovat (safe_update guard)
- §2: Kompletní stahování (až na dno, resume po pádu)
- §3: Povinné štítkování (quality_status pipeline: raw→parsed→enriched→geocoded→valued→complete)
- §4: Automatické objevování nových portálů
- §5: Self-healing (3-tier fallback: httpx→Crawl4AI→Playwright)
- §6: DB pravidla (WAL, single writer, sqlite3 .backup)
- §7: Monitoring a alerting (metriky, thresholds, daily report)
- §8: Pravidla pro fotky (blacklist placeholderů, per-portal selektory)
- §9: Pravidla pro oceňování (prodeje V15f, pronájmy medián, multi-engine)
- §10: Zodpovědnost per komponenta
Implementováno:¶
- sync_db_from_134.sh přepsán (sqlite3 .backup, integrity check, stop writers)
- reality-pipeline daemon restartován (ONLINE, 37 tasks)
- 8 disabled cron scraperů re-enabled (sreality, mega 143 portálů, bazos, enrichment)
- detail_enricher.py deployed (Playwright, 500/500 OK first batch)
- Crawl4AI proxy exponován na router.czechai.io/v1/crawl4ai
- 25,784 placeholder obrázků vyčištěno z DB
- quality_status + photos_json + scraped_by sloupce přidány
- safe_update() guard přidán do db_guardian.py
-
Audit report: router.czechai.io/web/report-scraping-audit-9c281a7f.html
-
Status: OK
2026-04-06 Claude Code - Swarms Entity Deploy (25 agentu, 33 tools)¶
- Nainstalovan Swarms 10.0.1 framework do /opt/swarms-entity/
- 33 tool wrapperu volajicich existujici CzechAI API (reality, AML, geo, scraping, finance, RAG, NLP, GPU)
- 25 SmartAgent instanci s text-based tool calling pres GPU qwen3.5:9b
- FastAPI server na portu 3401, PM2 swarms-entity
- Nginx: entity.czechai.io/swarm/ -> localhost:3401
- Kategorie: A) Jadro (6), B) DD (6), C) Finance (3), D) Data (6), E) Marketing (4)
- Master orchestrator s pristupem ke vsem 33 tools
Soubory: - /opt/swarms-entity/tools.py (33 tools, 14 kategorii) - /opt/swarms-entity/main.py (25 agentu, FastAPI) - /opt/swarms-entity/ecosystem.config.js (PM2) - /etc/nginx/sites-enabled/entity.czechai.io (swarm location)
API: - GET /swarm/ - health - GET /swarm/agents - seznam 25 agentu - GET /swarm/tools - seznam 33 tools - POST /swarm/v1/chat - volani konkretniho agenta - POST /swarm/v1/swarm - master orchestrator
Status: OK
2026-04-06 Claude Code - Pipeline 2x denně + Master Agent + Continuous Enricher¶
Co bylo uděláno: - Nový config.yml s 49 scheduled tasks (2 kompletní cykly denně: noční 00:00-08:00 + odpolední 12:00-19:00) - Master Agent v1.0 (PM2 master-agent) - autonomní monitoring každých 5 min, auto-restart spadlých služeb, health check DB + remote services - Continuous Enricher v1.0 (PM2 continuous-enricher) - neustálé obohacování DB každých 30 min - Recalc opportunity flags: 52,157 příležitostí identifikováno (45,736 MEGA, 2,550 HIGH, 2,639 MEDIUM) - Sync market_price z price_final: 72,821 záznamů doplněno - Recalc price/m2: 10,686 záznamů doplněno - Extract rooms/area z titulků - Fill city z GPS (reverse geocode) - price_batch přidán do orchestrátoru (4x denně: 06:30, 10:00, 17:00, 21:00) - DB Guardian: DELETE FROM reality_master je ABSOLUTNĚ BLOKOVÁN
Soubory: - (nový schedule) - (nový) - (nový) - (price_batch přidán) - (reality_master ochrana)
Status: OK
2026-04-06 Claude Code - Pipeline 2x denne + Master Agent + Continuous Enricher¶
- Novy config.yml: 49 scheduled tasks, 2 kompletni cykly denne
- Master Agent v1.0 (PM2 master-agent): auto-monitoring + restart
- Continuous Enricher v1.0 (PM2 continuous-enricher): 293K changes prvni beh
- Opportunities: 52,157 (45,736 MEGA)
- price_batch v orchestratoru 4x denne
- DB Guardian: DELETE FROM reality_master ABSOLUTNE BLOKOVANO
- Status: OK
2026-04-07 Claude Code — Noční údržba platformy¶
Disk cleanup (SERVER 179): - syslog truncated: 16 GB uvolněno - nginx chat-error.log truncated: 373 MB - journalctl vacuum: 3 GB → 200 MB - PM2 logs flushed: 52 MB - /tmp/backup cleaned: 4.7 GB - pip cache purged: 34 MB - Celkem uvolněno: 24 GB (144G → 120G, 84%)
Restarted stopped services: - pandasai-query (5076) → 200 OK - spacy-czech (5078) → 200 OK - gradio-demos (5077) → 200 OK - mapa-levon (6200) → 200 OK
Hunter Agent opravy: - Threshold zvýšen z 3% na 15% (default), top mode z 3% na 10% - SANE_MAX snížen z 35% na 30% - Top mode přesměrován na full pipeline s Claude reasoning (místo fast V15f-only)
Entity kompaktní fonty: - Hero AURUM AGENT: 84px → 42px - Cena nemovitosti: 4xl → 2xl - Agent card: 22px → 15px
Lovec/Znalec animace (chat.czechai.io/app/lovec): - Lovec frame: červené dýchající pozadí, jiskry, shimmer - Znalec frame: zlaté dýchající pozadí, zlatý prach, shimmer
GPU 170 přeloadovány uncensored modely: - deepseek-r1-abliterated:70b (42.9 GB VRAM) - qwen3.5-uncensored:35b (32.9 GB VRAM)
Vytvořené dokumenty: - CLAUDE_AGENTS_GUIDE.md — jak dělat agenty (pro ostatní Claude sessions) - CLAUDE_DATABASE_GUIDE.md — jak pracovat s DB - CZECHAI_REAL_SERVICES.md — 30 reálných služeb, bílý papír - CZECHAI_ULTIMATE_AGENTS.json — 44 agentů manifest
Celkový stav: - 25/25 API endpointů na 179 odpovídá - 14/14 Docker swarmů healthy - SSL certifikáty platné (min. do 05/2026) - Nginx syntax OK - Server 134: 26 PM2 online, 210K záznamů, 58% disk - Server 117: n8n/Metabase/Supabase OK, 48% disk - GPU 170: 2 modely v VRAM (75.8/96 GB)
Status: OK
[2026-04-09] Claude Code - Vysočina scraper¶
- Nový scraper: vysocina_scraper.py (/opt/reality-scraper-next/NOVY_SCRAPER_KURVA/)
- Portály: Bazoš (22 měst), Avízo (kraj-vysocina + 9 měst), iDNES Reality, GoHome
- Výsledky: ~285+ nových záznamů pro Kraj Vysočina
- DB: MASTER_LIVE.db (scraped_by=vysocina_scraper_v1)
- PM2: vysocina-scraper (cron 0 6 * * *)
- Soubory: /opt/reality-scraper-next/NOVY_SCRAPER_KURVA/vysocina_scraper.py
- Status: OK
2026-04-10 Claude Code - Oprava kategorií s inzeráty (fotky)¶
Co bylo uděláno: - export_dashboards.py (server 134): opraven SyntaxError na ř.144+148+151 (image_url bez uvozovek) - IMG_JUNK list rozšířen: lecenizv, rmix_og, seo_cover, filter-og, ogimage.png, fotos_redir, og_image_0 atd. - Placeholder pool: 6 různých Unsplash fotek per typ (BYT/DUM/POZEMEK/DEFAULT) - rotace přes index - Filtr trash titulků: záznamy s číselnými nebo příliš krátkými titulky vyhozeny - export_primy_majitel.py: stejné opravy (IMG_JUNK + placeholder pool) - bezceny/drazby/primy-majitel/bazos dashboard HTML: přidán cache:no-store + timestamp do fetch - React TSX soubory: aktualizovány verze URL (?v=20260410) - Build + PM2 restart
Výsledky po opravě: - bazos.cz: 3977 rows, 1971 images (bylo 364) - bez-ceny: 6668 rows, 5281 images (bylo 6450 s LECENI/XXX obrázky) - drazby: 973 rows, 493 images (bylo 40 reálných, zbytek iDNES logo) - ostatni/MIX: 20761 rows, 5798 images
Soubory: - /opt/reality-pipeline/export_dashboards.py (server 134) - /opt/reality-pipeline/export_primy_majitel.py (server 134) - /var/www/router-static/bezceny-dashboard.html + drazby + primy-majitel + bazos - client/src/pages/bezceny.tsx + drazby.tsx + primy-majitel.tsx + bazos.tsx
Status: OK
2026-04-10 Claude Code — CzechAI Řídící Centrum Dashboard¶
Co bylo uděláno: - Nový moderní monitoring dashboard pro chat.czechai.io - Zobrazuje: PM2 procesy (online/stopped/looping), Docker kontejnery, AI swarmy, aktivní uživatele - Live data z agents-stats-api (port 5242, CORS *) - Auto-refresh každých 15s, search, filtry (online/stopped/looping) - Tabs: Agenti / Docker / Nginx Log - Streamlit AML dashboard spuštěn (PM2 aml-streamlit, port 8502) - Nginx: /streamlit/ přidáno do aml.czechai.io
URL: https://router.czechai.io/web/czechai-dashboard.html Soubory: - /var/www/router-static/czechai-dashboard.html
Status: OK
2026-04-11 Claude Code — chat.czechai.io Full Debug + Services Fix¶
Co bylo uděláno: - PM2 watchdog bug fixnut: HOME/PM2_HOME chybělo v /opt/monitoring/pm2_watchdog.sh → způsobovalo restart PM2 clusteru každou minutu - chatbot-api crash loop fixnut: port 5301 conflict (fuser -k 5301/tcp + restart) → stabilní 2min+ uptime - db.ts pool guard přidán: isShuttingDown flag zabraňuje "Cannot use a pool after calling end" error - Frontend rebuild: npm run build (7.85s) + pm2 restart chat-frontend → nový build nasazen - export_dashboards.py spuštěn 2x: bazos/sreality/idnes/ostatni/bezceny/bezrealitky/drazby data refreshed - bazos foto enrichment: enrich_photos_desc.py přidal 112 nových reálných fotek
Stav po fixu: - chat-frontend: online x4 cluster, HTTP 200 ✅ - chatbot-api: stable 2min+, port 5301 OK ✅ - aml-api: online, 0 restartů ✅ - leads-dashboard: online ✅ - entity.czechai.io: 200 ✅ - router.czechai.io: 200 ✅ - Dashboards: bazos/sreality/idnes/ostatni/bezceny/bezrealitky všechny HTTP 200 ✅
Zbývá: - aurum-entity crash loop: Together AI API key expirovaný (401) + OpenAI quota exceeded → potřeba update klíčů - Bazos fotky: ~2287 záznamů stále Unsplash placeholder (Bazoš scraper ne vždy zachytí foto) - RAM: 21GB/30GB použito na 179, zvážit monitoring
Soubory: - /opt/monitoring/pm2_watchdog.sh (watchdog fix) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/server/db.ts (pool guard) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/dist/ (rebuild) - /var/www/router-static/*-data.json (export refresh)
Status: ✅ OK
2026-04-11 Claude Code - Full Debug: aurum-entity fix + bezrealitky 2920 records + API keys všichni agenti¶
Co bylo uděláno: - aurum-entity: fuser -k 3400/tcp (orphan PID) + --unhandled-rejections=none → stable - bezrealitky export: 278 → 2920 záznamů (všechny s cenou!) - Sreality: +1100 fotek po API scraperu - ui.html vytvořena: redirect → entity.czechai.io (AI Agents tab fix) - API klíče: 31 agentů across 3 servers (OPENROUTER/ANTHROPIC/OPENAI/AWS/GOOGLE/GEMINI) - export_dashboards.py: all 7 datasets refreshed + synced
Soubory: - /opt/reality-pipeline/export_dashboards.py (bezrealitky fix) - /opt/Aurum-Entity/start.sh (--unhandled-rejections=none) - /var/www/router-static/ui.html (new) - 31x .env files across 179/134/117
Status: ✅ OK
2026-04-11 Claude Code — Pipeline V3.0 Deploy¶
Co bylo uděláno: - scraper_v3.py: async paralelní engine (aiohttp + asyncio), 203 portálů, FAST/SMART/HEAVY tiery, Redis Streams - enricher_v3.py: 7-stage unified enrichment, ON CONFLICT(url) DO UPDATE do reality_master - portals_v3.json: 203 portálů (197 stávajících + 6 nových) - PM2: enricher-v3 (daemon, 5 workers) + scraper-v3 (cron 02:00/14:00) - RULE #1 ENFORCED: ověřeno grep - žádný DELETE/DROP/TRUNCATE
DB stav před: 203,929 záznamů — NETKNUTÉ
Soubory: - /opt/reality-pipeline-v3/engine/scraper_v3.py - /opt/reality-pipeline-v3/enrichment/enricher_v3.py - /opt/reality-pipeline-v3/catalog/portals_v3.json - /opt/reality-pipeline-v3/ecosystem.config.js
Status: OK
2026-04-11 Claude Code — agent-pro.html Links Fix (Pravidlo #1 - 8+ zdrojů)¶
Co bylo uděláno: - lovec_agent.py /api/quick: přepsán na MASTER_LIVE.db + round-robin multi-portal diversifikace - lovec_agent.py search_sreality_direct: opraven URL formát (cs/v2/estates → detail/prodej/cat/locality/id) - server.py NEW_SYSTEM_PROMPT: přidána Železná Pravidla (PRAVIDLO 1: funkční URL, PRAVIDLO 2: min 8 zdrojů) - Router restarted (PID 2859443), lovec-agent restarted (PM2) - Test: 11 portálů z Praha/byty query, správné URLs
Portály dostupné: sreality.cz, reality.idnes.cz, bazos.cz, bezrealitky.cz, avizo.cz, okdrazby.cz, realitymix.cz, annonce.cz, severoceskereality.cz, dumrealit.cz + další
Soubory: - /opt/lovec-agent/lovec_agent.py - /opt/router-api/server.py
Status: ✅ OK
2026-04-11 Claude Code - Železná Pravidla pro VŠECHNY agenty¶
Co bylo uděláno: - PRAVIDLO 1: Funkční URL (ne API, ne mrtvé/prodané inzeráty) - PRAVIDLO 2: Minimum 8 portálů (nikdy jen sreality) - Pravidla injektována do systémových promptů VŠECH realitních agentů
Patchnuté soubory (13 výskytů): - (2x - Lovec analytik) - (1x - SYSTEM_PROMPT) - (1x - system_prompt) - (2x - PORADCE + SCRAPPER) - (2x - PORADCE + SCRAPPER) - (1x - Aurum main) - (2x - REASONER + DEEP_REVIEWER) - (2x - LOVEC + ZNALEC) - (3x - router system prompt)
Technické opravy (lovec-agent): - FIX: /api/quick přepnut na MASTER_LIVE.db (správné URL, 20+ portálů) - FIX: Round-robin diversifikace (1 ze každého portálu, min 8) - FIX: Filtr URL NOT LIKE '%cs/v2/estates%'
Status: ✅ OK - 12 souborů opraveno, restartovány: lovec-agent, chatbot-api, router
2026-04-11 Claude Code - Zelezna Pravidla pro VSECHNY agenty¶
Co bylo udelano: - PRAVIDLO 1: Funkcni URL (ne API, ne mrtve/prodane inzeraty) - PRAVIDLO 2: Minimum 8 portalu (nikdy jen sreality) - Pravidla injektovana do systemovych promptu VSECH realitnich agentu
Patchnute soubory (13 vyskytu): - /opt/lovec-agent/lovec_agent.py (2x - Lovec analytik) - /opt/router-api/groq_reality_advisor.py (1x) - /opt/router-api/chat_advanced.py (1x) - /opt/CzechevillAi/agents.py (2x - PORADCE + SCRAPPER) - /opt/CzechevillAi/patch_rich_responses.py (2x) - /opt/aurum-agent/agent_loop.py (1x - Aurum main) - /opt/hunter-agent/pipeline.py (2x - REASONER + DEEP_REVIEWER) - /opt/qwen-agent/app.py (2x - LOVEC + ZNALEC) - /opt/router-api/server.py (3x - router system prompt)
Technicke opravy (lovec-agent): - FIX: api/quick prepnut na MASTER_LIVE.db (spravne URL, 20+ portalu) - FIX: Round-robin diversifikace (1 ze kazdeho portalu, min 8) - FIX: Filtr URL NOT LIKE cs/v2/estates
Status: OK - 12 souboru opraveno, restartovany: lovec-agent, chatbot-api, router
2026-04-11 Claude Code - Pipeline Repair & Scraper Opravy¶
Co bylo uděláno: - Fix DB locking: unified_pricer.py - zabráno 67 instancí (lockfile guard + WAL/busy_timeout, cron → once mode) - Fix scraper_v3.py engines: endpoint /v1/crawl → /api/scrape (SMART+HEAVY nefungovaly) - Fix data plane: vraci HTML content v API response (pridano content+markdown pole) - Fix multi-listing extraction: extract_listings_from_index pro index stranky - Fix seen_urls: TTL 30 dni → 24h, DEL pro okamzite obnoveni - Fix price_asking > 50B → NULL (38,977 zaznamu opraveno) - Fix data_source normalizovano (167,269 zaznamu, 10 kanonickich jmen)
Výsledky: - Scraper: 5 records/batch → 342+ records/batch (68x zlepseni) - DB: 197,522 zaznamu, GPS 99%, Images 42% - DB locking: 67 procesu → 4 legitimni procesy
Status: OK
2026-04-11 Claude Code — Fix systemPrompts.ts build error + DBFrame panel nasazen¶
Co bylo uděláno: - Opravena systemPrompts.ts: PRAVIDLO SREALITY URL text byl vložen mimo string v JS objektu (přerušil double-quoted string) - Sloučeny orphaned PRAVIDLO řádky zpět do příslušných stringů (general + reality_scan) - Build proběhl úspěšně (lovec-ANXsf4l8.js 41kB) - Nasazen třetí panel DBFrame (SQL Analytik, emerald #10b981) na /app/lovec - PM2 chat-frontend restartován, page vrací HTTP 200 - lovec-agent /api/hunt test: 50 výsledků, 37s
Soubory: - /opt/czechai-cockpit-full/Czech-AI-Cockpit/server/systemPrompts.ts (fix build) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/client/src/pages/lovec.tsx (DBFrame) - /opt/czechai-cockpit-full/Czech-AI-Cockpit/dist/ (nový build)
Status: OK
2026-04-12 Claude Code — Fotky inzerátů FIX + Úřední desky refresh¶
- export_signal_json.py: přidán image_url do SELECT, 500/500 inzerátů s fotkou (100%)
- Opportunities: proporcionální vzorkování BYT:150/DUM:150/POZEMEK:100/KOMERCNI:70/OSTATNI:30
- Rychlost exportu: 41s → 0.7s (DB vs Sreality API)
- drazby_mega.db: 2479 → 3880 záznamů (+1401), aktivovány portaldrazeb/cevd/financni_sprava/uzsvm
- Nový drazby_mega_export.py, API dataset=drazby vrací 3880 záznamů (uredni_desky:2078)
- Soubory: export_signal_json.py, drazby_mega_export.py, signal-inzeraty.json, drazby-data.json
- Status: OK
2026-04-12 Claude Code - Archive + Soukromy Majitel v3¶
Co bylo udelano: - soukromy_majitel_export.py -> v3: NEPOUZIVA primy_majitel.db (spatna data - iDnes/Sreality = RK) - Novy zdroj: MASTER_LIVE.db WHERE owner_type=soukromy -> 7,781 records synced - MASTER_ARCHIVE.db vytvorena: 99,824 starych/neaktivnich zaznamu presunuto - MASTER_LIVE.db: 100,129 aktivnich zaznamu (jen is_active=1), 132MB (bylo 304MB) - WAL checkpoint proveden, DB konsolidovana - Daemon soukromy-majitel-export restartan na v3
Soubory: - /opt/reality-pipeline/soukromy_majitel_export.py (v3.0 - nove) - /opt/reality-pipeline/soukromy_majitel_export_v2_backup.py (zaloha) - /opt/reality-pipeline/archive_old_records.py (nove) - /opt/reality-pipeline/data/MASTER_ARCHIVE.db (nove, 428MB, 99824 zaznamu) - /opt/reality-pipeline/data/MASTER_LIVE.db (131MB, pouze 100129 aktivnich)
Status: OK
2026-04-13 Claude Code — chat.czechai.io Platform Audit & Fixes (3 bugs)¶
Co bylo uděláno:
Bug #1 (CRITICAL): chatbot-api JSONDecodeError v normalize_response¶
- Root cause: OpenRouter vrací tool_calls s nevalidním JSON v — inline crashoval s 500 HTTP
- Fix: Přidán s fallback a
- Soubor: (~řádek 1152)
- Restart: ✅
Bug #2 (MEDIUM): chat-frontend Bedrock "blank text" chyba¶
- Root cause: Zprávy s prázdným generovaly → Bedrock odmítl s "text field is blank"
- Fix: Přidán guard před push do bedrockMessages
- Soubor: (~řádek 1016)
- Rebuild: (7.70s, OK) + ✅
Bug #3 (MEDIUM): estatewise-frontend EADDRINUSE port 4173¶
- Root cause: Orphan PID 250626 (next-server) držel port 4173 — PM2 crashoval v loop (15 restartů)
- Fix: +
- Výsledek: estatewise-frontend online ✅
HTTP ověření: - chat.czechai.io: HTTP 200 ✅ - chatbot-api /api/health: OK, 23 tools, all 3 providers ✅
- estatewise :4173: HTTP 200 ✅
Status: ✅ OK
2026-04-13 Claude Code — chat.czechai.io Platform Audit & Fixes (3 bugs)¶
Co bylo uděláno:
Bug #1 (CRITICAL): chatbot-api JSONDecodeError v normalize_response¶
- Root cause: OpenRouter vrací tool_calls s nevalidnim JSON v arguments - inline json.loads() crashoval s 500 HTTP
- Fix: Pridan try/except json.JSONDecodeError s fallback {} a log.warning()
- Soubor: /opt/chatbot-api/chatbot_api.py (radek ~1152)
- Restart: pm2 restart chatbot-api
Bug #2 (MEDIUM): chat-frontend Bedrock "blank text" chyba¶
- Root cause: Zpravy s prazdnym content="" generovaly {text: ""} - Bedrock odmitl s "text field is blank"
- Fix: Pridan guard if (!textContent || textContent.trim() === "") continue; pred push do bedrockMessages
- Soubor: /opt/czechai-cockpit-full/Czech-AI-Cockpit/server/routes.ts (radek ~1016)
- Rebuild: npm run build (7.70s, OK) + pm2 restart chat-frontend
Bug #3 (MEDIUM): estatewise-frontend EADDRINUSE port 4173¶
- Root cause: Orphan PID 250626 (next-server) drzal port 4173 - PM2 crashoval v loop (15 restartu)
- Fix: kill 250626 + pm2 restart estatewise-frontend
HTTP overeni: - chat.czechai.io: HTTP 200 - chatbot-api /api/health: OK, 23 tools, all 3 providers - estatewise :4173: HTTP 200
Status: OK
2026-04-13 Claude Code — Cenová Mapa V18 Shadow Deploy¶
Co bylo uděláno: - ČÚZK GPS opravena: pyproj (EPSG:5514→4326), fix arg pořadí → +26,916 záznamů geocodovaných - Dispozice z titulků: rooms fill BYT 28% → 64.3% (57k titulků zpracováno regexem) - Feature : 2+kk (avg 128k/m²) vs 2+1 (avg 77k/m²) — klíčový rozdíl pro BYT - Hyperparametry vylepšeny: num_leaves 127→255, n_est 800→1500, depth 6→8, lr 0.05→0.04 - Training DB: 140,727 → 167,643 záznamů (TRAINING_CLEAN_V18.db)
Výsledky geo holdout (MdAPE): - BYT: 14.66% (V15h) → 11.92% (V18) ✅ cíl ≤12% splněn - DUM: 29.99% (V15h) → 29.04% (V18) (lepší než baseline) - POZEMEK: 60.47% → 52.77%, KOMERCNI: 48.23% → 37.75%
Shadow deployment: port 5160, PM2 , server 179 Soubory: /opt/cenova-mapa-v18/ (4 pkl modely, 167k DB) Status: ✅ OK
2026-04-13 Claude Code — Cenova Mapa V18 Shadow Deploy¶
Co bylo udelano: - CUZK GPS opravena: pyproj (EPSG:5514 na 4326), fix arg poradi - Dispozice z titulku: rooms fill BYT 28% na 64.3% - Feature is_kk: klicovy rozdil 2+kk vs 2+1 - Hyperparametry: num_leaves 127 na 255, n_est 800 na 1500, depth 6 na 8 - Training DB: 140727 na 167643 zaznamu
Vysledky geo holdout (MdAPE): - BYT: 14.66pct (V15h) na 11.92pct (V18) - CIL SPLNEN - DUM: 29.99pct (V15h) na 29.04pct (V18) - lepsi nez baseline - POZEMEK: 60.47pct na 52.77pct - KOMERCNI: 48.23pct na 37.75pct
Shadow deployment: port 5160, PM2 cenova-mapa-v18, server 179 Status: OK
2026-04-14 Claude Code — Audit cenových map V18 + plán V19¶
Co bylo uděláno: - Kompletní audit stavu modelů: V15 (5150), V18 shadow (5160), Super-Ensemble (5111) - Identifikovány root causes špatné přesnosti DUM (29.04% vs. cíl 27%) - Zjištěno: 71,187 záznamů bez city (42.5%), rooms jen 29%, year_built jen 16% - Zjištěno: ČÚZK DB na serveru PRÁZDNÁ — ale lokálně (179k transakcí!) - Zjištěno: Super-Ensemble má 9/12 engines dead, spread 67%, nespolehlivý - Zjištěno: 700k+ záznamů k dispozici lokálně, model trénován jen na 167k (24%) - Vytvořen plán V19: ČÚZK upload, reverse geocode, NLP rooms, DUM sub-modely
Soubory: - (audit + plán)
Status: ✅ OK (analýza dokončena, implementace čeká na schválení)
2026-04-14 Claude Code — Audit cenových map V18 + plán V19¶
- Kompletní audit: V15 (5150 prod), V18 shadow (5160), Super-Ensemble (5111)
- DUM geo holdout 29.04% (cíl 27%) — root cause: rooms 8%, year_built 0.75%, NULL city 42.5%
- ČÚZK 179k lokálně ale server PRÁZDNÝ — největší quick win
- Super-Ensemble: 9/12 engines dead, spread 67%
- 700k+ dat dostupných, trénujeme jen 167k (24%)
- Plán V19: ČÚZK upload, geocode, NLP rooms, DUM sub-modely, cíl BYT≤9%, DUM≤20%
- Status: OK
2026-04-14 Claude Code — marisolay.com Video Background¶
- ffmpeg: slow 0.5x, warm color grade, vignette → 15MB→3.4MB, 16s loop
- Nová landing page: fullscreen video BG, elegantní serif design
- Soubory: /usr/www/users/czechai/index.html + marisolay-bg.mp4
- Status: OK
2026-04-14 Claude Code - V19 Cenová Mapa + Super-Ensemble oprava¶
Co bylo uděláno:
1. BUILD TRAINING V19 (server 134)¶
build_training_v19.py: Kompilace 202,522 záznamů ze 3 zdrojů (MASTER_LIVE + stat_realit + inzeraty)- Feature engineering: NLP rooms extraction (29%→63%), city normalization (57%→98%)
- Uloženo do:
/opt/reality-pipeline/data/TRAINING_CLEAN_V19.db
2. TRÉNINK MODELU V19¶
train_v19.py: LightGBM s geo holdout (GroupShuffleSplit na 0.5° GPS grid)- Výsledky:
- BYT: V18=11.92% → V19=21.82% geo_MdAPE (horší - data mix noisy)
- DUM: V18=29.04% → V19=26.97% geo_MdAPE (mírné zlepšení)
- POZEMEK: V18=52.77% → V19=48.80% geo_MdAPE
- KOMERCNI: V18=37.75% → V19=19.85% geo_MdAPE ✓ (splněno!)
- Modely:
/opt/reality-pipeline/models_v19/(4 pkl soubory, ~12MB)
3. V19 API SERVER (port 5170)¶
v19f_serve.py: HTTP API na portu 5170, PM2cenova-mapa-v19- Endpoint:
GET /api/estimate?typ=byt&plocha=60&lat=50.07&lon=14.43 - Medians: 47,571 city, 10,410 geo bins z training DB
- Deployováno na serveru 179
4. SUPER-ENSEMBLE OPRAVA (server 179)¶
- Před: 3/12 engines online, spread 67%, review_needed=true
- Po: 9/13 engines online (69%), review_needed=false
- Opraveny enginey: prodeje(5091), csu(5092), ai_v8(5093), smart(5098), timeseries(5097), vynosovy(6002), nakladovy(6003), csu_katastr(5102), meta_direct_v4(5125)
- Přidán nový engine: cenova_mapa_v19 (localhost:5170, weight=0.7)
- Všechny enginy registrovány v PM2
- URL fixy: nakladovy=/api/valuate, vynosovy=/api/valuate, meta_v5=port 5120, meta_direct=5125
Soubory: - C:\Users\info\Downloads\NOVA_MAPA_TRAINING_DATA\build_training_v19.py - C:\Users\info\Downloads\NOVA_MAPA_TRAINING_DATA\train_v19.py - C:\Users\info\Downloads\NOVA_MAPA_TRAINING_DATA\v19f_serve.py - /opt/super-ensemble-v2/app.py (URL fixes, V19 engine added) - /opt/reality-pipeline/v19f_serve.py (server 179)
Status: ✅ PARTIAL - V19 deployed as shadow, Super-Ensemble 9/13 (was 3/12)
2026-04-14 Claude Code — Crucix Market Intelligence Agent¶
- LLM agent upgradován: 8-12 analýz česky, nová pole marketImpact/affectedSectors/eventTrigger
- Czech translation dokončena: jarvis.html, cs.json
- Pokrytí: akcie/ETF/komodity/forex/dluhopisy/krypto per zpráva
- Status: OK, crucix online
2026-04-14 Claude Code - Super-Ensemble v2.3 plně opraven + V19 nasazen¶
Co bylo uděláno: - Opraveno: timeout 5s→8s pro map_v11_katastr (6s latence) - Opraveno: timeseries DB path /opt/reality-agents/data/MASTER_CLEANED.db → /opt/reality-pipeline/data/MASTER_LIVE.db - Opraveno: meta_v5 URL /api/estimate → /api/meta/predict, method GET→POST, price_field→price_predicted - Přidána POST podpora v call_engine pro engines s method=POST - V19 nasazen jako engine #11 (port 5170, weight=0.7) - Výsledek: 11/13 engines online (bylo 3/12 = 25%), failed_engines=[] - Praha BYT 60m²: 155,171 Kč/m² (9,310,245 Kč celkem) - Spread qualita: shoda_trzni_motoru=0.79, pocet_motoru=11
Soubory: - /opt/super-ensemble-v2/app.py (timeout, meta_v5 fix, POST support) - /opt/cenova_mapa/mapa5_timeseries/app.py (DB path fix) - /opt/reality-pipeline/models_v19/ (V19 modely: BYT/DUM/POZEMEK/KOMERCNI)
Status: ✅ OK
2026-04-14 Claude Code - Cenova Unified v2.0 (port 5200)¶
- Nový orchestrátor port 5200, PM2: cenova-unified
- Architektura: V18 HTTP + V15 HTTP + V19 in-process + Live KNN (37k záznamů)
- Leave-one-out outlier filter (threshold 50%..220% medianu ostatních)
- Praha BYT 60m²: 161,105 Kč/m², spread 2.9% (3 zdroje v souladu)
- Soubory: /opt/cenova-unified/main.py
- Status: OK
2026-04-14 Claude Code - Desktop Agent UI v2.0¶
Co bylo uděláno: - Vytvořena vylepšená verze UI s Inter font, GitHub dark palette, animated live log - Interaktivní chat: suggestion chips, keyboard enter, inline reply karty - Super-Ensemble v2.3 status + GPU Monitor karta - Nasazeno na router.czechai.io/web/desktop-agent.html (49KB)
Status: OK
2026-04-14 Claude Code — Entity App "/web/entity-app/" rebuild¶
Co bylo uděláno: - Nahrazen prázdný Rive viewer funkčním entity screening toolem - Nové routes v router server.py: /v1/entity/screen-person + /v1/entity/screen-company (public) - AML SERVICES opraveno: localhost:5291 → localhost:8093 - Nginx location /v1/entity/ přidán do router.czechai.io - HTML app: dark UI, tab Osoba/Firma, risk banner, sankce/insolvence/exekuce cards, risk factors - Deploy: /var/www/router-static/entity-app/index.html
Status: ✅ OK — https://router.czechai.io/web/entity-app/ živý
2026-04-14 Claude Code - Cenová Mapa V20 trénink + deploy¶
Co bylo uděláno: - Natrénován V20 model (LGB+XGB+CB ensemble) na TRAINING_CLEAN_V19.db (202k záznamů) - RADII_KM=[5,10,20] (bez 2km), fallback k=10 KNN, V18 regularizace - BallTree + prices uložen přímo v bundle (není nutné načítat DB při startu) - Geo MdAPE BYT=22.62% (V18 11.92%, V19 21.82%), Praha přesnost: 167k vs actual 159k ✓ - Deploy: PM2 cenova-mapa-v20, port 5180 - V20 přidán do cenova-unified (weight=1.8), Praha outlier removal eliminuje V18(66k)/V19(93k) - Unified Praha BYT výsledek: 171,753 Kč/m² (actual ~159k) ✓
Soubory: - /opt/reality-pipeline/train_v20.py - /opt/reality-pipeline/v20f_serve.py - /opt/reality-pipeline/models_v20/v20_{byt,dum,pozemek,komercni}.pkl - /opt/cenova-unified/main.py (přidáno URL_V20, source V20 weight=1.8)
Výsledky V20: - BYT: geo=22.62%, val=6.20% - DUM: geo=35.73%, val=14.18% - POZEMEK: geo=54.80%, val=35.70% - KOMERCNI: geo=40.25%, val=21.16%
Status: ✅ OK
2026-04-14 Claude Code - Cenová Mapa V21¶
Co bylo uděláno: - Natrénován V21: [5,10,20,50,100]km radii + geospatial dropout augmentace (p=30%) - BYT geo MdAPE: 22.62% (V20) → 21.02% (V21) - Servís: PM2 cenova-mapa-v21 port 5181 - Integrováno do cenova-unified port 5200 jako 6. zdroj (weight=1.9) - Soubory: /opt/reality-pipeline/train_v21.py, v21f_serve.py, models_v21/
Klíčové poznatky: - 50/100km radii vždy mají data (ČR ~500km) → lépe pro vzdálené oblasti - Geo dropout augmentace: model se naučí predikovat bez lokálních dat - CatBoost trpí více augmentací (val 9.6% vs LGB 5.3%) → nižší blend weight
Status: ✅ OK
2026-04-15 Claude Code — V23 Enriched Model (Fáze 4 kompletní)¶
Co bylo uděláno: - ETL pipeline: 5 skriptů (01-05) pro OSM transport, water, landuse, RUIAN PSČ, merge - Spatial indexing: STRtree pro O(log N) dotazy, 2800+ bodů/s - Trénink V23: KNN+XGB+LGB per property type - byt: R²=0.9061, MAPE=12.81% ✅ (nad prahem 0.90) - dum: R²=0.813 ⚠️ (pod prahem) - pozemek/komercni: R²<0.40 ❌ (nedostatečná data) - Deploy: PM2 cenova-mapa-v23 (id=75), port 5153, shadow mode - Fix: KNN features bug opravena (špatný feature vektor v serve scriptu) - Výsledek: Praha BYT MAE=0.7% (vs V15 MAE=5.5%) - V15 (port 5150) NEDOTKNUTO
Soubory: - /opt/cenova_mapa/etl/01-06_enrich_*.py - /opt/cenova_mapa/etl/07_train_v23_enriched.py - /opt/cenova_mapa/etl/output/enriched_v23.parquet (140,396 rows) - /opt/cenova_mapa/models_v23/v23_{knn,xgb,lgb}_byt.pkl - /opt/cenova_mapa/v23_serve_5153.py
Status: ✅ OK — V23 shadow service běží
2026-04-15 Claude Code — V23 psc_lookup.json fix + real PSC medians¶
Co bylo uděláno: - Opravena chybějící psc_lookup.json (exitcode 1 v předchozím buildu soubor neuložil) - Znovu vystavěn z ruian_features.parquet: 2615 PSČ kódů, centroid lat/lon + medián ceny/m² - KD-tree ověřen: Praha PSC=12000→180582 Kč/m², Brno PSC=60200→129348, Ostrava PSC=70300→41456 - V23 server restartován, logy: PSC KD-tree: 2615 PSC kodu ✅ - BYT Praha: 181079 Kč/m² (PSC=180582 reálný), DUM Praha: 111261 Kč/m²
Soubory: - /opt/cenova_mapa/models_v23/psc_lookup.json (151.7 KB, 2615 entries) - /opt/cenova_mapa/v23_serve_5153.py (KD-tree lookup funguje)
Status: ✅ OK — V23 shadow port 5153, byt+dum online, real PSC medians
2026-04-15 Claude Code - V24 Cenova Mapa + Dispozice/Condition wiring¶
Co bylo uděláno: - ETL 06: enriched_v23.parquet → enriched_v24.parquet (+ dispozice feature, 140,396 rows, 36 cols) - Retrain V24: 5-fold OOF LGB+XGB+RF, BYT R²=0.9478 MAPE=11.92%, DUM R²=0.9178 MAPE=11.01% - V24 serve: /opt/cenova_mapa/v24_serve_5154.py, PM2 cenova-mapa-v24 (id=74), port 5154 - V23 serve: přidán condition multiplier (novostavba=1.15 ... spatny=0.87) - Super-Ensemble v2: V24 (weight=2.0) + V23 (weight=1.8) přidány; engine loop filter only_types=[BYT,DUM] - Router API: /v1/cenova/v23/estimate|health + /v1/cenova/v24/estimate|health - pm2 save, R² hodnoty live v /health endpointu
Soubory:¶
-¶
- (8 pkl souborů + 2 json)
- (condition patch)
- (V23+V24 engines)
- (4 nové routes)
Status: ✅ OK
2026-04-16 Claude Code - Widget upgrade: streaming + model selector + chart.js¶
Co bylo uděláno: - API: router.czechai.io/v1/llm/chat (sync) → ollama-gpu/v1/chat/completions (streaming) - Přidán model selector: aurum-chat / qwen2.5-coder:32b / codestral - Přidán stop button + token counter (tok/s) - Markdown: custom renderer → marked.js + highlight.js (syntax highlighting) - Přidána podpora chart.js (AI může renderovat grafy) - Typing cursor animace (gold, blink) - Lepší system prompt (V24, Super-Ensemble, 223k+ nemovitostí) - Storage key: czechai_chat_v2_* (nová verze, stará historie zachována odděleně)
Soubory: - /var/www/router-static/czechai-chat-widget.html - Backup: czechai-chat-widget.html.bak_20260416_*
Status: OK
2026-04-16 Claude Code - audio-orb system prompt upgrade (AURORA persona)¶
- AURORA persona: sebejistá, elegantní hlas CzechAI
- Identita: doporučuje CzechAI služby přirozeně podle kontextu
- Pozdrav trigger: jméno/skupina → spontánní pozdrav
- Revoluce trigger: "bude revoluce" → dramatický 1min gradující monolog
- Soubory: /var/www/router-static/audio-orb/assets/index-CAuR3u7y.js
Status: ✅ OK
2026-04-17 Claude Code — estatex-copilot.html kompletní přepis¶
- 3-tab architektura: COPILOT, AGENTI (28 agentů), DASHBOARD
- 6 průmyslových záložek + dynamické cat chips filtry
- Animované pozadí z Replit (scan line + moving lines)
- Zachovány všechny API: doStat/doCompare/doSearch/doResearch/doFirma/doLLM
- Soubory: /var/www/router-static/estatex-copilot.html
- Status: OK
2026-04-17 Claude Code - Audio Orb ElevenLabs Voice Switcher¶
Co bylo uděláno: - Přidán 4-hlasový přepínač do audio-orb-eleven (☠ EVIL / ♂ PÁNSKÝ / ♀ DÁMSKÝ / ○ UNIV.) - EVIL: Daniel voice ještě brutálnější (speed:0.52, stability:0.97), nový démonický prompt - PÁNSKÝ: Daniel multilingual (onwK4e9ZLuTAKqWW03F9), speed:1.08, přirozený - DÁMSKÝ: Jessica multilingual (cgSgspJ2msm6clMCkdW9), speed:1.05 - UNIV.: Brian multilingual (nPczCjzI2devNBz1zQrb), speed:1.02 - Opravena fragmentovaná řeč — root cause byl slow speed:0.82 + prompt 'mluvis EXTREMNE pomalu' - Server: aurora_eleven_session endpoint s VOICE_CONFIGS dict, agent cache per voice_type - Frontend: pill buttons s per-voice barvami, EVIL pulsing animace, localStorage persistence
Soubory: - (327 lines, voice switcher) - (aurora_eleven_session s VOICE_CONFIGS)
Status: ✅ OK
2026-04-17 Claude Code — audio-orb-dev Aurora wingman system prompt¶
Co bylo uděláno: - Vytvořena DEV kopie: /var/www/router-static/audio-orb-dev/ (identická kopie audio-orb) - Přepsán system prompt Aurory v DEV verzi: dokonalá čeština, wingman prezentační režim - Nové sekce: IDENTITA A DATA (V24 R²=0.9478, 42700 inzerátů, 1.58M sankcí), WINGMAN PRAVIDLA, UČENÍ A PAMĚŤ, CO UMÍŠ, STYL - audio-orb = DEMO (nedotýkat se), audio-orb-dev = DEV (pracovní)
Soubory: - /var/www/router-static/audio-orb-dev/assets/index-CAuR3u7y.js — system prompt 1189→2456 chars
Status: OK
2026-04-17 Claude Code - Aurora DEV kompletni fix + slider + pamet¶
Co bylo udelano: - Opraveny 404 nastroje: nginx rules pro /v1/cenova/ensemble/ a /v1/pipeline/snapshot - Pridan /v1/aurora/screen-person wrapper (prijima {name}, split -> first/last, vola AML) - Opraven tool URL screen-person v DEV JS - Novy system prompt: realna data nazpamet (V24, ceny, statistiky), wingman pravidla, uceni - Pridano: glob size slider (40-120%, localStorage persistence) - Pridano: session pamet badge (posledních 30 dotazů, zeleny indikator)
Soubory: - /etc/nginx/sites-enabled/router.czechai.io - 3 nove location bloky - /opt/router-api/server.py - /v1/aurora/screen-person endpoint - /var/www/router-static/audio-orb-dev/assets/index-CAuR3u7y.js - prompt + URL fix - /var/www/router-static/audio-orb-dev/index.html - slider + pamet JS/CSS
Status: OK
2026-04-17 Claude Code - Geocoder fix + V23/V24 patch + Cenová Mapa dokumentace¶
Co bylo uděláno: - Vytvořen (80+ měst, 4-tier fuzzy matching, aliasy, diakritika) - Opravena kritická chyba V23+V24: inline 4-city dict nahrazen sdíleným geocoderem (Liberec 203k→61k Kč/m²) - Benchmark V23 vs V24 vs SE v2.3: čísla, latence, R², produkční strategie - Dokumentace + MKDocs - Opraveny XLSX hyperlinky (63,807 Sreality URL), detail-enricher daemon, photo-enricher retry - Celkem nemovitostí: 223,756 (BYT 55k / DÚM 52k / POZEMEK 58k)
Soubory:¶
- (patched)
- (patched)
Status: ✅ OK
2026-04-17 Claude Code - Geocoder fix + V23/V24 patch + Cenova Mapa dokumentace¶
Co bylo udelano: - Vytvorena czech_geocoder.py (80+ mest, 4-tier fuzzy matching, aliasy, diakritika) - Opravena kriticka chyba V23+V24: inline 4-city dict nahrazen sdilenym geocoderem (Liberec 203k->61k Kc/m2) - Benchmark V23 vs V24 vs SE v2.3: cisla, latence, R2, produkcni strategie - Dokumentace CENOVA_MAPA_SYSTEM.md + MKDocs truth/cenova_mapa_system.md - Celkem nemovitosti: 223,756 (BYT 55k / DUM 52k / POZEMEK 58k) - Opraveny XLSX hyperlinky (63,807 Sreality URL)
Status: OK
2026-04-20 Claude Code - Noční scraping chain + SQLite WAL fix¶
Co bylo uděláno: - Diagnostikován a opraven SQLite WAL write lock bug v quality_agent.py (db.commit() po každém UPDATE, ne až na konci smyčky 5000 URL) - Stejný fix aplikován na unified_pricer.py (commit po každém záznamu, ne každých 50) - Spuštěn a dokončen kompletní noční chain na serveru 134: - DEDUP1: 14029 fuzzy duplikátů označeno - MEGA portály: +3210 nových záznamů - MANUAL portály: +116 nových - SPECIAL kategorie: +187 nových - ENRICH: 698 záznamů obohaceno (GPS reverse geocoding 5000 records) - TAG: 17608/54992 otagováno, 6293 příležitostí - EXPORT: 216329 řádků CSV, 22797 příležitostí CSV, 33MB Excel - Spuštěno 2. kolo sreality (04:32 UTC, stránka 34+)
Soubory: - /opt/reality-pipeline/quality_agent.py (fix WAL lock) - /opt/reality-pipeline/unified_pricer.py (fix WAL lock) - /opt/reality-pipeline/exports/reality_export_20260420_042959.csv - /opt/reality-pipeline/exports/opportunities_20260420_042959.csv - /opt/reality-pipeline/exports/reality_export_20260420_042959.xlsx
Status: OK
2026-04-21 Claude Code - CZ Legal Core unified backend deploy¶
Co bylo uděláno: - Nasazen sjednocený Czech legal backend cz-legal-core.service (port 8101) - Přenesena retrieval data (3.7GB SQLite + 948MB FAISS + 27MB meta) do /srv/cz-legal-core/data/ - Python venv + fastapi/uvicorn/faiss-cpu/sentence-transformers/torch - Endpointy: /health /api/chat /api/research /legal/search /legal/answer /legal/profiles - law.czechai.io /api/ a /legal/ přepojeny na port 8101 (bylo: port 3000) - test1.czechai.io /pravnik/api/ přepojeno na port 8101 (bylo: port 5710) - Starý cz-rag-api.service zastaven a deaktivován - Old /srv/cz-rag/ smazán (ušetřeno 9.8GB) - Disk 179: 93% -> 86%
Soubory: - /srv/cz-legal-core/app/scripts/cz_archive_api.py - /srv/cz-legal-core/app/scripts/cz_legal_core.py - /srv/cz-legal-core/data/retrieval.sqlite + embeddings.faiss - /etc/systemd/system/cz-legal-core.service - /etc/nginx/sites-enabled/law.czechai.io (aktualizováno) - /etc/nginx/sites-enabled/test1.czechai.io (aktualizováno)
Status: OK
2026-04-21 Claude Code — OSINT investigace MONOLOG TIME s.r.o.¶
- Prověrka firmy mt-poradenstvi-pohledavky-nemovitosti-pod-jednou-strechou.cz
- Vlastník: Kateřina Janišová (26 let), zakladatel: Alexander Tokár / Simply Office
- IČ: 10697322, OR: C 85234/KSOS, ZK: 1 000 Kč
- Insolvence ISIR: čistá, exekuce: nenalezeny
- Rizikový score: 7/10 — bílý kůň schéma
- Status: OK
2026-04-22 Claude Code — Družstevní byty XLSX report¶
Co bylo uděláno: - Dotaz na MASTER_LIVE.db (239,940 záznamů) filtrováno na ownership LIKE '%dru%' - 1,441 aktivních bytu v kategrii druzstevni s cenou a plochou - XLSX report: 4 sheety (Dashboard, MEGA příležitosti 273 ks, Všechny záznamy, Statistiky) - Průměrná cena: 3,959,167 Kč | Průměrná sleva vs AI: -12.2% - Hyperlinky na inzeráty, color-coded slevy, BarChart top 10 měst, AutoFilter
Soubory: - D:\CZECHAI_REALITY_MASTER\CzechAI_Druzstevni_Byty_20260422.xlsx - C:\Users\info\SCRAPER_DATA_2026\generate_druzstevni.py
Status: ✅ OK
2026-04-22 Claude Code - Server 134 pipeline stabilizace¶
- WAL checkpoint TRUNCATE: 4.6 GB -> 0 bytes (disk 89% -> 85%)
- PRAGMA wal_autocheckpoint=1000 nastaven
- metrics_exporter.py: BrokenPipeError zachycen
- orchestrator.py: KeyboardInterrupt graceful shutdown
- photo_enricher.py: AND is_active=1 filtr (expired URLs)
- 10 enrichment procesu restartovano, pipeline stabilni
- Status: OK
2026-04-22 Claude Code — Copilot UI opravy (linky + typo)¶
Co bylo uděláno: - addToolResultBlock: reality_search výsledky se nyní renderují jako property KARTY s klikatelným linkem (href na inzerát), discount badge (D30/D20/D15 s %), cenou, plochou, městem, portálem - addToolResultBlock: db_query řádky nyní jako tabulka s linky pokud hodnota je URL - addToolCallBlock: odstraněn velký JSON dump, args jsou nyní kompaktní inline key: value - Přidány CSS třídy: tr-reality-item, tr-reality-title, tr-reality-meta, tr-discount-tag, tr-table, tc-args-inline - msg.assistant .msg-bubble: zvětšen font 13→14px, line-height 1.65, light mode černé písmo #0f0f1a - suggestion chips v pravém panelu: odstraněny hardcoded Praha/sazba 5.5%, generické texty
Soubory: - /var/www/router-static/copilot-master.html - Záloha: copilot-master.html.bak.20260422_*
Status: OK
2026-04-22 Claude Code - Copilot ESTATEX brand redesign¶
- Nova brand paleta: accent #a855f7 neon violet, bg #0d0c16 purple-black
- Google Fonts: DM Sans + Space Grotesk
- logo-mark + welcome-logo: gradient box + neon glow
- send-btn, chat-header, input-box: purple glow theme
- Soubory: /var/www/router-static/copilot-master.html
- Status: OK
2026-04-22 Claude Code — czechai.ws SSL fix + mcp-mapy-3d HTTPS¶
Co bylo uděláno: - Diagnostika expired SSL servírovaného jako default na serveru 179 nginx - Platný ZeroSSL cert (CN=czechai.ws, platný do 12.7.2026) byl v od 13.4. neaktivní - Přidán HTTPS server blok do - Proxy na s (obchází HTTP→HTTPS redirect loop na dedi9544) - HTTP→HTTPS redirect 301, nginx reload - Ověřeno: → HTTP 200 OK, CN=czechai.ws ZeroSSL ECC
Soubory: - (server 179)
Status: ✅ OK
2026-04-22 Claude Code — OSINT: Valentina Armandi (Lenka Taclíková)¶
Co bylo uděláno: - 8-fázový deep research pipeline, 22 zdrojů, credibility scoring - Zjištění: původní jméno Lenka Taclíková (reset reputace potvrzen Blesk/Tiscali) - TOP red flag: dluh ~150 000 Kč modelkám Minářová, Kubelková, Fridvalská, Stočesová, Kocurová po fashion show (Blesk, 90% credibility) - Insolvence ARMANDI THERAPY CLINIC s.r.o. (29.8.2023–27.9.2023, ISIR) - Tvrzení podvod na dárce — nadace Český mozek (diskuze, neověřeno mainstreemem) - Anti-vax narativ jako základ zdravotnické kliniky ATC - Vazba na Milana Šrejbera (kauza ODS, zatčen) - Daňové penále PRIVATE AMD CENTER 3 164 Kč (12/2024) - 7 propojených entit na sdílených adresách, vzorec obviňování třetích stran 20+ let - Celkové hodnocení: VYSOKÉ RIZIKO
Status: ✅ OK
2026-04-22 Claude Code — OSINT Armandi: doplňkový výzkum (NRPZS, VZP, orgány, Visus)¶
Co bylo uděláno: - NRPZS: 4 pobočky ATC potvrzeny (Praha 4, ČB, HK, Karlovy Vary — nový nález) - PRIVATE AMD CENTER = ARMANDI THERAPY CENTER v NRPZS (alias firmy) - VZP smluvní vztahy: VZP(111), RBP(213), ZPŠ(209) potvrzeny - Donio Natálka: 54 000 Kč / 125% cíle, ukončeno 09/2021 - Šrejber: pouze PR host, žádný formální investorský vztah - ARMANDI a.s. předseda představenstva: Petr Hlávka (vinárna), nominální obsazení - VISUS: žádné propojení na Armandi síť (2 firmy prověřeny) - Gap analýza aktualizována, sekce 3c doplněna (37 zdrojů)
Soubory: OSINT_Valentina_Armandi_2026-04-22.md, AUTO_LOGGER.md
Status: ✅ OK
2026-04-23 Claude Code - Property Hunter v2 GPS + Manual V24 tab¶
- GPS centroid bug discovered: fake Praha coords on 1000+ properties
- New property-hunter.html: 2-tab (DB + Manual V24), updated AURUM prompt
- Manual search: 8 filters + live V24 verify, centroid detect, resort +15%
- Confirmed real Praha deals: Haje -15%, Michle, Nusle
Files: /var/www/router-static/property-hunter.html (179, 830 lines) Status: OK
2026-04-23 Claude Code — Property Hunter: WEB HUNT + Detail Panel¶
Co bylo uděláno: - Přidán endpoint do router-api (server 179): Google search přes Crawl4AI - AURUM chat: tlačítko 🔍 WEB v headeru chatu, HUNT mode paralelně s DB daty - Topbar: standalone tlačítko 🔍 WEB HUNT (spouští background hunt, badge s počtem) - Hunt modal: query input, presets, progress status - Detail panel: slide-out panel při kliknutí na řádek tabulky — vždy s odkazem na portál - Row click: místo window.open() → otevře detail panel s AURUM analýza tlačítkem
Soubory:¶
- (endpoint /api/hunt-web)
Status: ✅ OK
2026-04-23 Claude Code - Property Hunter: WEB HUNT + Detail Panel¶
Co bylo udeláno: - Pridan /api/hunt-web endpoint do router-api: Google search pres Crawl4AI - AURUM chat: tlacitko WEB v headeru chatu, HUNT mode paralelne s DB daty - Topbar: standalone tlacitko WEB HUNT (background hunt, badge s poctem) - Hunt modal: query input, presets, progress status - Detail panel: slide-out pri kliknuti na radek tabulky - vzdy s odkazem na portal - Row click: misto window.open() - otevre detail panel s AURUM analyza tlacitkem
Soubory: - /var/www/router-static/property-hunter.html - /opt/router-api/server.py (endpoint /api/hunt-web)
Status: OK
2026-04-24 Claude Code - Copilot agents view redesign¶
Co bylo uděláno: - agents-view: 6 kategoriových bloků přestavěno na horizontální sloupcový layout (jeden sloupec = jedno téma) - Každá kategorie defaultně rozbalena, agenti ve sloupci (ne 2-col grid) - Po výběru agenta: agents-view se zavře, left panel se rozšíří na 430px (2 sloupce) - Pravý sloupec (188px) zobrazuje všechny agenty dle kategorie, skills se skryjí - clearAgentContext() obnoví původní stav (skills zpět, agents col skrytý)
Soubory: - /var/www/router-static/copilot-master.html
Status: OK
2026-04-24 Claude Code — Cenová Mapa: přepnutí na combo3 (5163) + cleanup A/B¶
Co bylo uděláno: - Odstraněn split_clients + map A/B blok (router.czechai.io řádky 1-8) - → hardcoded (bylo ) - → (bylo ) - catch-all → (bylo ) - → (bylo ) - → (bylo ) - (2x) → (bylo ) - X-Cenova-AB debug header odstraněn - Přesunuty 4× chat.czechai.io.bak* s cenova referencemi → /etc/nginx/sites-backup/ - nginx -t OK, systemctl reload OK, 10 requestů/endpoint HTTP 200
Soubory:¶
- (přesunuté bak soubory)
Status: ✅ OK — combo3_router_target_port: 5164 (byt), 5165 (ostatní)
2026-04-25 Claude Code — Hidden Gems Audit: 17 nepoužívaných super funkcí¶
Co bylo uděláno: - Kompletní průzkum serverů 179, 134, 117 + audit stránky - Identifikováno 17 skrytých/nepoužívaných funkcí s vysokou hodnotou - Top nálezy: Nominatim CZ (vlastní geocoder), GPT-SoVITS (voice agent), BillionMail+Postiz (email/social autopilot), Flood Risk API, MeiliSearch, Crucix OSINT, Dexter Research, Docling API - Fraud Guard běží na localhost:5101 ale není exposovaný přes router - Merge iDNES je STOPPED → chybí 37K záznamů
Soubory: - C:\Users\info\.claude-code\HIDDEN_GEMS_AUDIT_2026-04-25.md (lokálně)
Status: ✅ OK
2026-04-25 Claude Code — OSINT Prověrka v1.0 nasazena (standalone)¶
Co bylo uděláno: - Nový standalone service na portu 5233 (PM2 id=229) - FastAPI agregátor: OSINT Tools (5232, 14 nástrojů) + AML Platform (8093) + ARES + Dexter Research (5283) - Souběžné volání všech zdrojů (asyncio.gather) - UI: /var/www/router-static/osint-proverka.html (dark theme, risk gauge, export JSON) - Nginx route: /osint → UI, /v1/osint/ → API - Podpora: osoba (jméno), IČO, email, telefon, username — auto-detekce - Risk skóre 0-100 s barevným gauge - Deep OSINT toggle: Sherlock (400+ webů) nebo Maigret (2500+ webů)
URL: https://router.czechai.io/osint API: POST https://router.czechai.io/v1/osint/api/proverka
Soubory: - /opt/osint-proverka/app.py - /opt/osint-proverka/ecosystem.config.js - /var/www/router-static/osint-proverka.html
Status: ✅ OK
2026-04-25 Claude Code - OSINT Prověrka v1.0 + Hidden Gems Audit¶
Co bylo uděláno: - Nasazen nový standalone screening service: OSINT Prověrka v1.0 (port 5233, PM2 id=229) - Kombinuje 4 zdroje paralelně: AML Platform + OSINT Tools 14 + ARES + Dexter Research - Auto-detekce typu vstupu (IČO/email/telefon/osoba/username) - Risk score 0-100 s úrovněmi OK/NÍZKÉ/STŘEDNÍ/VYSOKÉ - Dark theme frontend s gauge vizualizací, export JSON, deep OSINT toggle - Proveden audit skrytých funkcí všech serverů (179/134/117) → 17 nepoužívaných super funkcí
Soubory: - (FastAPI agregátor) - (PM2 konfig) - (dark UI) - (přidán /osint + /v1/osint/ routing) - (audit 17 funkcí)
Status: ✅ OK
2026-04-25 Claude Code - OSINT Proverka v1.0 + Hidden Gems Audit¶
Co bylo udelano: - Nasazen novy standalone screening service: OSINT Proverka v1.0 (port 5233, PM2 id=229) - Kombinuje 4 zdroje paralelne: AML Platform + OSINT Tools 14 + ARES + Dexter Research - Auto-detekce typu vstupu (ICO/email/telefon/osoba/username) - Risk score 0-100 s urovnemi OK/NIZKE/STREDNI/VYSOKE - Dark theme frontend s gauge vizualizaci, export JSON, deep OSINT toggle - Proveden audit skrytych funkci vsech serveru (179/134/117) - 17 nepouzivanych super funkci
Status: OK
2026-04-25 Claude Code - OSINT Proverka nasazena vsude¶
Co bylo udelano: - realitni-copilot tools.py: pridana funkce osint_proverka() + TOOLS entry + TOOL_FUNCTIONS - realitni-copilot app.py: system prompt rozsiren o OSINT Proverka instrukce - copilot-master.html: AML check card + FEATURES entry + OSINT agents entry - ai-tools.html: nova sekce Security & OSINT s tool cardem + TOOLS JS object - agents-hub.html: novy OSINT Proverka agent s form fields - agents-catalog.html: agent card s odkazem na /osint - czechai-master-index.html: odkaz v seznamu sluzeb
API: - POST https://router.czechai.io/v1/osint/api/proverka - UI: https://router.czechai.io/osint
Status: OK
2026-04-26 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 313649 zaznamu
- v_archive: 5456 zaznamu
- Sync: 134 → 179 OK
Status: OK
2026-04-26 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 313698 zaznamu
- v_archive: 5455 zaznamu
- Sync: 134 pull-rebuild-push 179 OK
Status: OK
2026-04-26 Claude Code - Data Enrichment & Bug Fixes¶
Co bylo uděláno: - GPS enrichment MASTER_LIVE.db (server 134): spusteno, +6.5K GPS zaznamů, stale bezi (20441 unique cities) - GPS enrichment MASTER_UNIFIED.db (server 179): spusteno, +2.4K GPS zaznamů, stale bezi (1949 unique cities) - Rooms/dispozice enrichment server 134: +23,276 zaznamů (z titulku regex) - Rooms/dispozice enrichment server 179: +29,489 zaznamů (z titulku regex) - FIX quality_agent.py phase4: pridano db.commit() po kazdem znalec UPDATE (preveni multi-hodinovy write lock) - FIX realitni-copilot: scraped_at filtr odstranen v db_query() + system prompt zákaz (z predchozi session) - FIX realitni-copilot: UPPER(transaction_type) pro Sreality lowercase hodnoty
Soubory: - (server 134 + 179) - (server 134 + 179) - - phase4 fix
Status: ✅ OK (enrichments running in background)
2026-04-27 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 323599 zaznamu
- v_archive: 5528 zaznamu
- Sync: 134 pull-rebuild-push 179 OK
Status: OK
2026-04-28 Claude Code - Copilot agents plně zprovozněny (130 agentů, 20 kategorií)¶
Co bylo uděláno: - Přidán /api/sql-query SELECT-only proxy na server 134 (288K live záznamů) - Opraveny tools.py: db_query, reality_search, _reality_db_search → volají live REST API místo prázdné lokální SQLite - nl_db_search: aktualizovány názvy sloupců pro MASTER_LIVE.db - Spuštěna idea-browser (port 5180) a property-report (port 5280) — byly stopped - Opraven swarm_14_byznys_papa.py — syntax error (broken f-string s literal newline) - Aktualizovány UI texty: 28→30 nástrojů, 136K→200K+ nemovitostí - Vytvořen admin user info@bohemiashield.cz, 99999 kreditů
Soubory: - /opt/reality-pipeline/reality_api_db.py (server 134) — sql-query proxy - /opt/copilot-api/tools.py (server 179) — 5 oprav - /opt/router-api/swarmy/swarm_14_byznys_papa.py — syntax fix - /var/www/router-static/copilot-master.html — UI texty
Status: ✅ OK — db_query testován, vrací data z 288K live DB
2026-04-28 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 328531 zaznamu
- v_archive: 5622 zaznamu
- Sync: 134 pull-rebuild-push 179 OK
Status: OK
2026-04-28 Claude Code - Fix pravnik-25 RAG (OLLAMA port 4100→11434)¶
Co bylo udelano: - Pravnik-25 (port 5710) mel rozbite RAG search - rag-api /search vracelo 500 Internal Server Error - Root cause: /opt/czechai-rag-kb/rag_api.py mel OLLAMA_URL = localhost:4100 misto 11434 - Fix: opraveno na localhost:11434, pm2 restart rag-api (id=24) - Verifikace: POST /search vraci czech_laws_master 3 vysledky OK
Soubory: - /opt/czechai-rag-kb/rag_api.py (radek 95, OLLAMA_URL)
Status: OK
2026-04-29 Claude Code — copilot.czechai.io: oprava popisků agentů + pravý sloupec¶
- Fix:
.ag2-card-sub { display:none; }→display:block(popisky agentů byly skryté CSS pravidlem) - Karta agenta zvětšena: 34px → min-height:46px, hover shadow, ikona 22→26px
- Pravý panel: nový tab Agenti vedle Live/Mapa s vlastním pane
#rp-pane-agenti - Render z existujícího
AGENT_CATS(kategorie + barevné dot/count, hledací pole, filter) - Auto-přepnutí: navigateTo('agenti') → switchRpTab('agenti'), návrat → 'live'
- Soubor: /var/www/router-static/copilot-master.html (5439 → 5553 řádků)
- Záloha: copilot-master.html.bak-2026-04-29
- Status: ✅ OK
2026-04-29 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 334494 zaznamu
- v_archive: 5726 zaznamu
- Sync: 134 pull-rebuild-push 179 OK
Status: OK
2026-04-29 Claude Code — AppFlowy Hub integrace (kompletní)¶
Co bylo uděláno: - hub.czechai.io live s SSL (AppFlowy Cloud, server 117) - Workspace "CzechAI Hub" — 7 sekcí, 27 sub-stránek - MCP @hectormr206/appflowy-mcp nakonfigurován (leos@czechai.io) - Copilot-API: +3 AppFlowy tools (appflowy_save_report, appflowy_search, appflowy_get_folder) - System prompt rozšířen o AppFlowy pravidlo (auto-save reportů) - 33 tools celkem v copilot-api
Soubory: - /opt/copilot-api/tools.py (+4 AppFlowy funkce) - /opt/copilot-api/app.py (AppFlowy sekce v system promptu) - C:\Users\info\.claude.json (MCP config)
Status: ✅ OK
2026-04-30 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 340298 zaznamu
- v_archive: 5826 zaznamu
- Sync: 134 pull-rebuild-push 179 OK
Status: OK
2026-04-30 Claude Code - Migrace služeb 179→117 (disk cleanup)¶
Co bylo uděláno: - Přesunuto 9 adresářů + 232 CSV exportů z serveru 179 na 94.130.218.117 - perplexica (3.2G) → 117 PM2 port 3048, nginx proxy research.czechai.io přepsán - roomgpt (779M) → 117 PM2 port 3042, nginx proxy staging.czechai.io přepsán - craftsmen-hub, quarkdown, kokoro-tts, vision-sync, photographer-cms → 117 /opt/ - github-explore/FinceptTerminal + GitNexus (4.4G) → 117 /opt/github-explore/ - 232 starých reality-api CSV exportů → /opt/reality-api-csv-archive na 117 - Disk 179: 94% → 83% (uvolněno ~15G)
Soubory: - (179 a 117) - - upraven proxy na 117 - - upraven proxy na 117
Status: ✅ OK
2026-04-30 Claude Code - Migrace sluzeb 179->117¶
- perplexica 3.2G -> 117, PM2 port 3048, nginx research.czechai.io presmerovan
- roomgpt 779M -> 117, PM2 port 3042, nginx staging.czechai.io presmerovan
- craftsmen-hub/quarkdown/kokoro-tts/vision-sync/photographer-cms -> 117 /opt/
- github-explore repos 4.4G -> 117
- 232 reality-api CSV -> /opt/reality-api-csv-archive na 117
- Disk 179: 94% -> 83% (~15G uvolneno)
Status: OK
2026-05-01 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 346861 zaznamu
- v_archive: 5165 zaznamu
- Sync: 134 pull-rebuild-push 179 OK
Status: OK
2026-05-01 Claude Code - telegram-bot deployed¶
Co bylo uděláno: - Nasazen telegram_bot.py jako PM2 process (ID 68) na server 179 - Path: /opt/telegram-bot/bot.py - Venv: /opt/telegram-bot/venv/ (python-telegram-bot 20.7 + requests + python-dotenv) - Token: z /opt/telegram-bot/.env (sdílený s claude-code-telegram) - Fix: load_dotenv s absolutní cestou + --cwd v PM2
PM2: ID 68 telegram-bot, online, 0 restartů
Soubory: - /opt/telegram-bot/bot.py - /opt/telegram-bot/.env - /opt/telegram-bot/venv/
Status: OK
⚠️ TODO: User musí poslat /start botu @CzechAiio_bot v Telegramu!
2026-05-02 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 351392 zaznamu
- v_archive: 5276 zaznamu
- Sync: 134 pull-rebuild-push 179 OK
Status: OK
2026-05-03 Claude Code - S3 Full Backup všech serverů + disk cleanup¶
Co bylo uděláno: - Spuštěn full S3 backup na serverech 179, 134, 117 → bucket zechai-backup-full-nbg1 - Server 134: ✅ DONE (23:08), 10.1 GiB/s, disk 96%→55% - Server 179: ✅ DONE (~02:00), 89.1 GiB /opt + /root/apps + nginx/SSL synced, disk 94%→79% - Server 117: 🔄 RUNNING (163GB /opt, ~40 min zbývá) - Disk cleanup 179 session 2: +5.3GB uvolněno (chatbox node_modules 2.1G, continue 313M, skyvern venv 1.2G, go/pkg cache 1.4G, netdata journal 244M) - Opraven /opt/backup-s3-full.sh na 179 (odstraněn pipe | tail -20, robustnější log) - Vytvořen cleanup-reality-data.sh cron (03:30) zachovává 14 nejnovějších CSV exportů
Soubory: - (179, 134, 117) - (179, 134, 117) - (179)
Status: ✅ OK (117 backup stále probíhá)
2026-05-03 Claude Code - Daily MASTER_UNIFIED rebuild¶
- v_live: 343658 zaznamu
- v_archive: 5397 zaznamu
- Sync: 134 pull-rebuild-push 179 OK
Status: OK
2026-05-04 Claude Code - Migrace shadow.czechai.io na server 94¶
Co bylo uděláno: - nginx 179 přesměrován: 127.0.0.1:5163/5166 → 94.130.223.40 (sed) - End-to-end test: /v1/cenova/kalkulacka + /v1/cenova/estimate vrací V24 data - Snapshot aktualizován na DONE
Status: ✅ OK - shadow.czechai.io plně běží na serveru 94.130.223.40
2026-05-04 Claude Code — Migrace dedi9544 → 94.130.223.40¶
Co bylo uděláno: - Rsync 31G dat z dedi9544 na nový server 94.130.223.40 (/home/czechai) - Python venv s 3.11, requirements.txt nainstalovan - Symlink /usr/home/czechai → /home/czechai (hardcoded paths fix) - config.yml cesty opraveny (sed s|/usr/home/|/home/|g) - ecosystem.config.js pro nový server vytvořen - PM2 spuštěn: reality-pipeline, merge-guardian, enrich-pipeline, continuous-enricher, unified-pricer, pipeline-guardian (6 procesů) - Pipeline: 246k records, 49 scheduled tasks, dashboard :9102, Prometheus :9101 - Nginx + SSL czechai.ws nastaven (cert valid do Jul 2026) - SELinux context nastaven pro /var/www/czechai-ws - PM2 autostart (systemd) nastaven
Servery: - zdrojový: dedi9544 (188.40.28.226) — stále běží, nezastaveno - cílový: 94.130.223.40 — PLNĚ FUNKČNÍ
Zbývá (manual): - DNS czechai.ws → 94.130.223.40 (přepnout u registrátora) - Po ověření DNS: zastavit procesy na dedi9544 - acme.sh certbot renewal setup na novém serveru
Status: ✅ OK
2026-05-04 Claude Code - Migrace dedi9544 → server 94.130.223.40¶
Co bylo uděláno: - Zastaveny všechny PM2 procesy na dedi9544 - Finální rsync MASTER_LIVE.db (246,666 záznamů) + WAL checkpoint - Opraven nginx redirect loop (HTTP→HTTPS na novém serveru) - Opraven API port: 8181 (ne 8080) - Opraveny .bak nginx configs z sites-enabled (oba odstraněny) - Přidán ACME challenge do HTTPS bloku na server 179
Servery: - Nový: (AlmaLinux 8, 3.6TB /home) - Symlink: → (FreeBSD→Linux) - Web: → 200 OK (proxy: 179→94)
PM2 na 94.130.223.40 (11 procesů): - reality-pipeline (49 scheduled tasks, :9101/:9102/:9110) ✅ - enrich-pipeline, merge-guardian, continuous-enricher ✅ - unified-pricer, pipeline-guardian ✅ - czechai-api (:8181), shadow-url-estimator ✅ - cenova-mapa-combo3-shadow + v15 + v24 ✅
Status: ✅ OK Zbývá (manuální): AAAA DNS czechai.ws změnit z 2a01:4f8:d0a:13db::2 (dedi9544) na 2a01:4f8:1c1a:15aa::1 (server 179) u registrátora → pak SSL auto-renewal bude fungovat. Cert vyprší 12. července 2026.
2026-05-04 Claude Code — CENOVE_MAPY_KOMPLETNI_HISTORIE.md finalizace¶
Co bylo uděláno: - Kompletní vědecká dokumentace cenové mapy expandována na 100 843 znaků (37 sekcí, 2900+ řádků) - Přidány vědecké detaily: V15b-h iterace, V16 ULTIMATE, V23 vs V24, ETL pipeline, hyperparametry, OOF metodologie, ensemble váhy, feature importance, Combo3 router, EstateX agenti, self-learning plán - Sekce 37: Klíčové metriky projektu (summary tabulka) - Nahráno na MKDocs: /opt/czechai-docs/docs/reality/CENOVE_MAPY_KOMPLETNI_HISTORIE.md - mkdocs build úspěšně spuštěn
Soubory: - D:/CZECHAI_REALITY_MASTER/PRODUCTION/DOCS/CENOVE_MAPY_KOMPLETNI_HISTORIE.md (100 843 znaků) - /opt/czechai-docs/docs/reality/CENOVE_MAPY_KOMPLETNI_HISTORIE.md (105 419 bytů na serveru)
Status: ✅ OK
2026-05-04 Claude Code — Typst PDF report z CENOVE_MAPY_KOMPLETNI_HISTORIE.md¶
Co bylo uděláno: - Nainstalován Typst service na server 179 (port 5250, PM2 ID 81) - Python konvertor md2typst.py — čte markdown slovo od slova, konvertuje do Typstu - Bílé pozadí, DejaVu Sans, české diakritiky zachovány, 38 sekcí, 989 KB PDF - Tensor.art TAMS API klient — RSA-SHA256 sign, čeká na upload public key
Soubory:¶
-¶
Status: ✅ OK
2026-05-04 Claude Code — Typst PDF report¶
- Typst service port 5250, PM2 typst-pdf ID 81
- md2typst.py konvertor — markdown slovo od slova do PDF
- Bily background, DejaVu Sans, 38 sekci, 989 KB
- Tensor.art TAMS API klient s RSA-SHA256 sign
- Soubory: CzechAI_Cenove_Mapy_WHITE.pdf, tensor_client.py
Status: OK
2026-05-04 Claude Code - Property Hunter CF Toggle¶
Co bylo uděláno: - Přidán toggle switch Live DB ↔ COMBINED FINAL do property-hunter.html - Konvertován NEON_FULL_VALIDATED_20260117_1504.xlsx (30 939 řádků) → combined-final-data.json (8MB) - JSON nahrán na /var/www/router-static/combined-final-data.json - Modifikovaný HTML nahrán na /var/www/router-static/property-hunter.html - Lazy loading (fetch jen při prvním přepnutí), client-side filter/sort/search/pagination - Vizuálně ověřeno: 30 939 záznamů, pageInfo OK, cfPill ON
Soubory: - /var/www/router-static/property-hunter.html (65 123 B) - /var/www/router-static/combined-final-data.json (8 339 327 B)
Status: OK
2026-05-05 Claude Code - Přímý Majitel Dashboard - kompletní oprava¶
Co bylo uděláno: - Opravena bezrealitky URL struktura: /nemovitosti-detail/ → /nemovitosti-byty-domy/ (všechny linky nyní 200 OK) - Přidáno mapování description → Popis do row_to_dict() API - Opravena filtrace: bazos portál explicitně zahrnut (bez závislosti na owner_type) - Opravena .php title filter: bazos a bezrealitky vyjmuty z filtru - Přidána extrakce ceny z description pro bazos záznamy - Čištění garbage descriptions pro bezrealitky - Frontend: cleanDesc() helper + .card-desc zobrazení výňatku popisu - Celkem: 30,958 přímých majitelů (bez realitky), všechny linky funkční
Soubory: - (server 134) - (server 179)
Status: ✅ OK
2026-05-05 Claude Code - EstateX Intro Page (kopie investor decku bez investic)¶
Co bylo uděláno: - Vytvořena kopie estatex-investor-deck.html jako estatex-intro.html (bez úpravy originálu) - Odstraněny sekce: pricing (ceník), subscribers (10K model), ask (Seed round 15M), wealth (investor CTA) - Odstraněn investor image divider (base64 obrázek 90KB) - Upraven hero: eyebrow, subtitle, CTA tlačítka → přímá platforma - Upraven nav: bez Ceník/10K model/Investice, přidán Kontakt - Nahrazena wealth sekce přívětivou CTA sekcí (Vyzkoušet platformu) - Odstraněn disclaimer o důvěrných informacích pro investory - Výsledek: 52KB (z původních 161KB), 8 sekcí místo 13
Soubory: - (NOVÝ) - (NEDOTČEN)
URL: https://router.czechai.io/web/estatex-intro.html
Status: ✅ OK
2026-05-05 Claude Code - EstateX register + intro oprava¶
Co bylo uděláno: - Mobile nav bar v estatex-register.html (EX EstateX | Platforma | Copilot gold) - Hero-rain.jpg fullbleed sekce v estatex-intro.html s "Vyzkoušejte. Rozhodněte se pak." - 4 value cards (100 kreditů, žádné karty, žádné sliby) + city-tower.jpg divider - Investor revenue/market sekce nahrazeny pay-after-you-try obsahem - Všechny pitch-img PNG komprimovány na JPEG (7-18MB → 100-180KB) přes ImageMagick - Vizuální ověření Playwright desktop 1280px + mobile 390px
Soubory: - /var/www/router-static/estatex-register.html - /var/www/router-static/estatex-intro.html - /var/www/router-static/pitch-img/*.jpg (všechna nová JPEG)
Status: ✅ OK
2026-05-05 Claude Code - GitNexus + FinanceDatabase nasazení¶
Co bylo uděláno: - GitNexus (35.9k★) nasazen na https://router.czechai.io/gitnexus/ - Clonováno do /opt/gitnexus/, build: npx vite build (bez TypeScript type-check) - Statické soubory: /var/www/router-static/gitnexus/ - Nginx location block přidán do hlavního router.czechai.io HTTPS server bloku (byl omylem ve slides.czechai.io) - Fix: absolutní asset cesty /assets/ → relativní ./assets/ v index.html - FinanceDatabase (JerBouma, v2.3.1) integrován do Dexter API (port 5283) - 3 nové endpointy: /api/symbols/search, /api/symbols/ticker, /api/symbols/options - 300k+ finančních nástrojů (equities, ETFs, funds, indices, currencies, crypto)
Soubory: - /var/www/router-static/gitnexus/index.html (fix asset paths) - /etc/nginx/sites-enabled/router.czechai.io (location /gitnexus/ block) - /opt/dexter-agent/dexter_api.py (3 nové endpointy FinanceDatabase)
Status: ✅ OK
2026-05-09 Claude Code — 🏛️ Detailní serverová inventura + autopilot opravy¶
Trigger: Uživatel hlásil "crash každých 5 minut na 179".
Root cause: NE skutečný server crash — Telegram alert spam smyčka. - agentui + agno-frontend (Next.js) v crash loopu (stale Server Action ID, 11 700+ restartů) - /opt/pm2-monitor/monitor.py bucket bug → alert každé 3 min
Opravy: - ✅ pm2 stop agentui + agno-frontend (crash loop zastaven) - ✅ pm2-monitor.py přepsán na delta-based (FIRST + ESCALATING) - ✅ Auto-reboot vypnut (Automatic-Reboot-WithUsers false) - ✅ Disk cleanup 179: 87% → 85% (+3 GB)
Inventura 5 serverů: - 179 czechai (hlavní): 79 PM2, 30 Docker, 150+ nginx domén, 30 GB RAM - 117: 251 GB RAM, migrované Docker služby (Twenty, Outline, SiYuan, Blinko, ...) - 134 CzechAiScrapper: 61 PM2, swap thrashing (9.6/11 GB) - 170 GPU: RTX PRO 6000, 4 Ollama modely (qwen3-coder-next 52GB hlavní) - dedi9544: 1.7 TB volného disku, czechai.ws
Veřejně dostupné: - https://router.czechai.io/web/server-inventory.html - https://router.czechai.io/web/server-inventory-2026-05-09.md
Soubory: - /opt/pm2-monitor/monitor.py (v2) - /etc/apt/apt.conf.d/50unattended-upgrades (Automatic-Reboot-WithUsers false) - /var/www/router-static/server-inventory-2026-05-09.md - /var/www/router-static/server-inventory.html
Status: OK ✅
2026-05-10 Claude Code — 🏛️ Server 40 doplněn do inventury + agents catalog refresh¶
Trigger: Uživatel upozornil že večerní inventura (2026-05-09) PROPASLA server 40.
Opraveno¶
- ✅ Server 40 (94.130.223.40, AlmaLinux 8, 251 GB RAM, 7.4 TB disk) doplněn do:
server-inventory-2026-05-09.md(lokální + server upload)master-x7k9m2p4q8.html(TOTAL MASTER)server/infrastruktura.md(MKDocs)agenti/catalog.md(MKDocs — kompletní seznam 73 agentů)chats.html,status.html,index.master.html(HTML rozcestníky)- ✅ Klíčový insight: shadow.czechai.io produkce běží NA SERVERU 40, ne na 179
- ✅ Inventura: 5 → 6 serverů, 545 → 796 GB RAM, 3 → 10 TB disk
Klíčová zjištění z auditu serveru 40¶
- 3.6 TB /home volné + 3.7 TB unused sdb = 7.4 TB potenciál
- 11 PM2 procesů (cenová mapa V24 + reality-pipeline)
- ⚠️ merge-guardian 30 056 restartů (crash loop)
- Root SSH funguje (na rozdíl od dedi9544)
- AlmaLinux 8 —
dnf installpro Camoufox/Playwright
Doporučení pro migraci 134¶
- Server 40 = nejlepší cíl (root + 7.4 TB + 251 GB RAM)
- dedi9544 = data backup (1.7 TB volné)
- Vyřadit 134 (úspora €10.49/měs)
Také dnes¶
- ✅ Notion stránka vytvořena: https://www.notion.so/35c730390b9181158f02f29dd67e01c8
- ✅ AppFlowy stránka vytvořena (workspace CzechAi → General)
- ✅ HTML rozcestníky publikovány na router.czechai.io/web/
Status: ✅ Inventura kompletní, 6 serverů, čeká migrace 134.
2026-05-11 Claude Code - Copilot Failover Setup (Hetzner LB + warm standby)¶
Co bylo uděláno: - Inventura copilot.czechai.io stack (179: copilot-api:5308 + realitni-copilot:5318 + nginx + Let's Encrypt cert) - Warm-standby deploy na server 40 (Reality Pipeline server, Nuremberg) - Python venv + deps (Flask 3.1, gunicorn 26, openai 2.36, bcrypt 5.0, PyJWT 2.12) - rsync ze 179 → 40: /opt/copilot-api/, /opt/realitni-copilot/, /var/www/router-static/ (1.4 GB filtered), SSL cert - SELinux fcontext + httpd_sys_content_t pro /var/www/router-static - nginx vhost na 40 (TCP passthrough kompatibilní, /v1/pipeline/ proxy → router.czechai.io) - PM2 na 40: copilot-api (port 5308) + realitni-copilot (port 5318), pm2 save persistent - Cron /opt/copilot-sync.sh na 179 — rsync každých 5 min - Hetzner Cloud LB lb11 vytvořen: id=6314904, IP 49.13.43.119 (nbg1, ~5,83 €/měs) - LB services TCP 80→80 + TCP 443→443 (SSL passthrough) - LB targets: Cloud server 179 (id 115501145) + IP target 94.130.223.40 - Health check: HTTPS GET /api/copilot/health (port 443, tls=true, response='"status":"ok"') - Všechny 4 targets healthy, MD5 root souboru identický mezi 179 a 40 - LB roundrobin testován, latence 6-15ms
Soubory: - /opt/copilot-sync.sh (179) — sync skript - /etc/nginx/conf.d/copilot.czechai.io.conf (40) — nginx vhost - /opt/copilot-api/ + /opt/realitni-copilot/ (40) — replikováno - /var/www/router-static/ (40) — 1.4 GB statiky - /etc/letsencrypt/live/copilot.czechai.io/ (40) — Let's Encrypt cert
Co zbývá ručně: - DNS A record copilot.czechai.io: 46.224.121.179 → 49.13.43.119 (Hostinger panel — NS dns-parking.com) - Snížit TTL z 14400 → 300
Status: ✅ Backup stack live, LB healthy. Failover aktivuje se po DNS změně.
2026-05-15 Claude Code - CloakBrowser HEAVY pool + n8n-mcp upgrade¶
- CloakBrowser 0.3.28 nainstalován na serveru 134 (/opt/cloakbrowser-env/)
- scraping_fabric_data_plane.py patched: PlaywrightPool.initialize() pouziva launch_async()
- PM2 scraping-data-plane restarted, confirmed: HEAVY pool [1/1] ready (CloakBrowser)
- n8n-mcp (czlonkowski v2.53.0) → nahradil @n8n/mcp-server v mcp.json
- claude-for-legal 12 pluginu klonovano do plugins/claude-for-legal/
- Status: OK
2026-05-16 Claude Code - Copilot opravy 10/10 + FAQ systém¶
Co bylo uděláno: - Odstraněn portal whitelist v tools.py (blokoval realityidnes.cz 92k záznamů, eurobydleni 11k, mmreality 7k, ulovdomov 5k a další) - Opraven SQL injection v city_clauses (tools.py:3132) - f-string bez escapování → _sql_literal() - Opraven SQL injection v property_type LIKE (tools.py:3153) - f-string bez escapování → _sql_literal() - Odstraněn ?token= URL auth fallback z app.py _get_auth_user() (token v URL = security risk) - Přidán /api/copilot/faq endpoint - 10 otázek × 3 odpovědi každá - Přidán /api/copilot/faq/random endpoint - náhodná FAQ položka - Syntax ověřena, PM2 restart OK
Soubory: - /opt/copilot-api/tools.py (portal whitelist, city SQL inject, property_type SQL inject) - /opt/copilot-api/app.py (URL token fallback, FAQ endpoint)
Status: ✅ OK - copilot-api online, FAQ live
2026-05-16 Claude Code - Bun + OpenHuman web (117)¶
- Bun 1.3.14 + Rust 1.95.0 instalovano na server 117
- tinyhumansai/openhuman klonovano -> /opt/openhuman/
- bun run build:web -> dist-web/ (1140 modulov, 6.7s)
- Nginx 117:3097 servuje web frontend
- Proxy 179:3097 -> 117:3097 OK
- Status: OK
2026-05-17 Claude Code - Contact Extractor fix + overnight run¶
Co bylo uděláno: - KRITICKÝ BUG OPRAVEN: save_contact() nepřemazával existující kontakty NULL hodnotami - Oprava: dynamický UPDATE pouze pro non-None pole (phone/email/name) - Landline fix: Sreality API přijímá i pevné linky (2xx číslic) - Unit testy: 3/3 prošly - Overnight run spuštěn: 2 workers, 2.0s delay, 57k Sreality listingů - Výsledky: 88-90% hit rate, 6,368 telefonů, 207,152 emailů (0 zničeno)
Soubory: - /home/czechai/scrapers/reality-pipeline/contact_extractor.py - /home/czechai/data/reality-pipeline/db/MASTER_LIVE.db
Status: ✅ OK - běží overnight