How bi8bo-bubblegum/ai-customer works
AI-Customer is a road-passenger AI customer-service application with a web client and FastAPI backend. Users authenticate, chat with a streamed multi-agent assistant, and can consult ticket, service, complaint, or general-intent handling; administrators also manage knowledge and work orders. The sampled chat service builds the agent graph, persists conversation messages, and emits model and tool events. The README provides no further capability details, and the graph, routers, and most agents were not sampled, so some subsystem wiring is intentionally left unspecified.
Main entry points: main.py FastAPI entry · graph.py Agent graph · App.tsx Web application · client.ts API client
Components 33
Web client
- Web application
frontend/src/App.tsx - Chat page
frontend/src/pages/Chat.tsx - Knowledge page
frontend/src/pages/Knowledge.tsx - Work orders page
frontend/src/pages/WorkOrders.tsx - Login page
frontend/src/pages/Login.tsx - API client
frontend/src/api/client.ts - Auth API
frontend/src/api/auth.ts - Chat API
frontend/src/api/chat.ts - Knowledge API
frontend/src/api/knowledge.ts - Work-order API
frontend/src/api/workorder.ts
API and services
- FastAPI entry
backend/app/main.py - Authentication
backend/app/services/auth_service.py - Chat orchestration
backend/app/services/chat_service.py - Knowledge service
backend/app/services/knowledge_service.py - Work-order service
backend/app/services/work_order_service.py
Agent workflow
- Agent graph
backend/app/agents/graph.py - Intent router
backend/app/agents/router_agent.py - Ticket agent
backend/app/agents/ticket_agent.py - Service agent
backend/app/agents/service_agent.py - Complaint agent
backend/app/agents/complaint_agent.py - General agent
backend/app/agents/general_agent.py - Knowledge search
backend/app/agents/tools/knowledge_search.py - Bus query
backend/app/agents/tools/bus_query.py - Create work order
backend/app/agents/tools/create_work_order.py
Domain data
- User repository
backend/app/repositories/user_repo.py - Message repository
backend/app/repositories/message_repo.py - Knowledge repository
backend/app/repositories/knowledge_repo.py - Work-order repository
backend/app/repositories/work_order_repo.py - Bus route repository
backend/app/repositories/bus_route_repo.py - Application database
backend/app/database.py
External systems
- Conversation checkpoints
backend/app/main.py - Language model
Other components
- Customer / admin
Connections 45
- Customer / admin → Web application: uses
- Web application → Login page: routes
- Web application → Chat page: routes
- Web application → Knowledge page: routes
- Web application → Work orders page: routes
- Login page → Auth API: requests
- Chat page → Chat API: requests
- Knowledge page → Knowledge API: requests
- Work orders page → Work-order API: requests
- Auth API → API client: uses
- Chat API → API client: uses
- Knowledge API → API client: uses
- Work-order API → API client: uses
- API client → FastAPI entry: HTTP requests
- FastAPI entry → Authentication: routes to
- FastAPI entry → Chat orchestration: routes to
- FastAPI entry → Knowledge service: routes to
- FastAPI entry → Work-order service: routes to
- Authentication → User repository: reads / writes
- Chat orchestration → Agent graph: builds and streams
- Chat orchestration → Message repository: reads / writes
- Chat orchestration → Conversation checkpoints: clears checkpoints
- Agent graph → Intent router: dispatches
- Agent graph → Ticket agent: dispatches
- Agent graph → Service agent: dispatches
- Agent graph → Complaint agent: dispatches
- Agent graph → General agent: dispatches
- Intent router → Language model: classifies intent
- Service agent → Knowledge search: calls
- Service agent → Language model: prompts
- Ticket agent → Bus query: calls
- Ticket agent → Language model: prompts
- Complaint agent → Create work order: calls
- General agent → Language model: prompts
- Knowledge search → Knowledge repository: searches
- Bus query → Bus route repository: queries
- Create work order → Work-order service: creates order
- Knowledge service → Knowledge repository: reads / writes
- Work-order service → Work-order repository: reads / writes
- User repository → Application database: persists users
- Message repository → Application database: persists messages
- Knowledge repository → Application database: persists knowledge
- Work-order repository → Application database: persists orders
- Bus route repository → Application database: reads routes
- FastAPI entry → Conversation checkpoints: initializes