How judejulius/chatbotstudio works
Chatbot Studio lets an operator configure and test an agent, then publish that same agent as a branded website chatbot or connect it to WhatsApp. The principal path is Studio configuration → backend agent/chat runtime → model and knowledge/tool integrations → persisted conversation → published widget response. Separate product branches cover orchestration, quality, and operations. The README documents these capabilities; sampled runtime excerpts confirm provider resolution, RAG lookup, tool execution, persistence, evaluation, and streaming, but not every subsystem’s internal wiring.
Main entry points: chat_engine.py Turn engine · main.py API service · agents_router.py Agent endpoints · chat_router.py Chat endpoints
Components 23
Agent authoring
- Agent Studio
frontend/app/dashboard/studio/page.tsx - Chatbot customizer
frontend/app/(authenticated)/chatbots/page.tsx - Agent endpoints
backend/routers/agents_router.py
Conversation runtime
- Chat endpoints
backend/routers/chat_router.py - Turn engine
backend/chat_engine.py - Model providers
backend/llm/provider_factory.py - Knowledge retrieval
backend/rag_service.py - Agent tools
backend/builtin_tools.py - MCP integration
backend/mcp_client.py
Publishing channels
- Embeddable widget
widget/src/index.js - Widget endpoints
backend/routers/widget_router.py - WhatsApp channel
backend/services/whatsapp_service.py - WhatsApp bridge
wa-bridge/index.js
Quality and orchestration
- Teams and workflows
backend/dag_executor.py - Evaluation suites
backend/eval_engine.py - Analytics and traces
backend/routers/analytics_router.py
Platform services
- API service
backend/main.py - Conversation records
backend/database.py - Authentication
backend/routers/auth_router.py - Database
backend/database.py
Other components
- Studio operator
- Model provider service
- Website visitor
Connections 22
- Studio operator → Agent Studio: configures agent
- Agent Studio → Agent endpoints: saves configuration
- Chatbot customizer → Agent endpoints: publishes channel
- Agent endpoints → API service: uses API
- API service → Chat endpoints: dispatches request
- Chat endpoints → Turn engine: runs turn
- Turn engine → Model providers: resolves model
- Model providers → Model provider service: sends prompts
- Turn engine → Knowledge retrieval: retrieves context
- Turn engine → Agent tools: executes calls
- Turn engine → MCP integration: uses MCP tools
- Turn engine → Conversation records: persists messages
- Website visitor → Embeddable widget: chats through
- Embeddable widget → Widget endpoints: streams turns
- Widget endpoints → Chat endpoints: starts turn
- WhatsApp channel → WhatsApp bridge: exchanges messages
- Teams and workflows → Turn engine: runs agent
- Evaluation suites → Model providers: tests responses
- Evaluation suites → Database: stores runs
- Analytics and traces → Database: reads metrics
- Authentication → Database: reads and writes users
- API service → Authentication: dispatches auth