OpenJarvis
Guide
OpenJarvis: a free personal AI that runs on your own computer
OpenJarvis is a free, open-source (Apache-2.0) personal AI assistant, developed at Hazy Research and the Scaling Intelligence Lab at Stanford. The model runs on your machine through Ollama; cloud APIs are optional. It connects to Gmail, Google Calendar, Slack, Notion and iMessage, writes you one brief every morning, remembers your projects and preferences, and answers when you message it on Slack.
Three things to know before you install
- The install is one
curl … | bashcommand, which downloads and runs a script. Read it first: https://open-jarvis.github.io/OpenJarvis/install.sh (the prompt below has Claude Code do that). - If the installer asks about sharing analytics, type N. Pressing Enter counts as yes. Add
--no-analyticsand it won't ask at all. - If
ANTHROPIC_API_KEY,OPENAI_API_KEY,OPENROUTER_API_KEY,GOOGLE_API_KEYorGEMINI_API_KEYis set in your terminal, the installer picks that provider's cloud model instead of a local one, and every question gets billed to that key. Install with those keys unset to stay local.
Let Claude Code install it
Open Claude Code and paste this:
Help me install OpenJarvis from https://github.com/open-jarvis/OpenJarvis on this computer. In order:
1. Download and read https://open-jarvis.github.io/OpenJarvis/install.sh. Summarize in 5 bullets what it installs, where, and which addresses it contacts. Wait for my OK.
2. If I say yes, install it with cloud API keys unset for this command and analytics declined:
env -u ANTHROPIC_API_KEY -u OPENAI_API_KEY -u OPENROUTER_API_KEY -u GOOGLE_API_KEY -u GEMINI_API_KEY bash -c 'curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash -s -- --no-analytics'
3. When it's done, run ~/.local/bin/jarvis config show. If "Default Engine" isn't ollama, switch the config to the local model (engine.default = ollama, intelligence.default_model = the qwen3.5 model listed by ollama list) and check again.
4. Run ~/.local/bin/jarvis doctor and summarize the result.
5. Test it with ~/.local/bin/jarvis ask "Hi, are you running locally?" and show me the answer.
If I'm on Windows, skip step 2: give me the PowerShell command and I'll run it myself.
Install it yourself
- macOS, Linux, WSL2:
curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash -s -- --no-analytics - Windows (PowerShell):
irm https://open-jarvis.github.io/OpenJarvis/install.ps1 | iex - Desktop app (Mac, Windows, Linux): https://github.com/open-jarvis/OpenJarvis/releases
The installer sets up uv, a Python environment, Ollama and a starter model (qwen3.5:2b, about 1.5 GB). The README puts it at about 3 minutes on broadband; larger models keep downloading in the background. Then open a new terminal and type jarvis. jarvis doctor shows the status.
Your first morning brief
Once OpenJarvis is installed, give Claude Code this:
OpenJarvis is installed. Now set up the morning brief:
1. Back up ~/.openjarvis/config.toml. On a Mac, run jarvis init --preset morning-digest-mac --force. On Linux, use morning-digest-linux.
2. Pull the model the preset uses with ollama pull (qwen3.5:9b on the Mac preset). If it's too slow on my machine, switch to qwen3.5:4b.
3. In config.toml, set timezone under [digest] to my timezone and add "slack" to the [digest.messages] sources. If I don't use Oura, Apple Health or Strava, remove the "health" section.
4. Walk me through the Google Cloud steps for the Google connection, one at a time: a project, the Gmail/Calendar/Tasks/Drive APIs, an OAuth client of type "Desktop app", my address as a test user, and the redirect URI http://localhost:8789/callback. When I'm done, run jarvis connect gdrive.
5. Generate the first brief with jarvis digest --fresh --text-only and show it to me.
6. Schedule it for 7:00 every morning with jarvis digest --schedule "0 7 * * *".
Prefer to do it by hand:
jarvis init --preset morning-digest-mac --force # Linux: morning-digest-linux
ollama pull qwen3.5:9b
jarvis connect gdrive # one Google sign-in: Gmail, Calendar, Tasks
jarvis digest --fresh --text-only # first brief, no audio
jarvis digest --schedule "0 7 * * *" # every morning at 7:00
--forceoverwrites your current config file.jarvis connect gdriveneeds a free OAuth client in Google Cloud first (steps in the Google Drive section of the docs). It asks for the client ID and secret, then opens Google's consent screen in your browser.- Say "Good morning" in a chat and the brief shows up on its own.
- For a spoken brief you need a Cartesia (https://play.cartesia.ai) or OpenAI API key, and both cost money (credits). Run
export CARTESIA_API_KEY="...", thenjarvis digest --fresh. The text brief needs no key. - The default persona is a dry, British-flavored Jarvis that calls you "sir". Change
honorificunder[digest]to "ma'am", "boss" or anything you like.
Talk to it on Slack from your phone
- Go to https://api.slack.com/apps → Create New App → From an app manifest. Copy the manifest JSON from the Slack section of the docs (link below).
- Install to Workspace. Copy the bot token (
xoxb-…) from OAuth & Permissions, then create an app-level token with theconnections:writescope under Basic Information → App-Level Tokens (xapp-…). - As a data source:
jarvis connect slack(bot token). For messaging: in the desktop app or thejarvis guiweb interface (needs Node.js 22+), go to Data Sources → Messaging Channels → Slack → Set Up and enter both tokens. - DM OpenJarvis in Slack; it replies in a thread. To let it read a channel, type
/invite @OpenJarvisthere.
Slack access and the scheduled brief only work while your computer is on and OpenJarvis is running.
Good to know
- Free: OpenJarvis itself (Apache-2.0) and the local model, with no cost per question. Can cost money: the spoken brief (Cartesia or OpenAI) and optional cloud models.
- Privacy: the model runs on your machine. Connector credentials live in
~/.openjarvis/connectors/, in files only your user can read. If you turn on the spoken brief, the brief's text goes to the voice service. - Read Google's consent screen: OpenJarvis asks for permission to modify Gmail (trash, archive) and edit your calendar. According to the code comments, it only does that after you approve.
- Models: the installer recommends one that fits your hardware. The Mac preset calls qwen3.5:9b a good balance of speed and quality on M1/M2/M3; the 35B model needs 32 GB+ of RAM.
- To uninstall (macOS, Linux):
jarvis-uninstall.
Sources
- GitHub: https://github.com/open-jarvis/OpenJarvis
- Project page: https://openjarvis.stanford.edu/
- Docs: https://open-jarvis.github.io/OpenJarvis/ (Morning Digest, Channels & Connectors, Telemetry)
- Paper: https://arxiv.org/abs/2605.17172
Looking for a different code?
YoodaAI
Career AI
Everything you need to land the job: practice the interview, apply at scale, and get live help while you talk.
Interview practice
Mock interviews with instant feedback
Bulk job apply
Send hundreds of applications in one go
Real-time interview copilot
Live answer hints while you are in the call
Free CV builder
ATS-ready templates at no cost
AIAutoFlow
AI automation
Custom AI automation for companies. Scale your operations with intelligent workflows built specifically for your business.