Chatbot Communication¶
Overview¶
OmniButler's chatbot system supports multiple communication channels, allowing users to interact with the AI assistant through different interfaces. The system is built on a clean architecture that separates the communication layer from the core AI functionality, enabling consistent responses across different channels.
Communication Channels¶
The system currently supports three main communication channels:
- WebSocket Chat
- Real-time, bi-directional communication
- Markdown-formatted responses
- Session management
-
Currently active and fully functional
- Twilio-based voice interaction
- SSML-formatted responses
- Command routing
-
Currently disabled due to refactoring
- Twilio-based messaging
- Support for text, images, and location
- Message splitting for long responses
- Currently disabled due to refactoring
Common Components¶
All communication channels share these core components:
- LLM Service
- Handles AI response generation
- Supports different output formats (markdown, SSML, WhatsApp)
-
Maintains conversation context
-
Authentication
- Firebase-based user authentication
- Token validation
-
User session management
-
Error Handling
- Consistent error reporting
- Graceful degradation
- User-friendly error messages
Current Status¶
| Channel | Status | Issues |
|---|---|---|
| WebSocket | Active | None |
| Voice | Disabled | Requires Twilio configuration update |
| Disabled | Requires Twilio configuration update |
Future Enhancements¶
- Short-term (1-3 months)
- Reactivate voice and WhatsApp channels
- Implement channel-specific error handling
-
Add channel health monitoring
-
Medium-term (3-6 months)
- Add support for more messaging platforms
- Implement channel-specific features
-
Enhance conversation context management
-
Long-term (6+ months)
- Implement multi-channel conversation sync
- Add channel-specific AI optimizations
- Develop advanced conversation analytics
Technical Debt¶
- Voice Channel
- Twilio configuration needs updating
- Command routing needs refactoring
-
Error handling needs improvement
-
WhatsApp Channel
- Message splitting logic needs optimization
- Media handling needs enhancement
-
Error recovery needs implementation
-
Common Issues
- Session management needs standardization
- Error handling needs unification
- Monitoring needs implementation