Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

OpenJarvis

Personal AI, On Personal Devices.

Project Docs Python License Discord X / Twitter


Documentation

Project Site

Leaderboard

Roadmap

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

macOS / Linux:

curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash

The installer handles everything for you — including uv, the Python venv, Ollama, and a small starter model. You don't need to install anything first.

Windows: the installer is a bash script and won't run in PowerShell or cmd. Pick one of:

  • WSL2 (recommended for the CLI / Python SDK) — one-time setup in an admin PowerShell, then run the same curl … | bash inside Ubuntu:
    wsl --install -d Ubuntu-24.04
    
    Open the Ubuntu shell that gets installed, then follow WSL2 install instructions.
  • Desktop app — download the Windows installer (.exe) from the latest desktop release (macOS .dmg and Linux .deb/.rpm/.AppImage are there too) for the GUI experience, no terminal required. Prerequisite: the desktop app expects uv to be installed already — if it isn't, install it first in PowerShell, then launch the app:
    powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex"
    

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. Native Windows is not supported — use WSL2 or the desktop binary.

Manual install / contributors: see docs/getting-started/install.md.

Quick Start

curl -fsSL https://open-jarvis.github.io/OpenJarvis/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 with uv run, or activate the venv first (source .venv/bin/activate) so plain jarvis ... 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

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}, 
}

License

Apache 2.0

Metadata

Release files for OpenJarvis 1.0.3.dev749

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for OpenJarvis 1.0.3.dev749
File Size Uploaded
openjarvis-1.0.3.dev749.tar.gz 37.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for OpenJarvis 1.0.3.dev749
File Interpreter ABI Platform
openjarvis-1.0.3.dev749-py3-none-any.whl Python 3 none any Details

Total release size: 39.4 MB

Release files / openjarvis-1.0.3.dev749.tar.gz

Download URL openjarvis-1.0.3.dev749.tar.gz
Size 37.6 MB
Tags Source
SHA-256 checksum
How to use checksums
e0a00f8c52c404ffe6dd26806e6f05f23746dac262a313b4f4676de90caeceab
BLAKE2b-256 checksum
How to use checksums
32b8c33c922cc362bec07878be86a3c45d7be43a13391e0cedb97c6c713bc7da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / openjarvis-1.0.3.dev749-py3-none-any.whl

Download URL openjarvis-1.0.3.dev749-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
dffe8e3aa3fd628ea5a4eee6d7d35538d4a66ff5e08cead1cc7e7c22617da8ed
BLAKE2b-256 checksum
How to use checksums
aa63a5ae5183d4fb6d8dc84309be9fa163ebd959621960e09a7ac18f68812bb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.0.4

2 release files

1.0.3

2 release files

This release

1.0.3.dev749 This release

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page