How tridip100/ai-helpdesk-management-system- works
AI Helpdesk Copilot takes employee issues through chat, voice, email, or screenshots; classifies and attempts resolution with cached solutions, retrieval, and a local LLM; then escalates unresolved work into a role-managed ticket lifecycle. The README documents routing, SLA enforcement, anomaly clustering, audit history, and digest capabilities. Sampled code confirms the main streaming/RAG interactions and email parsing; some documented capability wiring is not visible in the excerpts, so uncertain links are omitted.
Main entry points: ai_pipeline.py AI decision pipeline · main.py FastAPI application · ticket_service.py Ticket management · App.jsx Role dashboards
Components 33
User Experience
- Role dashboards
frontend/src/App.jsx - API client
frontend/src/api/client.js
Issue Intake
- FastAPI application
backend/main.py - Chat endpoint
backend/routers/chat.py - Ticket intake
backend/routers/intake.py - Channel normalization
backend/channels/normalizer.py - Email parsing
backend/channels/email_handler.py - Mailbox polling
backend/channels/imap_poller.py - Voice transcription
backend/services/stt_service.py - Screenshot extraction
backend/services/vision_service.py
AI Resolution
- AI decision pipeline
backend/services/ai_pipeline.py - Intent and NLP
backend/services/nlp_services.py - Solution cache
backend/services/solution_cache_service.py - Knowledge retrieval
backend/services/rag_service.py - Local LLM service
backend/services/llm_services.py - Query sanitization
backend/services/sanitizer_service.py - Web search
backend/services/tavily_service.py
Ticket Lifecycle
- Ticket operations
backend/routers/tickets.py - Ticket management
backend/services/ticket_service.py - Assignment routing
backend/services/routing_service.py - SLA monitoring
backend/services/sla_service.py - Incident detection
backend/services/anomaly_services.py - Support digests
backend/services/digest_service.py - Administration
backend/routers/admin.py
Data and Knowledge
- Relational database
backend/database.py - Vector knowledge store
backend/ingestion/base_ingestor.py - SOP ingestion
backend/ingestion/document_ingestor.py - Resolved-ticket ingestion
backend/ingestion/ticket_ingestor.py
Other components
- Employees
- Helpdesk and IT staff
- Ollama local model
- Tavily service
- IMAP mailbox
Connections 32
- Employees → Role dashboards: use
- Helpdesk and IT staff → Role dashboards: use
- Role dashboards → API client: request
- API client → FastAPI application: HTTP calls
- FastAPI application → Chat endpoint: mounts
- FastAPI application → Ticket intake: mounts
- FastAPI application → Ticket operations: mounts
- FastAPI application → Administration: mounts
- Chat endpoint → AI decision pipeline: stream message
- Ticket intake → Channel normalization: normalize input
- Mailbox polling → IMAP mailbox: polls
- Mailbox polling → Email parsing: parse mail
- Email parsing → Channel normalization: produce input
- Channel normalization → Ticket management: submit issue
- AI decision pipeline → Intent and NLP: classify intent
- AI decision pipeline → Solution cache: check and store
- AI decision pipeline → Knowledge retrieval: retrieve context
- AI decision pipeline → Local LLM service: generate response
- Knowledge retrieval → Vector knowledge store: search knowledge
- AI decision pipeline → Query sanitization: sanitize fallback query
- AI decision pipeline → Web search: search fallback
- Web search → Tavily service: query
- Local LLM service → Ollama local model: generate locally
- AI decision pipeline → Ticket management: create escalation
- Ticket operations → Ticket management: manage tickets
- Ticket management → Assignment routing: assign ticket
- Ticket management → Relational database: read and write
- FastAPI application → SLA monitoring: start checker
- SLA monitoring → Relational database: check ticket state
- Administration → Relational database: administer records
- SOP ingestion → Vector knowledge store: index SOPs
- Resolved-ticket ingestion → Vector knowledge store: index resolutions