How ayushseal/open-tutor-ai-ce works
OpenTutorAI is an educational platform for personalized AI tutoring and collaboration. A learner uses the web interface to select a model, submit a chat or multimodal request, and receive a response; chat requests reach the HTTP gateway, which resolves the provider and returns or streams the result. The product also includes knowledge-based retrieval, model and provider administration, adaptive learning supports, user access control, and human-in-the-loop governance. The README documents the broader service/repository/storage flow, but many domain implementations were not sampled, so uncertain internal wiring is omitted.
Main entry points: Chat.svelte Chat Experience · database.py Application Database · api_routes.py Bootstrap API · app.py HTTP Application
Components 21
Learner Experience
- Web Interface
ui/src/routes/(app)/+page.svelte - Chat Experience
ui/src/lib/components/chat/Chat.svelte - Admin Workspace
ui/src/lib/components/admin/Settings.svelte
Request Gateway
- HTTP Application
gateway/http/app.py - Bootstrap API
gateway/http/api_routes.py - Chat Routes
gateway/http/routers/chats.py - Auth Routes
gateway/http/routers/auth.py - Realtime Events
gateway/realtime/socket.py
AI Capabilities
- Provider Service
ai/providers/service.py - LLM Service
ai/llm/service.py - Model Catalog
ai/model_catalog/service.py - Retrieval
ai/retrieval/service.py - Knowledge Bases
ai/retrieval/knowledge/service.py - Voice and Images
ai/media/audio.py
Learning and Governance
- Learning Supports
learning/supports/service.py - Chat Sessions
learning/sessions/service.py - Self Regulation
governance/self_regulation/service.py
Accounts and State
- Account Service
accounts/users/service.py - Application Database
data/database.py
Other components
- Learner
- Model Providers
Connections 27
- Learner → Web Interface: uses
- Web Interface → HTTP Application: sends requests
- Web Interface → Chat Experience: opens chat
- Chat Experience → Bootstrap API: submits completion
- Admin Workspace → Bootstrap API: loads models
- Admin Workspace → HTTP Application: uses APIs
- HTTP Application → Bootstrap API: registers
- HTTP Application → Chat Routes: registers
- HTTP Application → Auth Routes: registers
- Bootstrap API → Provider Service: resolves provider
- Bootstrap API → Model Providers: proxies completion
- Provider Service → Model Providers: queries models
- Bootstrap API → Realtime Events: emits chat events
- Chat Routes → Chat Sessions: chat operations
- Auth Routes → Account Service: account operations
- Account Service → Application Database: reads and writes
- Chat Sessions → Application Database: reads and writes
- Model Catalog → Application Database: stores model configs
- Retrieval → Application Database: stores retrieval config
- Knowledge Bases → Application Database: knowledge persistence
- Learning Supports → Application Database: stores supports
- Self Regulation → Application Database: governance persistence
- Chat Experience → Retrieval: requests context
- Chat Experience → Voice and Images: voice and image use
- Chat Experience → Learning Supports: personalized support
- Chat Experience → Self Regulation: response evaluation
- LLM Service → Provider Service: provider integration