Add chatbot documentation and Claude agent SDK resources

This commit is contained in:
Marius
2025-10-21 16:07:35 +03:00
parent 132b4fb34b
commit bc75ce30c2
5 changed files with 2507 additions and 0 deletions

561
chatbot/prd.md Normal file
View File

@@ -0,0 +1,561 @@
# Product Requirements Document (PRD)
## Chatbot de Suport Tehnic RAG pentru ROMFAST
## 1. OVERVIEW ȘI OBIECTIVE
### 1.1 Problem Statement
ROMFAST necesită un sistem de suport tehnic 24/7 care poate:
- Răspunde la întrebări tehnice ale clienților
- Oferi soluții bazate pe documentația existentă
- Menține conversații context-aware
- Funcționa independent de orice suport uman
- Integrare perfectă cu website-ul existent
### 1.2 Goals/Objectives
**Business Goals:**
- Reducerea costurilor de suport cu 50-70%
- Îmbunătățirea satisfacției clienților (>4.0/5)
- Timp de răspuns < 5 secunde
- Disponibilitate 24/7
**Technical Goals:**
- Arhitectură scalabilă și maintainabilă
- Upgrade de la Flowise + Groq la Claude Agent SDK
- Implementare RAG (Retrieval-Augmented Generation)
- Session persistence și context awareness
### 1.3 Success Metrics
- **Response accuracy**: > 90% pe întrebări tehnice
- **First query resolution**: > 75%
- **User satisfaction**: > 4.0/5 rating
- **System uptime**: > 99.5%
- **Response time**: < 5 secunde (RAG + Claude)
- **Page load time**: < 3 secunde (frontend)
## 2. USER PERSONAS ȘI USE CASES
### 2.1 Primary User Personas
**Persona 1: Client Final**
- Nume: Ion Popescu
- Rol: Utilizator final al software-ului ROMFAST
- Technical skill: Limited
- Goals: Rezolvare rapidă a problemelor tehnice
- Frustrations: Așteptarea lungă pentru suport, termeni tehnici complecși
- Preferred communication: Limbaj simplu, soluții concrete
**Persona 2: Administrator IT**
- Nume: Maria Ionescu
- Rol: IT Administrator la client ROMFAST
- Technical skill: Advanced
- Goals: Soluții tehnice detaliate, troubleshooting avansat
- Frustrations: Răspunsuri generice, lipa detaliilor tehnice
- Preferred communication: Documentație tehnică, pași detaliați
**Persona 3: Contabil**
- Nume: Elena Vasile
- Rol: Utilizator aplicație contabilitate ROMFAST
- Technical skill: Basic
- Goals: Rezolvare rapidă erori de conectare/date
- Preferred communication: Instrucțiuni step-by-step
### 2.2 Primary Use Cases
**UC1: Erori de Conexiune**
- User întâmpină eroare la conectare
- caută soluții rapide și clare
- necesită pași concreți de rezolvare
**UC2: Întrebări Tehnice Generale**
- User întreabă despre funcționalități
- necesită explicații detaliate
- vrea exemple concrete de utilizare
**UC3: Problema Specifică Software**
- User raportează bug/error mesaj specific
- necesită identificarea cauzei
- vrea soluție/workaround
**UC4: Integrare și Setup**
- Administrator necesită configurare sistem
- vrea documentație tehnică detaliată
- necessită best practices și configurații
### 2.2 Telegram Use Cases
**TU1: Quick Commands Access**
- User deschide Telegram bot
- Accesează rapid meniul principal cu `/menu`
- Navighează prin categorii predefined
- Selectează acțiuni rapide fără typing
**TU2: Session Management**
- User începe conversație pe website, continuă pe Telegram
- Utilizează `/clear` pentru reset sesiune
- Accesează istoric cu `/history`
- Menține context între platforme
**TU3: Structured Problem Reporting**
- User folosește menu pentru a selecta categoria problemei
- Bot adresează întrebări specifice pentru diagnostic
- Oferă solutions step-by-step
- Permite escalare către suport uman dacă needed
**TU4: On-the-Go Assistance**
- Mobile user în teren întâmpină problemă
- Folosește Telegram pentru quick help
- Primește concise, mobile-friendly responses
- Generează documentație offline format pentru download
## 3. FUNCTIONAL REQUIREMENTS
### 3.1 Core Chatbot Functionality
**FR1: Question Processing**
- Accept întrebări în limbaj natural (română/engleză)
- Parse și understand intent-ul utilizatorului
- Extract key terms pentru better RAG retrieval
- Handle typos și spelling errors
**FR2: RAG Integration**
- Search în knowledge base pentru relevant content
- Ranking results după relevance score
- Include source citations în răspunsuri
- Handle cases where no relevant info found
**FR3: Response Generation**
- Generate contextual responses folosind Claude Agent SDK
- Include step-by-step solutions pentru probleme tehnice
- Maintain consistent brand voice (ROMFAST style)
- Provide alternative solutions dacă primary nu funcționează
**FR4: Session Management**
- Maintain conversation context across multiple turns
- Remember previous questions și answers
- Reference earlier conversation în current responses
- Session persistence across browser refresh
### 3.2 User Interface Requirements
**FR5: Chat Interface**
- Clean, professional UI design matching ROMFAST branding
- Responsive design (mobile & desktop)
- Real-time typing indicators
- Message history scrollable
- Input field with character limit
**FR6: Accessibility Features**
- Keyboard navigation support
- Screen reader compatibility
- High contrast mode option
- Font size adjustment
**FR7: Message Display**
- Clear distinction între user și bot messages
- Timestamps pentru fiecare message
- Source citations displayed clearly
- Error messages displayed user-friendly
### 3.3 Integration Requirements
**FR8: URL Parameter Support**
- Support `?message=intrebare` parameter
- Auto-fill input field cu parameter
- Auto-send message după page load
- Handle URL encoding/decoding properly
**FR9: Cross-Origin Communication**
- API calls către backend LXC container
- CORS configuration pentru cross-origin requests
- HTTPS encryption pentru API calls
- Error handling pentru network issues
**FR10: Local Storage Management**
- Store session ID în localStorage
- Persistent conversation history
- Auto-cleanup după X days
- Privacy-compliant data storage
### 3.3 Telegram Bot Functionality
**FR11: Command Processing**
- Handle slash commands (/menu, /clear, /help, /start, /history)
- Parse process bot commands cu python-telegram-bot
- Command descriptions displayed în help menu
- Context-aware command availability
**FR12: Interactive Menu System**
- Hierarchical menu structure cu inline keyboards
- Category navigation (Conectare, Erori, Configurare, etc.)
- Quick action buttons pentru common issues
- Back navigation în menu hierarchy
- Dynamic menu updates based on context
**FR13: Session Management (Telegram)**
- User session tracking prin Telegram user_id
- Cross-platform session synchronization
- Session persistence across bot restarts
- Private session storage pentru confidentiality
**FR14: Response Formatting pentru Telegram**
- Markdown formatting pentru rich text responses
- Code blocks pentru technical instructions
- Inline URL generation pentru documentation links
- Message length optimization (Telegram 4096 char limit)
- Support pentru media attachments (PDF, images)
**FR15: Error Handling și Recovery (Telegram)**
- Graceful error handling pentru API failures
- User-friendly error messages în Telegram
- Retry mechanisms pentru failed requests
- Escalation options pentru complex issues
- Fallback messages când RAG returns no results
## 4. NON-FUNCTIONAL REQUIREMENTS
### 4.1 Performance Requirements
**NFR1: Response Time**
- API response < 5 secunde (including RAG retrieval)
- Frontend load time < 3 secunde
- UI interaction response < 200ms
- Real-time typing indicators < 100ms delay
**NFR2: Scalability**
- Support concurrent 100+ users
- Handle 1000+ questions per day
- Backend auto-scaling cu Docker
- Database optimization pentru fast retrieval
**NFR3: Reliability**
- System uptime > 99.5%
- Graceful degradation pentru partial failures
- Automatic error recovery
- Backup și recovery procedures
### 4.2 Security Requirements
**NFR4: Data Privacy**
- No personal data storage beyond session
- Encrypted API communications
- Rate limiting pentru abuse prevention
- Input validation pentru XSS prevention
**NFR5: Authentication**
- No user authentication required (anonymous sessions)
- Session ID generation secure enough
- Protection against session hijacking
- CSRF protection pentru API calls
### 4.3 Maintainability
**NFR6: Code Quality**
- Clean, documented code
- Separation of concerns
- Unit tests pentru critical components
- CI/CD pipeline pentru deployments
**NFR7: Monitoring și Debugging**
- Comprehensive logging
- Performance metrics collection
- Error tracking și alerting
- User interaction analytics
## 5. TECHNICAL ARCHITECTURE
### 5.1 Frontend Requirements
**TR1: Technology Stack**
- HTML5 semantic markup
- ES6+ JavaScript (vanilla, no frameworks)
- CSS3 cu modern layout (Grid/Flexbox)
- Fetch API pentru backend communication
**TR2: Component Architecture**
- Modular JavaScript structure
- Event-driven architecture
- Component-based UI elements
- Plugin-ready architecture pentru future extensions
### 5.2 Backend Requirements
**TR3: API Layer**
- FastAPI RESTful endpoints
- JSON request/response format
- HTTP status codes standard
- OpenAPI documentation
**TR4: AI/ML Integration**
- Claude Agent SDK integration
- RAG pipeline cu Chroma vector DB
- Embedding models pentru text processing
- Context management pentru conversations
**TR5: Data Layer**
- ChromaDB pentru vector storage
- In-memory session store
- File-based knowledge base storage
- Backup procedures pentru data persistence
### 5.3 Infrastructure Requirements
**TR6: Deployment Architecture**
- Docker containerization
- Proxmox LXC deployment
- Static IP configuration
- SSL certificate management
**TR7: Network Requirements**
- Public IP exposure pentru API
- Firewall configuration
- DDoS protection setup
- CDN integration caching (opțional)
### 5.4 Telegram Integration Architecture**
**TR8: Telegram Bot Requirements**
- **Bot Framework**: python-telegram-bot library
- **Bot Commands**: Structured commands cu slash (/menu, /clear, /help)
- **Menu System**: Interactive inline keyboards pentru navigation
- **Session Management**: Per-user session persistence
- **Message Types**: Support text, commands, și callback queries
**TR9: Claude Agent SDK Integration cu Telegram**
- **Message Processing**: Claude responses adapted pentru Telegram format
- **Tool Integration**: MCP servers accessible din Telegram context
- **Session Continuity**: Same session across website și Telegram
- **Context Preservation**: Conversation history maintained platform-agostic
**TR10: Backend Communication**
- **Shared Service**: Common backend service pentru website și Telegram
- **Session Synchronization**: Sync sessions între platforms
- **Response Formatting**: Platform-specific response formatting
- **Error Handling**: Graceful degradation pentru Telegram limitations
**TR11: Telegram-Specific Features**
- **Command Handlers**: /start, /help, /menu, /clear, /history
- **Interactive Menus**: Category navigation, quick actions
- **Callback Queries**: Menu selections, confirmations
- **Status Messages**: Typing indicators, processing states
## 6. USER EXPERIENCE REQUIREMENTS
### 6.1 Interaction Design
**UX1: Conversation Flow**
- Natural conversatională flow
- Proactive suggestions pentru follow-up
- Clear confirmation messages
- graceful handling pentru misunderstood questions
**UX2: Error Management**
- Friendly error messages
- Alternative suggestions când nu înțeleg
- Option to rephrase questions
- Human hand-off option (future)
**UX3: Visual Design**
- ROMFAST brand alignment (colors, fonts)
- Professional appearance
- Intuitive UI elements
- Consistent spacing și typography
### 6.2 Telegram User Experience
**UX6: Telegram Bot Interface**
- Intuitive command menu structure
- Clear menu labels și descriptions
- Consistent button design și placement
- Responsive layout pentru mobile screens
**UX7: Telegram Commands Design**
- **/start**: Welcome message și quick tutorial
- **/menu**: Interactive menu cu main categories
- **/clear**: Clear current session și start fresh
- **/help**: List all available commands și usage
- **/history**: Show conversation history summary
**UX8: Telegram Navigation Patterns**
- Hierarchical menu flow cu back buttons
- Quick return to main menu option
- Context-sensitive menu items
- Visual feedback pentru button clicks
**UX9: Telegram Response Structure**
- Short, mobile-friendly responses
- Bulleted lists pentru step-by-step instructions
- Code blocks formatted properly
- Emojis în moderation în brand consistency
### 6.4 Accessibility și Usability
**UX5: Mobile Experience**
- Touch-friendly interface
- Optimized pentru smartphones
- Vertical layout preference
- Voice input support (future)
**UX6: Localization**
- Limbavă română primary
- English as secondary
- Date/times local format
- Currency formatting (dacă relevant)
## 7. CONSTRAINTS ȘI ASSUMPTIONS
### 7.1 Technical Constraints
**C1: Hosting Environment**
- Frontend: Shared hosting (no server-side access)
- Backend: LXC Docker container limits
- No direct database access from frontend
- Static file serving constraints
**C2: Budget Constraints**
- Claire Max subscription cost limits
- LXC resource limits (CPU/RAM)
- Third-party service dependencies
- Maintenance cost considerations
### 7.2 Business Constraints
**C3: Timeline**
- Maximum 5 days pentru implementation
- Parallel development possible
- Phased roll-out approach
- Minimal disruption la existing services
**C4: Compliance**
- GDPR compliance pentru user data
- No sensitive data storage
- Data retention policies
- User consent requirements
### 7.3 Assumptions
**A1: User Behavior**
- Users comfortable cu chat interfaces
- Basic computer literacy
- Access la modern browsers
- Stable internet connection
**A2: Technical Environment**
- Modern browser support (last 2 versions)
- JavaScript enabled
- HTTPS support
- Mobile browser compatibility
- Telegram app access (mobile și desktop)
- Stable internet connection pentru API calls
## 8. SUCCESS CRITERIA ȘI LAUNCH REQUIREMENTS
### 8.1 MVP Definition
**Minimum Viable Product includes:**
- Basic chat interface with RAG responses
- Session persistence
- URL parameter support
- Mobile responsive design
- Basic error handling
### 8.2 Launch Criteria
**Technical readiness:**
- All functional requirements implemented
- Security testing completed
- Performance benchmarks met
- Backup procedures documented
**Business readiness:**
- Knowledge base populated cu relevant content
- Support team trained pe system
- User documentation prepared
- Communication plan ready
- Telegram bot published și functional
- Cross-platform session testing completed
### 8.3 Post-Launch Requirements
**PL1: Monitoring și Analytics**
- User interaction tracking
- Response quality metrics
- System performance monitoring
- Error rate tracking
**PL2: Iteration Plan**
- Weekly performance reviews
- Monthly content updates
- Quarterly feature enhancements
- Annual architecture review
## 9. RISK ASSESSMENT ȘI MITIGATION
### 9.1 Technical Risks
**Risk 1: Claude API Limits**
- Impact: Service degradation
- Probability: Medium
- Mitigation: Local fallbacks, graceful degradation
**Risk 2: Cross-Origin Issues**
- Impact: Frontend-backend communication failure
- Probability: High
- Mitigation: CORS testing, fallback mechanisms
**Risk 3: Knowledge Base Incomplet**
- Impact: Poor response quality
- Probability: Medium
- Mitigation: Content gaps analysis, gradual population
### 9.2 Business Risks
**Risk 4: User Adoption Low**
- Impact: Investment not justified
- Probability: Medium
- Mitigation: User training, promotional activities
**Risk 5: Performance Issues**
- Impact: Poor user experience
- Probability: Medium
- Mitigation: Performance testing, optimization
## 10. FUTURE ROADMAP (Post-Launch)
### 10.1 Phase 1 (1-3 months)
- **Telegram Bot Launch**: Complete Telegram integration
- **Advanced Commands**: /ticket, /escalate, /feedback
- **Media Support**: File upload/download capabilities
- **Analytics Dashboard**: Admin interface pentru insights
- **Knowledge Base Admin**: easier content management
### 10.2 Phase 2 (3-6 months)
- **Multi-platform Sync**: Seamless session sync website ↔ Telegram
- **Voice Input Support**: Dictation features pentru mobile
- **Integration APIs**: Connect cu CRM/ticket systems
- **Advanced Personalization**: User profiles și preferences
- **Telegram Channels**: Broadcast announcements și updates
### 10.3 Phase 3 (6-12 months)
- **Video Tutorials**: Embedded video content în responses
- **Community Q&A**: Social features pentru peer support
- **Analytics Dashboard**: Advanced tracking și insights
- **Integration APIs**: Connect cu CRM/ticket systems
### 10.4 Long-term Vision
- **Mobile App**: Native iOS/Android applications
- **Voice Assistant**: Phone bot integration
- **AI Agent Tools**: Diagnostic și troubleshooting automation
- **Predictive Support**: Proactive issue identification
---
## ACCEPTANCE CRITERIA
### Functional Acceptance
- [ ] Chatbot answers 90% of technical questions accurately based on knowledge base
- [ ] System maintains context across conversation turns
- [ ] URL parameter auto-fills and auto-sends messages
- [ ] Sessions persist across browser refreshes
- [ ] Mobile responsive design works on all major devices
- [ ] Error handling provides user-friendly messages
### Technical Acceptance
- [ ] API response time < 5 seconds including RAG
- [ ] Frontend loads in < 3 seconds
- [ ] System handles 100+ concurrent users
- [ ] CORS communication works properly
- [ ] SSL encryption implemented for API calls
- [ ] Session persistence works reliably
### Business Acceptance
- [ ] User satisfaction score > 4.0/5
- [ ] Support cost reduction measurable
- [ ] System uptime > 99.5%
- [ ] Knowledge base populated with essential documentation
- [ ] Support team trained on system operation
---
*Document Version: 1.1*
*Created: 24 Octombrie 2025*
*Last Updated: 24 Octombrie 2025*
*Status: Ready for Implementation*
*Changes: Added Telegram Bot Integration Section*

131
chatbot/v1-arhitectura.md Normal file
View File

@@ -0,0 +1,131 @@
# 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*

125
chatbot/v2-arhitectura.md Normal file
View File

@@ -0,0 +1,125 @@
## 1. Introducere și Context
Chatbot-ul de suport tehnic ROMFAST va oferi răspunsuri asistate de RAG și Claude Agent SDK atât pe website, cât și în Telegram. Arhitectura propusă trebuie să asigure timpul de răspuns sub 5 secunde, disponibilitate ridicată, persistența sesiunilor și integrarea cu infrastructura existentă (Docker în LXC Proxmox).
## 2. Mapare Cerințe → Soluții Arhitecturale
| Cerință cheie | Soluție arhitecturală |
| --- | --- |
| FR1, FR2, FR3 | Pipeline RAG (ChromaDB + Claude Agent SDK) cu preprocesare întrebări și scorare rezultate |
| FR4, FR10 | Session store (Redis sau SQLite in-memory backup) accesat de frontend, backend și Telegram |
| FR5FR7 | Frontend web modular (HTML/JS/CSS) + API JSON standard |
| FR8, FR9 | FastAPI gateway cu CORS, HTTPS și suport query param `message` |
| FR11FR15 | Microserviciu Telegram bazat pe python-telegram-bot conectat la același backend |
| NFR1NFR3 | Containere Docker separate, auto-restart Proxmox, load shedding și cache răspunsuri |
| NFR4NFR7 | TLS end-to-end, rate limiting, observability (logging centralizat, metrics, alerting) |
## 3. Vedere Arhitecturală de Nivel Înalt
- **Client Web**: UI chat responsiv, gestionează sesiuni locale și comunică cu backend via Fetch API.
- **Gateway API (FastAPI)**: Orchestrare request-uri, autentificare sesiunilor anonime, fan-out către servicii interne.
- **Serviciu RAG**: Normalizare întrebări, căutare vectorială în ChromaDB, construirea contextului și apel Claude.
- **ChromaDB + Knowledge Store**: Vectori și metadate pentru documentația ROMFAST, pipeline ingestie periodică.
- **Session Store**: Stocare conversații și context (Redis/SQLite replicat) pentru persistență cross-platform.
- **Telegram Bot Service**: Handler comenzi, UI prin inline keyboards, sincronizare sesiuni cu gateway-ul.
- **Observability Stack**: Logging structurat, export metrics (Prometheus compatible) și alerting.
- **Infrastructură Docker pe Proxmox LXC**: Containere orchestrate manual sau cu docker-compose, SSL terminat via Traefik/nginx reverse proxy.
## 4. Descriere Componentă cu Componentă
### 4.1 Client Web
- **Responsabilități**: UI chat, tip indicators, gestionare localStorage (ID sesiune, istoric recent), trimis întrebări, afișare surse.
- **Tehnologii**: HTML5, CSS3 (Flex/Grid), ES6 modules, Fetch API, Web Workers opțional pentru preprocesare.
- **Interfețe**: API REST `/api/chat`, `/api/session`, evenimente SSE/WebSocket pentru actualizări opționale.
- **Scalare**: Servire statică prin CDN/lightweight web server; caching agresiv pentru assets.
### 4.2 Gateway API (FastAPI)
- **Responsabilități**: Validare input, rate limiting, orchestrare RAG, management erori, transformare răspunsuri.
- **Tehnologii**: FastAPI, Uvicorn, Pydantic, middleware CORS/HTTPS, JWT stateless pentru sesiuni anonime (semnare internă).
- **Interfețe**: REST endpoints `/chat`, `/session`, `/history`, `/health`; webhook Telegram `/telegram/webhook`.
- **Scalare**: Replicare container, load balancing prin reverse proxy, timeouts stricte, circuit breaker către Claude API.
### 4.3 Serviciu RAG
- **Responsabilități**: Curățare întrebări, vectorizare (embedding), căutare top-k în ChromaDB, compunere context și prompt engineering pentru Claude.
- **Tehnologii**: Python, Claude Agent SDK, sentence-transformers (embedding), langchain-like orchestrator.
- **Interfețe**: gRPC/REST intern expus gateway-ului, contract clar pentru request/response (query, session_id, metadata).
- **Scalare**: Worker pool asincron, caching răspunsuri populare, fallback la knowledge base static în caz de indisponibilitate Claude.
### 4.4 ChromaDB și Knowledge Store
- **Responsabilități**: Stocare vectori, metadate, versiuni documentație.
- **Tehnologii**: ChromaDB container, storage montat persistent (volume Proxmox), pipeline ingestie (Python ETL) cu scheduler.
- **Interfețe**: API nativ Chroma, scripturi ingestie (loaders), export pentru backup.
- **Scalare**: Partajare colecții pe namespace, sharding logic pentru domenii (Contabilitate, Admin, etc.), snapshot backup zilnic.
### 4.5 Session Store
- **Responsabilități**: Persistență context conversație, state comenzi Telegram, token TTL.
- **Tehnologii**: Redis (preferat) cu fallback SQLite on-disk, replică la cald.
- **Interfețe**: API key/value, TTL, liste pentru istoricul recent; acces prin SDK Python și JS.
- **Scalare**: Master/replica, persistare RDB/AOF, monitorizare memorie.
### 4.6 Telegram Bot Service
- **Responsabilități**: Gestionare comenzi `/start`, `/menu`, etc., generare inline keyboard, relay întrebări către gateway, formatting Markdown.
- **Tehnologii**: python-telegram-bot, async handlers, job queue pentru retry.
- **Interfețe**: Webhook către gateway, REST fallback polling, servicii interne pentru sesiuni.
- **Scalare**: Replici multiple cu queue deduplicare (Redis Streams), respectarea rate limit Telegram.
### 4.7 Observability și DevOps
- **Responsabilități**: Logging centralizat, metrics (latency, usage), alerting, CI/CD pipelines.
- **Tehnologii**: Elastic Stack sau Loki+Grafana, Prometheus exporters, Sentry/Opentelemetry pentru tracing.
- **Interfețe**: Dashboards Grafana, webhook alerting (Slack/Email), pipeline GitHub Actions.
- **Scalare**: Retenție loguri 30 zile, sampling tracing, rotație indices.
### 4.8 Infrastructură și Securitate
- **Responsabilități**: Orchestrare containere, management certificate, firewall, backup.
- **Tehnologii**: Docker, docker-compose, Traefik/nginx, Proxmox backup server, CrowdSec/Fail2ban.
- **Interfețe**: Reverse proxy, Lets Encrypt ACME, scripturi deployment.
- **Scalare**: Vertical scaling LXC, pregătire migrare spre Kubernetes/Nomad dacă load crește.
## 5. Fluxuri de Date și Sequencing
### 5.1 Întrebare din Client Web
1. UI trimite request `POST /api/chat` cu mesaj și session_id.
2. Gateway validează, atașează metadata (persona, limbă) și trimite către serviciul RAG.
3. Serviciul RAG vectorizează, interoghează ChromaDB, compune prompt cu surse.
4. Claude Agent SDK generează răspuns, gateway-l adnotează cu surse și pași.
5. Răspunsul este salvat în session store și returnat UI-ului pentru afișare.
### 5.2 Întrebare din Telegram
1. Bot primește mesaj/comandă și trimite payload la webhook-ul gateway-ului.
2. Gateway mapează Telegram user_id la session_id comun și procesează similar cu fluxul web.
3. Răspunsul este formatat Markdown, validat sub 4096 caractere și trimis înapoi prin bot.
4. Istoricul este sincronizat în session store pentru acces cross-platform.
### 5.3 Manevrarea Erorilor/Fallback
1. Dacă Claude sau Chroma sunt indisponibile, gateway revine la răspunsuri cached sau FAQ static.
2. În caz de eroare critică, gateway trimite mesaj prietenos utilizatorului și loghează incidentul.
3. Scheduler declanșează alerting și reinstanțează containerul afectat.
## 6. Persistență și Management Date
- **Sesiuni**: session store cu TTL configurabil (7 zile), replicat, curățare periodică.
- **Vectori**: ChromaDB cu versiuni documente, index rebuild săptămânal, backup incremental.
- **Knowledge base raw**: Fișiere markdown/PDF într-un storage versionat (Git + backup Proxmox).
- **Loguri și Metrics**: Centralizare în Loki/Elastic, metrics în Prometheus, retenție 30 zile.
## 7. Integrare Telegram Specifică
- Webhook securizat (secret token) expus prin reverse proxy HTTPS.
- Mapare user_id ↔ session_id în session store pentru continuitate conversații.
- Gestionare rate limiting Telegram cu queue și exponential backoff.
- Menu builder modular pentru categorii (Conectare, Erori, Configurare) configurabile din metadata.
- Fallback la notificare suport uman prin integrare viitoare (webhook spre ticketing).
## 8. Securitate, Conformitate și Observabilitate
- **Transport**: TLS end-to-end, HSTS, certificate auto-întreținute.
- **Rate limiting**: NGINX/Traefik + Redis counters pentru prevenire abuz.
- **Validare input**: Sanitizare text, limită caractere, filtrare cod malițios.
- **Privacy**: Stocare minimă, criptare at rest pentru vectori și backup, politici GDPR (drept de ștergere).
- **Monitoring**: Health checks `/healthz`, dashboards latență, error rate, uptime.
- **Alerting**: Prag >3% erori, răspuns >4 secunde, spațiu disk <15% liber.
## 9. Scalabilitate și Reziliență
- Containere separate pentru gateway, RAG, Chroma, Telegram cu resurse dedicate.
- Auto-restart și watchdog scripts în Proxmox, backup zilnic volume critice.
- Circuit breakers și retry policy către Claude API, degrade gracefully la fallback static.
- Posibilă introducere CDN pentru livrare statice și caching răspunsuri frecvente.
## 10. Roadmap Tehnic (06 luni)
- **Luna 01**: Implementare client web + gateway API + RAG minim (Chroma + Claude), ingestie documentație de bază.
- **Luna 12**: Adăugare session store distribuit, logging centralizat, pipeline ingestie automat.
- **Luna 23**: Lansare Telegram bot cu comenzi de bază, sincronizare sesiuni, fallback complet erori.
- **Luna 34**: Introducere metrics/alerting, optimizare performanță, cache răspunsuri.
- **Luna 46**: Extindere knowledge base, analytics dashboard, pregătire pentru scaling (replici, load balancing).

View File

@@ -0,0 +1,148 @@
# Claude Agent SDK - Documentație pentru Proiecte
Acest director conține documentație despre **Claude Agent SDK** și utilizarea acestuia în diverse contexte și proiecte.
## Fișiere Disponibile
### 📘 [claude-agent-sdk-documentation.md](./claude-agent-sdk-documentation.md)
Documentație completă despre Claude Agent SDK, inclusiv:
- **Overview**: Ce este și de ce este important
- **Instalare și Setup**: Configurare pentru Python și TypeScript
- **Arhitectură**: Concepte cheie (message blocks, query function, options)
- **Features**: Tools, permissions, MCP servers, context management
- **Cazuri de Utilizare**:
- Knowledge Management (Obsidian)
- Personal Assistants
- Custom Coding Assistants
- Customer Support
- Finance & Investment Agents
- SRE & DevOps Automation
- Research & Content Creation
- Telegram/Slack Bots
- **Exemple de Cod Detaliate**:
- Simple Query
- Custom CLI
- Obsidian Integration
- Telegram Bot cu Remote Coding
- MCP Server Setup
- Session Management
- Error Handling
- **Integrări Posibile**: Development tools, communication platforms, productivity tools
- **Monitoring**: Sentry integration, custom logging
- **Best Practices**: Security, permissions, testing, deployment
- **Resurse**: Links către documentație oficială, tutorials, community
## Quick Links
### Documentație Oficială Anthropic
- [Agent SDK Overview](https://docs.claude.com/en/api/agent-sdk/overview)
- [GitHub Python SDK](https://github.com/anthropics/claude-agent-sdk-python)
- [Building Agents Blog Post](https://www.anthropic.com/engineering/building-agents-with-the-claude-agent-sdk)
### Instalare Rapidă
**Python:**
```bash
pip install claude-agent-sdk
```
**TypeScript:**
```bash
npm install @anthropic-ai/claude-agent-sdk
```
### Example Rapid
```python
from claude_agent_sdk import query
options = {
"systemPrompt": "You are a helpful assistant.",
"cwd": "/workspace"
}
messages = [{"role": "user", "content": "Help me with X"}]
for message in query(messages=messages, options=options):
print(message)
```
## Utilizare în Proiecte
### Pentru Proiecte Noi
1. **Citește documentația completă** în `claude-agent-sdk-documentation.md`
2. **Identifică use case-ul** (coding, automation, knowledge management, etc.)
3. **Configurează agent options** (system prompt, permissions, MCP servers)
4. **Setup monitoring** (Sentry pentru production)
5. **Deploy** (Docker, serverless, etc.)
### Exemple de Aplicații
Din documentație poți învăța să construiești:
- 🤖 **Telegram/Slack bots** pentru remote coding
- 📓 **Obsidian/Notion integrations** pentru knowledge management
- 👨‍💻 **Custom coding assistants** pentru tech stack-ul tău
- 🔧 **DevOps automation** pentru infrastructure management
- 💬 **Customer support bots** cu acces la CRM/database
- 📊 **Finance analysis agents** cu API integrations
- 🔍 **Research assistants** pentru content creation
## Note Importante
### Security Best Practices
**DO:**
- Use granular permissions (`allowedTools: ["read", "glob"]`)
- Limit working directory (`cwd: "/safe/path"`)
- Use environment variables pentru secrets
- Setup monitoring (Sentry, logs)
- Test în non-production environment first
**DON'T:**
- Use `allowedTools: "*"` în production fără review
- Set `cwd: "/"` (root access)
- Hardcode API keys/tokens în code
- Deploy without monitoring
- Give bash access without command restrictions
### Cost Management
- Monitor token usage (vezi Sentry integration)
- Truncate conversation history când devine prea mare
- Use prompt caching (automatic în SDK)
- Consider Claude subscription vs API credits
### Production Readiness Checklist
- [ ] System prompt optimizat pentru use case
- [ ] Granular permissions configurate
- [ ] MCP servers necesari setup
- [ ] Error handling implementat
- [ ] Monitoring configured (Sentry/logs)
- [ ] Session management pentru conversații
- [ ] Docker/deployment configuration
- [ ] Environment variables pentru secrets
- [ ] Testing suite pentru agent behavior
- [ ] Documentation pentru team
## Contribuții și Updates
Documentația este bazată pe:
- **Transcript**: "Claude Code's Real Purpose (It's Bigger Than You Think)"
- **Documentație oficială**: Anthropic Claude Agent SDK (Ianuarie 2025)
- **Web research**: Tutorials, examples, community resources
Pentru updates:
- Verifică [documentația oficială](https://docs.claude.com/en/api/agent-sdk/overview)
- Urmărește [Anthropic blog](https://www.anthropic.com/news)
- GitHub repositories: [Python SDK](https://github.com/anthropics/claude-agent-sdk-python)
---
**Happy Building!** 🚀
*Pentru întrebări sau clarificări, consultă documentația completă sau resursele oficiale Anthropic.*

File diff suppressed because it is too large Load Diff