How bugraakdemir/memo works
Memo is a local-first AI assistant: a user chats with it, it retrieves long-term context, routes model requests, and can perform permission-gated actions. Its documented product branches include projects, skills and sub-agents, mail and digital-twin workflows, proactive suggestions and briefings, voice, and synchronization. The excerpts show agent execution and selected subsystem behavior, but not application wiring or the Dart UI; uncertain connections are therefore omitted or marked unverified.
Main entry points: chat.go Chat handling · pipeline.go Agent execution · main.go App bootstrap · server.go App server
Components 23
App interaction
- App bootstrap
main.go - App server
internal/webserver/server.go - Linux runner
frontend/linux/runner/my_application.h - Windows runner
frontend/windows/runner/flutter_window.h - Chat handling
internal/app/chat.go
Assistant runtime
- Model routing
internal/app/llm.go - Model providers
internal/provider/router.go - Agent execution
internal/agent/pipeline.go - Action tools
internal/agent/tools.go - Skills
internal/skill/manager.go - Sub-agents
internal/subagents/manager.go
Personal context
- Conversation memory
internal/memory/store.go - Project context
internal/project/manager.go
Automation
- Mail handling
internal/mail/manager.go - Digital twin
internal/twin/actions.go - Autonomy engine
internal/autonomy/engine.go - Proactive engine
internal/proactive/engine.go - Task execution
internal/taskloop/engine.go
Integrations
- Calendar
internal/calendar/bridge.go - Voice input/output
internal/stt/router.go - Cloud sync
internal/cloudsync/sync_manager.go - Web research
internal/websearch/search.go
Other components
- User
Connections 20
- User → Chat handling: chats with
- App bootstrap → App server: starts
- App server → Chat handling: routes chat
- Linux runner → App bootstrap: launches
- Windows runner → App bootstrap: launches
- Chat handling → Model routing: requests response
- Model routing → Model providers: routes model calls
- Chat handling → Conversation memory: retrieves context
README.md - Chat handling → Agent execution: runs agent turns
README.md - Agent execution → Action tools: executes tools
internal/agent/pipeline.go - Agent execution → Skills: uses skills
README.md - Agent execution → Sub-agents: delegates work
README.md - Chat handling → Project context: uses project context
README.md - Mail handling → Digital twin: drafts in user style
README.md - Autonomy engine → Calendar: creates events
internal/autonomy/engine.go - Proactive engine → Agent execution: runs auto actions
internal/proactive/engine.go - Chat handling → Task execution: manages task lists
README.md - Chat handling → Voice input/output: accepts voice input
README.md - Chat handling → Web research: enriches replies
README.md - App bootstrap → Cloud sync: syncs data