Jon Saad-Falcon cfa59eab7d Merge pull request #36 from open-jarvis/fix/notarization-timeout
fix(desktop): increase build timeout for Apple notarization
2026-03-11 19:48:03 -07:00
2026-03-10 19:01:31 -07:00

OpenJarvis

Composable, Programmable Systems for On-Device, Personal AI.

Project Docs Python License


Documentation

Project Site

Leaderboard

OpenJarvis is a framework for building AI systems that run entirely on local hardware. Rather than treating intelligence as a cloud service, OpenJarvis provides composable abstractions for local model selection, inference, agentic reasoning, tool use, and learning — all aware of the hardware they run on.

from openjarvis import Jarvis

j = Jarvis()                                      # auto-detect hardware + engine
response = j.ask("Explain backpropagation")       # route to best local model

j.ask("Solve x^2 - 5x + 6 = 0",                  # multi-turn agent with tools
      agent="orchestrator",
      tools=["calculator", "think"])

j.memory.index("./papers/")                       # index documents into local storage
results = j.memory.search("attention mechanism")  # semantic retrieval
j.close()

Why OpenJarvis?

Personal AI agents are taking off — but nearly all of them route your data through cloud APIs. Our Intelligence Per Watt research found that local language models already handle 88.7% of queries accurately, with efficiency improving 5.3× from 2023 to 2025. The models and hardware are ready. What's been missing is the software stack.

OpenJarvis provides that stack. It replaces ad-hoc integration with five composable primitives (Intelligence, Engine, Agents, Tools & Memory, and Learning) that share a common architecture. It treats energy and dollar cost as first-class objectives alongside accuracy — not afterthoughts. And every primitive is local-first, designed to discover and adapt to the accelerators on your device. The critical path is written in Rust for memory safety and predictable latency; Python handles orchestration and ML pipelines. The goal is to serve both as a research platform and as production-grade infrastructure.

Installation

pip install openjarvis            # core framework
pip install openjarvis[server]    # + FastAPI server

You also need a local inference backend: Ollama, vLLM, SGLang, or llama.cpp.

Quick Start

The fastest path is Ollama on any machine with Python 3.10+:

# 1. Install OpenJarvis
pip install openjarvis

# 2. Detect hardware and generate config
jarvis init

# 3. Install and start Ollama (https://ollama.com)
curl -fsSL https://ollama.com/install.sh | sh
ollama serve                      # start the Ollama server

# 4. Pull a model
ollama pull qwen3:8b

# 5. Ask a question
jarvis ask "What is the capital of France?"

# 6. Verify your setup
jarvis doctor

jarvis init auto-detects your hardware and recommends the best engine. After init, it prints engine-specific next steps. Run jarvis doctor at any time to diagnose configuration or connectivity issues.

Development

From source, you need the Rust extension for full functionality (security, tools, agents, etc.):

# 1. Clone and install Python deps
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis
uv sync --extra dev

# 2. Build and install the Rust extension (requires Rust toolchain)
uv run maturin develop -m rust/crates/openjarvis-python/Cargo.toml

# 3. Run tests
uv run pytest tests/ -v

See Contributing for more.

About

OpenJarvis is part of Intelligence Per Watt, a research initiative studying the efficiency of on-device AI systems. The project is developed at Hazy Research and the Scaling Intelligence Lab at Stanford SAIL.

Sponsors

Laude InstituteStanford MarloweGoogle Cloud PlatformLambda LabsOllamaIBM ResearchStanford HAI

License

Apache 2.0

S
Description
No description provided
Readme
115 MiB
Languages
Python 83%
Rust 8.4%
TypeScript 7.1%
Shell 0.7%
HTML 0.3%
Other 0.5%