How yuruotong1/automate works
autoMate is a self-hosted AI tool hub: external AI clients use its MCP/HTTP interfaces to reach persistent personal-data tools and SaaS/local executors; its web chat can instead run an agent loop with a configured LLM. The graph preserves notes, files, search, memory, reminders/push, audio, executors, integrations, OAuth, and the browser extension. README documents capabilities beyond the sampled implementation; those branches use supported tree paths, with uncertain call wiring omitted.
Main entry points: registry.py Tool registry · app.py FastAPI server · db.py SQLite store · loop.py Agent loop
Components 23
Entry points
- FastAPI server
automate/server/app.py - MCP bridge
automate/server/mcp_bridge.py - Web SPA
automate/frontend/app.js - Agent API
automate/server/api/agent.py
Agent runtime
- Agent loop
automate/agent/loop.py - Provider manager
automate/providers/manager.py - Tool registry
automate/tools/registry.py
Personal data
- Notes and memory
automate/notes.py - File vault
automate/files.py - Hybrid search
automate/tools/search.py - Reminders
automate/reminders.py - Web Push
automate/push.py - Transcription
automate/audio.py - SQLite store
automate/store/db.py
Tools and integrations
- Local executors
automate/tools - SaaS connectors
automate/integrations - Chrome extension
extension/background.js
Connections
- OAuth flow
automate/oauth/flow.py - OAuth broker
cloud/oauth_broker/main.py
Other components
- AI clients
- Web user
- LLM providers
- External services
Connections 27
- AI clients → MCP bridge: call tools
- MCP bridge → FastAPI server: mounted in
- Web user → Web SPA: use chat
- Web SPA → FastAPI server: HTTP requests
- FastAPI server → Agent API: routes requests
- Agent API → Agent loop: run agent
- Agent loop → Provider manager: select client
- Provider manager → LLM providers: send prompts
- Agent loop → Tool registry: dispatch tools
- Tool registry → Notes and memory: invoke tools
- Tool registry → File vault: invoke tools
- Tool registry → Hybrid search: invoke tool
- Hybrid search → SQLite store: query index
- Tool registry → Reminders: invoke tools
- Reminders → Web Push: send notifications
- Web Push → External services: Web Push
- Tool registry → Transcription: invoke tool
- Tool registry → Local executors: dispatch tools
- Tool registry → SaaS connectors: dispatch tools
- SaaS connectors → External services: call APIs
- Chrome extension → Local executors: browser control
- FastAPI server → OAuth flow: mount callback
- OAuth flow → SQLite store: store credentials
- OAuth flow → OAuth broker: broker flow
- OAuth broker → External services: exchange tokens
- Notes and memory → SQLite store: persist data
- File vault → SQLite store: store metadata