How amjadalisadaf/odysseus works
Odysseus is a self-hosted AI workspace. A user works in the browser, sends a chat or agent request, and uses model-backed tools and workspace features such as research, documents, email, notes, and calendar tasks. The backend provides authenticated feature routes, model endpoint selection, shared persistence, and event-triggered task automation. The README documents the product capabilities; sampled source and the SOURCE INDEX support only some internal connections, so unverified wiring is omitted rather than inferred.
Main entry points: database.py Application data · chat_routes.py Chat and agents · auth_helpers.py Authentication · document_routes.py Documents and PDFs
Components 20
Workspace experience
- Web workspace
static/app.js
Chat and intelligence
- Chat and agents
routes/chat_routes.py - Model selection
src/endpoint_resolver.py - Model interaction
src/llm_core.py - Agent tools
src/tool_execution.py - Deep research
services/research/research_handler.py - Web search
services/search/core.py
Workspace features
- Documents and PDFs
routes/document/document_routes.py - Email
routes/email/email_routes.py - Notes
routes/note/note_routes.py - Calendar and tasks
routes/task/task_routes.py
Application platform
- Session management
core/session_manager.py - Application data
core/database.py - Authentication
src/auth_helpers.py - Request middleware
core/middleware.py
Tasks and integrations
- Event automation
src/event_bus.py - Scheduled tasks
src/task_scheduler.py - MCP integrations
src/mcp_manager.py
Other components
- Workspace user
- Model providers
Connections 25
- Workspace user → Web workspace: uses
README.md - Web workspace → Chat and agents: sends chat
README.md - Chat and agents → Model interaction: requests model
- Model selection → Model interaction: resolves endpoints
src/llm_core.py - Model interaction → Model providers: calls providers
- Chat and agents → Agent tools: dispatches tools
- Workspace user → Deep research: requests research
README.md - Workspace user → Web search: searches web
README.md - Workspace user → Documents and PDFs: edits documents
README.md - Workspace user → Email: manages email
README.md - Workspace user → Notes: manages notes
README.md - Workspace user → Calendar and tasks: manages tasks
README.md - Chat and agents → Session management: uses sessions
- Session management → Application data: reads and writes
core/session_manager.py - Documents and PDFs → Application data: uses persistence
routes/document/document_routes.py - Email → Application data: uses persistence
routes/email/email_routes.py - Notes → Application data: uses persistence
routes/note/note_routes.py - Calendar and tasks → Application data: uses persistence
routes/task/task_routes.py - Documents and PDFs → Authentication: checks access
routes/document/document_routes.py - Notes → Authentication: checks access
routes/note/note_routes.py - Calendar and tasks → Authentication: checks access
routes/task/task_routes.py - Request middleware → Authentication: sets request identity
- Event automation → Application data: loads scheduled tasks
src/event_bus.py - Event automation → Scheduled tasks: runs triggered task
src/event_bus.py - Workspace user → MCP integrations: connects integrations
README.md