fix(desktop): increase build timeout for Apple notarization
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 Institute • Stanford Marlowe • Google Cloud Platform • Lambda Labs • Ollama • IBM Research • Stanford HAI
