Skip to content

damiTheCoder/Office-180

Repository files navigation

Personal Assistant System

This repository implements a 3-layer personal assistant:

  1. directives/: SOPs that define what to do.
  2. Orchestration: the AI agent that routes requests to the right tool.
  3. execution/: deterministic Python scripts for email, meetings, docs, and tasks.

Capabilities

  • Read inbox emails (Gmail API)
  • Send emails (Gmail API)
  • Schedule meetings (Google Calendar API)
  • Write docs (local markdown + optional Google Docs API)
  • Track tasks (local deterministic JSON store)
  • Generate daily brief (emails + meetings + tasks)
  • Run recurring inbox/scheduling automation with draft-only approvals
  • Expose assistant actions via local MCP server (mcp/assistant_mcp_server.py)

Project Layout

  • directives/: personal-assistant SOPs
  • execution/: deterministic scripts
  • mcp/: MCP bridge and config template
  • skills/: skill routing map for this environment
  • .tmp/: intermediate artifacts (safe to delete/regenerate)

Setup

  1. Create a virtualenv (recommended).
  2. Install dependencies:
    • pip install -r requirements.txt
  3. Copy env template:
    • cp .env.example .env
  4. Add Google OAuth desktop credentials to credentials.json.
  5. First API run opens OAuth consent and writes token.json.

Multi-Account Gmail Setup

Use account-specific tokens for each Gmail account:

  • Link account 1:
    • python3 execution/assistant_cli.py account-link --account "Daminathan7@gmail.com"
  • Link account 2:
    • python3 execution/assistant_cli.py account-link --account "Damilolacom70@gmail.com"

After linking, run commands with --account:

  • python3 execution/assistant_cli.py email-read --account "Daminathan7@gmail.com" --max-results 5
  • python3 execution/assistant_cli.py email-read --account "Damilolacom70@gmail.com" --max-results 5

Assistant CLI

Primary entrypoint:

  • python3 execution/assistant_cli.py --help

Examples:

  • Read unread inbox:
    • python3 execution/assistant_cli.py email-read --account "Daminathan7@gmail.com" --query "in:inbox" --unread-only --max-results 10
  • Send an email:
    • python3 execution/assistant_cli.py email-send --account "Daminathan7@gmail.com" --to "user@example.com" --subject "Update" --body "Done."
  • Schedule meeting:
    • python3 execution/assistant_cli.py meeting-schedule --account "Daminathan7@gmail.com" --title "Weekly Sync" --start "2026-03-10T10:00:00-07:00" --end "2026-03-10T10:30:00-07:00" --attendee "a@example.com" --attendee "b@example.com"
  • Write local doc:
    • python3 execution/assistant_cli.py doc-write --title "Project Brief" --body "Draft content" --local-output ".tmp/project_brief.md"
  • Write Google Doc and share:
    • python3 execution/assistant_cli.py doc-write --account "Daminathan7@gmail.com" --title "Project Brief" --body-file ".tmp/brief.txt" --create-google-doc --share-with "owner@example.com"
  • Add/list/complete tasks:
    • python3 execution/assistant_cli.py task-add --title "File taxes" --due "2026-04-01"
    • python3 execution/assistant_cli.py task-list --status open
    • python3 execution/assistant_cli.py task-done --id "<task-id>"
  • Build daily brief:
    • python3 execution/assistant_cli.py daily-brief --account "Daminathan7@gmail.com" --output ".tmp/daily_brief.md"
  • Run recurring Office 180 automation:
    • python3 execution/office180_automation.py --account "Daminathan7@gmail.com" --output ".tmp/office180_report.md"

MCP Integration

  • Local MCP server lives at mcp/assistant_mcp_server.py
  • Client config template: mcp/mcp_servers.example.json
  • Skill routing guidance: skills/assistant_skill_map.md

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages