# Plan: Chatbot RAG pentru romfast.ro ## ARHITECTURĂ GENERALĂ ``` Website romfast.ro (shared hosting) → HTTPS API calls → Backend Docker LXC → Claude Agent SDK + RAG ↑ chatbot.html (static + JS) ``` ## STRUCTURA SOLUȚIEI ### Frontend (pe shared hosting romfast.ro) - **chatbot.html**: Pagină statică minimală (skeleton HTML) - **chatbot.js**: Tot codul JavaScript (generează HTML dinamic, face API calls) - **CSS injectat**: Generate dinamic prin JavaScript - **localStorage**: Pentru session persistence ### Backend (Docker în LXC Proxmox) - **FastAPI**: Doar 2 endpoints (`/ask` și health check) - **Claude Agent SDK**: Integrare pentru răspunsuri inteligente - **RAG System**: Chroma + embeddings pentru knowledge base - **No web serving**: Doar backend API ### Comunicare - **HTTPS API calls**: Direct de la browser către IP-ul LXC - **CORS**: Configurat în FastAPI pentru cross-origin - **JSON communication**: Standard REST API ## IMPLEMENTARE ### Faza 1: Backend LXC (2-3 zile) 1. **Setup LXC**: Ubuntu 22.04 cu Docker 2. **Build backend**: FastAPI + Claude SDK + RAG 3. **Knowledge base**: Upload documente tehnice 4. **Test endpoints**: `/ask` și health check ### Faza 2: Frontend Integration (1-2 zile) 1. **chatbot.html**: Adaugă pe website-ul romfast.ro 2. **chatbot.js**: JavaScript complete pentru UI și API calls 3. **Test communication**: Cross-origin API calls 4. **Mobile responsive**: Adaptare pentru mobile ### Faza 3: Production Setup (1 zi) 1. **IP public**: Asigură acces la LXC container 2. **Security**: Rate limiting, CORS settings 3. **Testing**: Functionality și performance 4. **Documentation**: Setup instructions ## UTILIZARE ### Access Patterns - **Direct URL**: `romfast.ro/chatbot.html?message=eroare+conexiune` - **Empty start**: `romfast.ro/chatbot.html` - **Link integration**: Din alte pagini cu parameters predefinite ### User Flow 1. **User opens** chatbot.html (cu sau fără message) 2. **JavaScript generează** UI-ul dinamic 3. **API call către backend** întrebarea 4. **Backend procesează** cu Claude + RAG 5. **JavaScript afișează** răspunsul și sursele 6. **Session persist** în localStorage ## TECH STACK ### Frontend (Shared Hosting) - **HTML5** static - **Vanilla JavaScript** (ES6+) - **CSS** generated via JS - **localStorage** pentru sessions - **Fetch API** pentru backend calls ### Backend (LXC Docker) - **FastAPI** (Python 3.11) - **Claude Agent SDK** - **ChromaDB** (vector storage) - **Uvicorn** (ASGI server) - **Docker** pentru containerization ### Infrastructure - **Proxmox LXC**: 2 CPU, 2GB RAM, 20GB SSD - **Public IP**: Pentru API access - **HTTPS**: Certificat SSL pentru API - **No reverse proxy**: Direct exposure (simplificat) ## BENEFICII ### ✅ Technical - **Fără dependențe de hosting infrastructure** - **Separation of concerns**: UI vs backend - **Scalable backend** independent de frontend - **Easy updates**: Frontend direct pe website ### ✅ Business - **Zero additional hosting costs** - **Full control** asupra backend - **Professional appearance** pentru clienți - **Multiple entry points**: GET parameters, direct access ### ✅ Maintenance - **Simple stack**: JS + FastAPI - **Independent deployments** - **Easy debugging** și testing - **Standard web technologies** ## CONSTRAINTS & SOLUTIONS ### Constraint: No Nginx access **Solution**: Direct HTTPS API calls către LXC IP ### Constraint: Shared hosting **Solution**: Frontend static, backend separate ### Security: Cross-origin requests **Solution**: CORS configuration în FastAPI ## SUCCESS METRICS - **Setup time**: < 5 zile total - **Page load**: < 3 secunde (HTML static) - **API response**: < 5 secunde (RAG + Claude) - **Mobile support**: 100% responsive - **Session persistence**: > 95% reliability Acest plan oferă o soluție **practică și implementabilă** în condițiile de shared hosting, cu **arhitectură clar separată** și **deploy minim complex**. --- *Creat: 24 Octombrie 2025* *Status: Plan de arhitectură - așteptare aprobare*