How sup3rus3r/obsidian-ai works
Obsidian AI is a self-hosted visual control plane for configuring and running agents, teams, and workflows. The main user path is configuring an agent in the playground, sending a chat request, executing it through an LLM provider (with optional tools and knowledge retrieval), and retaining session history. Separate product branches cover workflow automation, evaluations, observability, authentication, and WhatsApp. The README documents these capabilities; sampled source confirms portions of chat-adjacent services, RAG, sessions, evaluation, and WhatsApp, so uncertain internal wiring is left out.
Main entry points: agent_runner.py Agent runner · provider_factory.py Provider factory · workflows_router.py Workflow API · page.tsx Playground
Components 22
User experience
- Playground
frontend/app/(authenticated)/playground/page.tsx - API client
frontend/lib/api-client.ts
Agent orchestration
- Chat API
backend/routers/chat_router.py - Agent runner
backend/services/agent_runner.py - Workflow API
backend/routers/workflows_router.py - DAG executor
backend/dag_executor.py - Team delegation
backend/team_delegation_tools.py
Agent capabilities
- Tools and MCP
backend/builtin_tools.py - Knowledge API
backend/routers/knowledge_router.py - RAG service
backend/rag_service.py - Evaluation API
backend/routers/eval_router.py - Evaluation engine
backend/eval_engine.py
Data and operations
- Session history
backend/routers/sessions_router.py - Database
backend/database.py - File storage
backend/file_storage.py - Authentication
backend/routers/auth_router.py
External integrations
- Provider factory
backend/llm/provider_factory.py - LLM providers
backend/llm - WhatsApp service
backend/services/whatsapp_service.py - WhatsApp bridge
wa-bridge/index.js
Other components
- User
Connections 16
- User → Playground: configures and chats
- Playground → API client: sends requests
- API client → Chat API: calls chat API
- Chat API → Agent runner: runs agent
- Agent runner → Provider factory: creates provider
- Provider factory → LLM providers: selects provider
- Agent runner → Tools and MCP: uses tools
- Knowledge API → RAG service: indexes knowledge
- Evaluation API → Evaluation engine: runs evaluations
- Evaluation engine → Provider factory: creates provider
- Session history → Database: reads and writes
- Authentication → Database: reads and writes
- WhatsApp service → WhatsApp bridge: sends and receives
- WhatsApp → WhatsApp bridge: exchanges messages
- Workflow API → DAG executor: executes workflow
- Workflow API → Team delegation: coordinates agents