How totan-santra/final-year-project works
Marvin is a terminal voice and text assistant. The principal workflow is terminal input (or wake-word speech), routing through the assistant’s conversation graph, optional tool execution, then a text or spoken reply. Its tool capabilities include notes, persistent personal facts, web and weather queries, browser actions, Google email/calendar, file management, system information, and app launching. The graph reflects imports and registrations shown in the excerpts; storage and service links are included only where those excerpts or the README support them.
Main entry points: agent.py Assistant graph · main.py Runtime entry · memory_web.py Fact memory · weather.py Weather lookup
Components 20
User interaction
- Runtime entry
main.py - Voice I/O
voice/audio.py
Assistant orchestration
- Assistant graph
core/agent.py - Groq language model
- Conversation checkpoint
settings.py
Information tools
- Notes and time
tools/notes.py - Fact memory
tools/memory_web.py - Persistent fact store
Marvin_chroma - Web search
tools/memory_web.py - Weather lookup
tools/weather.py - Browser actions
tools/browser.py
Local and connected actions
- Email and calendar
tools/google.py - Workspace files
tools/files.py - Workspace storage
- System information
tools/system.py - App launcher
tools/apps.py
Other components
- Terminal user
- Web services
- Google services
- Local operating system
Connections 22
- Terminal user → Runtime entry: enters request
README.md - Runtime entry → Voice I/O: captures and speaks
main.py - Runtime entry → Assistant graph: submits request
main.py - Assistant graph → Groq language model: invokes model
core/agent.py - Assistant graph → Notes and time: registers tools
core/agent.py - Assistant graph → Fact memory: registers tools
core/agent.py - Assistant graph → Web search: registers tools
core/agent.py - Assistant graph → Weather lookup: registers tools
core/agent.py - Assistant graph → Browser actions: registers tools
core/agent.py - Assistant graph → Email and calendar: registers tools
core/agent.py - Assistant graph → Workspace files: registers tools
core/agent.py - Assistant graph → System information: registers tools
core/agent.py - Assistant graph → App launcher: registers tools
core/agent.py - Assistant graph → Conversation checkpoint: saves conversation state
core/agent.py - Fact memory → Persistent fact store: reads and writes facts
tools/memory_web.py - Web search → Web services: queries web
tools/memory_web.py - Weather lookup → Web services: requests conditions
tools/weather.py - Browser actions → Web services: opens or fetches pages
tools/browser.py - Email and calendar → Google services: reads and updates
tools/google.py - Workspace files → Workspace storage: reads and writes
tools/files.py - System information → Local operating system: reads metrics
README.md - App launcher → Local operating system: launches approved apps
tools/apps.py