Claude + Google Apps + Voice + Local AI
A human-friendly guide for turning OpenJarvis into a personal AI assistant
1. What You Are Building
OpenJarvis is a local-first AI assistant framework. The idea is simple: instead of using an AI model only as a chat window, you give it access to useful tools, memory, scheduled tasks, and external services. You can use a cloud model such as Claude for reasoning and keep other parts of the system local.
A practical setup can look like this:
You
|
OpenJarvis
|
+-- Claude (reasoning)
+-- Ollama / local model (optional)
+-- Gmail
+-- Google Calendar
+-- Google Tasks
+-- Google Drive
+-- Memory
+-- Scheduled jobs
+-- Voice / TTS
The goal is not to connect every service on day one. Start with the assistant, Claude, Google services and voice. Once that works, add more tools one at a time.
2. Before You Start
A Mac or Linux computer is the easiest place to start.
Git must be installed.
For the graphical interface and Claude Code-related features, Node.js may be required.
You need an Anthropic API key if you want to use Claude through the API.
You need Google access if you want Gmail, Calendar, Tasks, Drive and related Google tools.
For the documented OpenJarvis cloud voice flow, use the TTS provider supported by your installed OpenJarvis version.
Important: OpenJarvis changes over time. Always check the repository documentation for the exact model names, environment variables and connector commands in the version you install.
3. Install OpenJarvis
The easiest route is the official installer:
curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash
Restart your shell if necessary:
source ~/.zshrc
Then check the installation:
jarvis --help
jarvis doctor
If you prefer to work directly from GitHub, clone the repository instead:
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis
./scripts/quickstart.sh
The source installation is useful when you want to inspect or customize the project. For a normal user setup, the official installer is simpler.
4. Initialize OpenJarvis
jarvis init
OpenJarvis creates its configuration and local assistant files. Your configuration is normally stored under:
~/.openjarvis/
To see the configuration path:
jarvis config path
5. Test the Assistant
Before connecting external services, make sure the basic assistant works.
jarvis ask "Hello Jarvis. Give me a short introduction."
If this works, the core installation is ready. Do not connect five services at once. Add one integration, test it, and then continue.
6. Connect Claude
If you want Claude to handle the assistant's reasoning, create an Anthropic API key in your Anthropic account and configure it for the environment used by OpenJarvis.
export ANTHROPIC_API_KEY="YOUR_ANTHROPIC_API_KEY"
For a permanent setup on macOS, add the variable to your shell configuration only if you are comfortable storing the key there. Never publish your API key in GitHub, screenshots, Reel descriptions or public configuration files.
The exact Claude model identifier depends on what your OpenJarvis version and Anthropic account support. Check the available models instead of copying an old model name from a tutorial.
jarvis models
Then run a simple test using the Claude model exposed by your installation. If your version supports an explicit model flag, it will look like this:
jarvis ask -m claude-... "Explain what you can do as my personal assistant."
7. Connect Google: Gmail, Calendar, Tasks and Drive
OpenJarvis provides a Google connection flow. In the current documentation, the Google connection command is presented as:
jarvis connect gdrive
The name can look confusing, but the documented Google integration is intended to cover several Google services, including Gmail, Calendar, Tasks, Contacts and Drive.
A browser window should take you through Google authorization. Sign in with the Google account you want Jarvis to use and review the permissions before accepting them.
After authorization, test the integration with a simple request such as asking for today's calendar items or a summary of unread mail. If your installed version exposes different connector commands, use the connector list/help for that version.
8. Give Jarvis a Personality
A useful personal assistant should have a clear role. OpenJarvis uses local files for persona and memory-related information.
ls ~/.openjarvis
If your version contains SOUL.md or related persona files, edit them rather than repeating the same instructions in every prompt.
nano ~/.openjarvis/SOUL.md
A good starting instruction is:
You are my personal AI assistant.
Be concise, practical and proactive.
Help me manage development work, email,
calendar, research and daily tasks.
Before making an important external change,
explain what you are about to do and ask
for confirmation when appropriate.
Never delete data or send an important
external message without confirmation.
Keep the instructions short. The assistant becomes more useful when the rules are clear rather than when the persona file becomes a long essay.
9. Voice Setup
Voice is where many tutorials become misleading. The OpenJarvis documentation currently demonstrates specific TTS backends rather than a generic 'paste any ElevenLabs key and it works' setup. The exact supported backend depends on the OpenJarvis version you install.
For the documented cloud TTS flow, the project currently uses Cartesia in its morning-digest examples. If your version supports it, configure:
export CARTESIA_API_KEY="YOUR_CARTESIA_API_KEY"
Then use the documented digest/voice command for your version. For example:
jarvis digest --fresh
If you specifically want ElevenLabs, treat it as a custom integration unless your installed OpenJarvis version explicitly lists an ElevenLabs backend. Do not simply invent an ELEVENLABS_API_KEY setting and expect OpenJarvis to recognize it.
A custom ElevenLabs integration would normally look like: OpenJarvis generates text -> an ElevenLabs adapter sends that text to the ElevenLabs API -> audio is returned -> the audio is played locally. Implementing that adapter is a developer task, not a standard one-line configuration.
10. Build a Morning JARVIS Briefing
This is one of the most useful demonstrations for a personal assistant. The morning briefing can combine calendar, email, tasks and other available sources and turn them into one short summary.
jarvis init --preset morning-digest-mac --force
Connect Google if you have not already:
jarvis connect gdrive
Then generate a fresh briefing:
jarvis digest --fresh
Instead of opening several apps every morning, you can use one briefing to see what deserves attention first.
11. Developer / Coding Mode
If your main goal is to use Jarvis as a developer assistant, initialize the code-assistant preset:
jarvis init --preset code-assistant --force
You can then use prompts such as:
jarvis ask "Inspect my current project and explain its architecture."
jarvis ask "Find the most likely cause of the failing tests."
jarvis ask "Summarize the changes in this repository."
Give an agent access only to the folders and tools it actually needs. Broad shell or filesystem access is powerful, so use confirmation for destructive commands and external side effects.
12. Memory
OpenJarvis can index documents and use memory/search capabilities when the relevant components are installed.
jarvis memory index ~/Documents/
A useful test is:
jarvis ask "Find the documents related to my SaaS projects and summarize the important decisions."
For private information, keep the indexed folders deliberately narrow. Do not index your entire home directory just because the command works.
13. Scheduled Tasks
Once the assistant works, scheduled jobs can remove repetitive checking. Start the scheduler:
jarvis scheduler start
A scheduled task can be created using the scheduler interface supported by your installed version. For example:
jarvis scheduler create \
--prompt "Check for new important emails" \
--schedule "0 9 * * 1-5" \
--agent operative
The exact scheduler flags can change between releases, so run the command help before copying a command from an older tutorial:
jarvis scheduler --help
14. Web Interface
If you installed the source version and your release includes the GUI, start it with:
jarvis gui
The project documentation uses a local browser interface for interacting with the assistant. Depending on the release, the local URL and port may differ, so use the address printed by the command.
15. Recommended Final Setup
OPENJARVIS
|
+-- Claude
| |
| +-- Reasoning
| +-- Planning
|
+-- Google
| +-- Gmail
| +-- Calendar
| +-- Tasks
| +-- Drive
|
+-- Memory
|
+-- Scheduler
|
+-- Voice / TTS
|
+-- Local tools / skills
|
+-- Optional Ollama local model
Start with this core setup. Once it is stable, add GitHub, Slack, Notion or other services through the integration/skill mechanisms available in your installed version.
16. A Practical Test Checklist
☐ jarvis --help works
☐ jarvis doctor reports no critical installation problem
☐ jarvis ask responds correctly
☐ Claude API authentication works
☐ Google OAuth connection works
☐ Calendar information can be retrieved
☐ Gmail information can be retrieved
☐ The morning digest works
☐ Voice/TTS works
☐ Memory indexing works if you enabled it
☐ Scheduler starts and runs a test task
☐ GUI opens if you enabled the GUI
17. Troubleshooting
Claude key not working
Check that ANTHROPIC_API_KEY is set in the same shell/environment where Jarvis is running. Also verify that the model name is available to your account and your OpenJarvis version.
Google authentication failed
Repeat the Google connection flow and check the permissions. If the command name or OAuth flow differs, use the connector help for your installed release.
Voice is not working
Confirm that your selected TTS provider is actually supported by your installed OpenJarvis version and that its API key is available. Do not assume ElevenLabs is supported simply because another AI assistant supports it.
A command from this guide does not exist
Run the relevant --help command. OpenJarvis is an active project, so commands and model identifiers can change.
Jarvis can access too much
Reduce filesystem/tool permissions and require confirmation for external actions, destructive commands, emails and other irreversible operations.
18. Security Rules You Should Follow
Never commit API keys to GitHub.
Never put API keys in a public Reel, screenshot or tutorial.
Use environment variables or the secret mechanism recommended by the provider.
Give Google OAuth only the permissions you actually need.
Do not give an agent unrestricted access to your whole home directory unless you understand the consequences.
Require confirmation before sending emails, deleting files, making purchases or changing external systems.
Keep backups before allowing an agent to modify an important codebase.
19. The 30-Second Version for Your Reel
If you are turning this guide into the Reel from your original script, the technically safer wording is: clone or install OpenJarvis, configure Claude, connect Google services through its supported OAuth flow, then configure the supported voice backend. If you want ElevenLabs specifically, present it as an optional custom integration rather than a native one-click OpenJarvis feature.
Official Resources
GitHub: https://github.com/open-jarvis/OpenJarvis
Documentation: https://open-jarvis.github.io/OpenJarvis/
Want the members-only resources too?
A free account unlocks them all, including the ones shared in DMs.

