Addresses #331 (multiple Windows users hit "Jarvis server did not become healthy in time" with no actionable detail). The boot sequence ran `uv sync` with **both** stdout AND stderr piped to `/dev/null` and discarded the exit code (`let _ = …`). When `uv sync` failed for any reason — Windows PATH/permission issues, network problems, lockfile conflicts, stale `.venv/` — the user saw nothing useful. The boot proceeded to `uv run jarvis serve` in an under-provisioned venv, then waited the full 600-second health-check window before showing a generic "did not start" message with no hint of what actually went wrong. Fix: capture stderr, check the exit status, and surface a useful error to the user **before** the long server-start wait, including: - The exit code - The last ~800 chars of `uv sync` stderr (where the diagnostic message usually lives) - A concrete next step (open a terminal and run `uv sync --extra server` manually for full output) Also updated the status detail message to "Installing dependencies (uv sync — may take 1-2 min on first boot)..." so users on slow connections don't restart the app thinking it's stuck. Discord support thread (5/12-5/14) shows the same pattern across multiple Windows users (@ItsVoyage, @Mystic_irl, @doevud, @Sainthood): all stuck on "Starting api server" / "did not become healthy in time" for 4+ minutes, with the actual root cause turning out to be a uv installation issue that the discarded stderr would have surfaced immediately. The community workaround (uninstall, install Feb pre-release, run a magic PowerShell `irm` command for uv) is the right diagnosis applied without diagnostic output — this commit makes that diagnostic output visible. Note: this fix lands in the desktop binary's source (`frontend/src-tauri/src/lib.rs`). Users running the v1.0.1 desktop binary won't see the improved error message until the desktop release is re-cut from this branch. Until then, the workaround documented in this PR's `openjarvis.ai` fallback section (curl the install.sh from GitHub raw) gets new users past the install step. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Why OpenJarvis?
Personal AI agents are exploding in popularity, but nearly all of them still route intelligence through cloud APIs. Your "personal" AI continues to depend on someone else's server. At the same time, our Intelligence Per Watt research showed that local language models already handle 88.7% of single-turn chat and reasoning queries, with intelligence efficiency improving 5.3× from 2023 to 2025. The models and hardware are increasingly ready. What has been missing is the software stack to make local-first personal AI practical.
OpenJarvis is that stack. It is a framework for local-first personal AI, built around three core ideas: shared primitives for building on-device agents; evaluations that treat energy, FLOPs, latency, and dollar cost as first-class constraints alongside accuracy; and a learning loop that improves models using local trace data. The goal is simple: make it possible to build personal AI agents that run locally by default, calling the cloud only when truly necessary. OpenJarvis aims to be both a research platform and a production foundation for local AI, in the spirit of PyTorch.
Installation
curl -fsSL https://openjarvis.ai/install.sh | bash
If you see
sslv3 alert handshake failureonopenjarvis.ai(issue #337), use the GitHub mirror until the domain is restored:curl -fsSL https://raw.githubusercontent.com/open-jarvis/OpenJarvis/main/scripts/install/install.sh | bashSame script, served straight from this repo. The installer itself fetches everything else (uv, the project source, Ollama) from independent CDNs, so the rest of install proceeds normally.
That's it. The installer handles everything: uv, the Python venv, Ollama, and pulling a small starter model. About 3 minutes on a typical broadband connection. Then:
jarvis
The Rust extension and bigger models continue downloading in the background while you chat. Run jarvis doctor to see status.
Platforms: macOS (Intel + Apple Silicon), Linux, WSL2 on Windows.
Manual install / contributors: see docs/getting-started/install.md.
Quick Start
curl -fsSL https://openjarvis.ai/install.sh | bash
jarvis
jarvis init --preset <name> switches to a starter config. Available presets: morning-digest-mac, morning-digest-linux, morning-digest-minimal, deep-research, code-assistant, scheduled-monitor, chat-simple.
Starter Configs
Install any preset with one command:
uv run jarvis init --preset morning-digest-mac # or any preset below
Prefix every
jarvis ...invocation withuv run, or activate the venv first (source .venv/bin/activate) so plainjarvis ...works for the rest of your shell session.
| Preset | Use Case | What it does |
|---|---|---|
morning-digest-mac |
Daily Briefing (Mac) | Spoken briefing from email, calendar, health, news with Jarvis voice |
morning-digest-linux |
Daily Briefing (Linux) | Same, with vLLM support for GPU servers |
morning-digest-minimal |
Daily Briefing (minimal) | Just Gmail + Calendar, runs on any machine |
deep-research |
Research Assistant | Multi-hop research across indexed docs with citations |
code-assistant |
Code Companion | Agent with code execution, file I/O, and shell access |
scheduled-monitor |
Persistent Monitor | Stateful agent that runs on a schedule with memory |
chat-simple |
Simple Chat | Lightweight conversation, no tools needed |
# Example: Morning Digest on Mac
uv run jarvis init --preset morning-digest-mac
uv run jarvis connect gdrive # one OAuth flow covers Gmail, Calendar, Tasks
uv run jarvis digest --fresh # generate and play your first briefing
# Example: Deep Research
uv run jarvis init --preset deep-research
uv run jarvis memory index ./docs/ # requires the Rust extension — see Setup above
uv run jarvis ask "Summarize all emails about Project X"
Skills
Skills teach agents how to better use tools and improve their reasoning. Every skill is a tool — agents discover them from a catalog and invoke them on demand.
# Install skills from public sources
jarvis skill install hermes:arxiv
jarvis skill sync hermes --category research
# Use skills with any agent
jarvis ask "Use the code-explainer skill to explain this Python code: for i in range(5): print(i*2)"
# Optimize skills from your trace history
jarvis optimize skills --policy dspy
# Benchmark the impact
jarvis bench skills --max-samples 5 --seeds 42
Import from Hermes Agent (~150 skills), OpenClaw (~13,700 community skills), or any GitHub repo. Skills follow the agentskills.io open standard.
See the Skills User Guide and Skills Tutorial for details.
Built-in Agents
OpenJarvis ships with eight built-in agents across three execution modes (on-demand, scheduled, continuous):
| Agent | Type | What it does |
|---|---|---|
morning_digest |
Scheduled | Daily briefing from email, calendar, health, news — with TTS audio |
deep_research |
On-demand | Multi-hop research with citations across web and local docs |
monitor_operative |
Continuous | Long-horizon monitoring with memory, compression, and retrieval |
orchestrator |
On-demand | Multi-turn reasoning with automatic tool selection |
native_react |
On-demand | ReAct (Thought-Action-Observation) loop agent |
operative |
Continuous | Persistent autonomous agent with state management |
native_openhands |
On-demand | CodeAct — generates and executes Python code |
simple |
On-demand | Single-turn chat, no tools |
See the User Guide and Tutorials for detailed setup instructions.
Full documentation — including Docker deployment, cloud engines, development setup, and tutorials — at open-jarvis.github.io/OpenJarvis.
Community
- GitHub: github.com/open-jarvis/OpenJarvis
- Discord: discord.gg/YZZRxCAhmm
- X / Twitter: @OpenJarvisAI
- Docs: open-jarvis.github.io/OpenJarvis
Contributing
We welcome contributions! See the Contributing Guide for incentives, contribution types, and the PR process.
Quick start for contributors:
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis
uv sync --extra dev
uv run pre-commit install
uv run pytest tests/ -v
Browse the Roadmap for areas where help is needed. Comment "take" on any issue to get auto-assigned.
About
OpenJarvis is part of Intelligence Per Watt, a research initiative studying the intelligence efficiency of AI systems. The project is developed at Hazy Research and the Scaling Intelligence Lab at Stanford SAIL.
Sponsors
Laude Institute • Stanford Marlowe • Google Cloud Platform • Lambda Labs • Ollama • IBM Research • Stanford HAI
Citation
@misc{saadfalcon2026openjarvispersonalaipersonal,
title={OpenJarvis: Personal AI, On Personal Devices},
author={Jon Saad-Falcon and Avanika Narayan and Robby Manihani and Tanvir Bhathal and Herumb Shandilya and Hakki Orhun Akengin and Gabriel Bo and Andrew Park and Matthew Hart and Caia Costello and Chuan Li and Christopher Ré and Azalia Mirhoseini},
year={2026},
eprint={2605.17172},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2605.17172},
}
