A command-line personal assistant that integrates with Google Calendar, Gmail, and Tasks to help manage your digital life.
- Gmail integration (view unread emails)
- Google Calendar integration (check upcoming events)
- Google Tasks tracking (view tasks)
- Python 3.12+
- Google account with API access enabled for:
- Gmail API
- Google Calendar API
- Google Tasks API
- Google Cloud project credentials (
credentials.json
) - An openrouter.ai API key
- Clone the repository
- Place your
credentials.json
file in thesrc/data_sources/
directory - Create a file named .env with environment variables in the root directory:
# For OpenRouter
LLM_API_TYPE=openrouter
OPENROUTER_API_KEY=your_key_here
# For local API
#LLM_API_TYPE=local
#LOCAL_API_KEY=your_local_key_here
#LOCAL_API_URL=http://localhost:1234/v1/chat/completions
#LOCAL_MODEL_NAME=your-local-model-name
- Run the setup/start script:
./start-jarvis.sh
Jarvis will start after creating a python venv and installing prerequisites.
Basic usage:
Navigate to the root directory of the repository, then execute the following bash command:
./start-jarvis.sh
On first run, you'll need to:
- Authorize access to your Google account
- by opening the link printed to the console
- Grant permissions for Calendar, Gmail and Tasks access
- When Jarvis first tries to access each of these APIs, an error message will be printed to console. Click the link in that message to be brough to a google page where you can activate that API. Your next message requesting info from that API should work, provided your credentials.json has been set up properly.
- Token files will be created automatically for future use in /src/data_sources
- Type 'quit' to exit
- Any message mentioning one or more of your tasks, email, or calendar, directly or indirectly, will cause the relevant API(s) to be polled for info which will be included as context for your prompt.