How yadeesht/personal-assistant-agent works
This is a terminal-driven, stateful multi-agent assistant for Google Workspace automation, with sandboxed code execution and long-term memory. The main workflow is user input → LangGraph routing → a specialized agent → its tools and external service → a response. Memory update and summarization are separate graph branches. The README documents agent routing and Workspace capabilities; sampled sources confirm the terminal invocation, LLM wrapper, RAG tool behavior, and selected integrations. Unsampled graph and tool wiring follows the README only.
Main entry points: graph.py Supervisor · llm.py LLM client · codeagent.py Code agent · rag_tools.py Memory tools
Components 26
Terminal entry
- Terminal loop
main.py
Agent orchestration
- LangGraph
core/graph.py - Supervisor
core/graph.py - Communication agent
core/graph.py - Planning agent
core/graph.py - Document agent
core/graph.py - Data agent
core/graph.py - Presentation agent
core/graph.py - Code agent
core/codeagent.py - Conversation summarizer
core/graph.py - Memory update
core/graph.py
Workspace tools
- Communication tools
app_tools/tools/google/gmail_tools.py - Planning tools
app_tools/tools/google/calendar_tools.py - Document tools
app_tools/tools/google/gdrive_tools.py - Data tools
app_tools/tools/google/gsheet_tools.py - Presentation tools
app_tools/tools/google/gslide_tools.py - Search tools
app_tools/tools/google/gsearch_tools.py
Memory and retrieval
- Memory tools
app_tools/tools/rag_tools.py - Episodic RAG
rag/episodic_rag.py - Knowledge graph
rag/knowledge_graph.py
Execution and models
- LLM client
core/llm.py - Code sandbox
core/sandbox_server.py
Other components
- User
- Google Workspace
- Google search
- Azure model service
Connections 34
- User → Terminal loop: enters request
- Terminal loop → LangGraph: invokes graph
- LangGraph → Supervisor: routes state
- Supervisor → Communication agent: dispatches
- Supervisor → Planning agent: dispatches
- Supervisor → Document agent: dispatches
- Supervisor → Data agent: dispatches
- Supervisor → Presentation agent: dispatches
- Supervisor → Code agent: dispatches
- Communication agent → Communication tools: calls tools
- Planning agent → Planning tools: calls tools
- Document agent → Document tools: calls tools
- Data agent → Data tools: calls tools
- Presentation agent → Presentation tools: calls tools
- Supervisor → Search tools: calls tools
- Communication tools → Google Workspace: uses API
- Planning tools → Google Workspace: uses API
- Document tools → Google Workspace: uses API
- Data tools → Google Workspace: uses API
- Presentation tools → Google Workspace: uses API
- Search tools → Google search: queries
- Code agent → Code sandbox: executes code
- Communication agent → LLM client: requests completion
- Planning agent → LLM client: requests completion
- Document agent → LLM client: requests completion
- Data agent → LLM client: requests completion
- Presentation agent → LLM client: requests completion
- Code agent → LLM client: requests completion
- LLM client → Azure model service: sends prompt
- LangGraph → Conversation summarizer: dispatches
- LangGraph → Memory update: dispatches
- Memory update → Memory tools: updates memory
- Memory tools → Episodic RAG: retrieves and stores
- Memory tools → Knowledge graph: searches and updates