How lhnyx/echomind-backend works
EchoMind is a FastAPI multi-agent customer-support backend. Its primary workflow accepts a customer message, assembles conversational context, recognizes intent, routes the request to an agent, optionally enriches it with knowledge, and returns a reply while retaining conversation state. Separate API capabilities manage knowledge and Skills, expose monitoring, and run end-to-end evaluations. The README documents the broader routing, retrieval, memory, and feedback behavior; sampled source confirms key component responsibilities and selected calls, so undocumented wiring is omitted.
Main entry points: agent_orchestrator.py Agent Orchestrator · main.py FastAPI API · performance_monitor.py Performance Monitor · evaluator.py End-to-End Evaluator
Components 16
Service Entry
- FastAPI API
api/main.py
Conversation Handling
- Agent Orchestrator
agents/agent_orchestrator.py - Intent Recognition
core/intent_recognizer.py - Conversation Memory
memory/conversation_memory.py - Skills Loader
core/skill_loader.py - Business Skills
skills
Knowledge and Tools
- MCP Tool Manager
mcp/tool_manager.py - Knowledge Base
mcp/knowledge_base.py
Operations
- Performance Monitor
monitor/performance_monitor.py
Evaluation
- End-to-End Evaluator
evaluation/evaluator.py
Other components
- Customer
- LLM Provider
- ChromaDB
- Redis
- Prometheus
- Alert Webhook
Connections 26
- Customer → FastAPI API: sends message
- FastAPI API → Conversation Memory: loads context
- FastAPI API → Agent Orchestrator: submits request
- FastAPI API → MCP Tool Manager: requests retrieval
- FastAPI API → End-to-End Evaluator: starts evaluation
- FastAPI API → Knowledge Base: manages documents
- FastAPI API → Skills Loader: reloads Skills
- Intent Recognition → LLM Provider: requests classification
- Agent Orchestrator → Intent Recognition: recognizes intent
- Agent Orchestrator → Skills Loader: loads prompt rules
- Agent Orchestrator → LLM Provider: generates replies
- Agent Orchestrator → Conversation Memory: uses conversation context
- Conversation Memory → Redis: reads and writes
- Conversation Memory → ChromaDB: retrieves and stores memories
- Skills Loader → Business Skills: loads rules
- MCP Tool Manager → Knowledge Base: dispatches search
- MCP Tool Manager → LLM Provider: rewrites and reranks
- Knowledge Base → ChromaDB: stores and searches chunks
- Performance Monitor → Agent Orchestrator: reads performance
- Performance Monitor → MCP Tool Manager: reads tool stats
- Performance Monitor → Agent Orchestrator: updates route penalties
- Performance Monitor → Prometheus: exports metrics
- Performance Monitor → Alert Webhook: sends alerts
- End-to-End Evaluator → Agent Orchestrator: runs dialogue cases
- End-to-End Evaluator → Intent Recognition: measures intent accuracy
- End-to-End Evaluator → LLM Provider: judges response quality