How edkief/opentalon works
OpenTalon is a self-hosted personal-agent framework with Telegram, email, embedded-chat, and dashboard entry points. Its main interaction path accepts a chat turn, resolves its thread and agent, invokes the agent runtime with available tools, and persists the conversation. Other major capabilities branch into hybrid RAG memory, multi-agent delegation, scheduled jobs, and visual workflows. The graph uses documented capabilities and sampled call sites; unsampled subsystem wiring is kept intentionally sparse.
Main entry points: agent Agent executor · route.ts Chat API · engine.ts Workflow engine · dashboard Web dashboard
Components 26
User entry points
- Web dashboard
src/app/dashboard - Chat API
src/app/api/chat/route.ts - Telegram channel
src/lib/telegram - Email channel
src/lib/email - Embedded chat
src/lib/embed
Agent runtime
- Agent executor
src/lib/agent - Specialist agents
src/lib/agent/specialist.ts - Thread management
src/lib/threads - Conversation store
src/lib/db/conversation.ts
Knowledge and tools
- Tool registry
src/lib/tools - Skill library
src/lib/skills/skills-manager.ts - Hybrid RAG
src/lib/memory - Vector database
Automation
- Workflow editor
src/components/workflow/WorkflowCanvas.tsx - Workflow API
src/app/api/workflow - Workflow engine
src/lib/workflow/engine.ts - Job queue
- Task scheduler
src/lib/scheduler/index.ts - PostgreSQL
Control plane
- Agent configuration
src/lib/config - Agent identity
src/lib/soul/soul-manager.ts - Event streaming
src/lib/agent/log-bus.ts
Other components
- Chat user
- LLM providers
- IMAP and SMTP
- Telegram service
Connections 26
- Chat user → Chat API: submits turn
- Web dashboard → Chat API: sends chat
- Chat API → Thread management: ensures thread
- Chat API → Conversation store: reads and writes
- Chat API → Agent executor: invokes turn
- Agent executor → Tool registry: calls tools
- Agent executor → LLM providers: requests completion
- Agent executor → Event streaming: emits events
- Telegram channel → Agent executor: handles messages
- Telegram channel → Telegram service: polls or sends
- Email channel → IMAP and SMTP: syncs and sends
- Email channel → Conversation store: stores messages
- Embedded chat → Agent executor: processes messages
- Specialist agents → Job queue: enqueues jobs
- Tool registry → Hybrid RAG: accesses memories
- Hybrid RAG → Vector database: retrieves and stores vectors
- Tool registry → Skill library: reads skills
- Workflow editor → Workflow API: manages workflows
- Workflow API → Workflow engine: runs workflow
- Workflow engine → PostgreSQL: stores run state
- Workflow engine → Job queue: enqueues ready nodes
- Workflow engine → Event streaming: emits events
- Task scheduler → Job queue: schedules tasks
- Job queue → PostgreSQL: persists jobs
- Web dashboard → Agent configuration: manages settings
- Web dashboard → Agent identity: edits agent identity