Files
OpenJarvis/docs/index.md
T
2026-03-03 19:18:03 -08:00

4.7 KiB

title, description, hide
title description hide
OpenJarvis Programming abstractions for on-device AI
navigation

Programming abstractions for on-device AI

OpenJarvis is a modular framework for building, running, and learning from local AI systems. Five composable pillars — each with a clear ABC interface and decorator-based registry. Everything runs on your hardware. Cloud APIs are optional.

> pip install openjarvis

Get Started

=== "Browser App"

Run the full chat UI locally with one script:

```bash
git clone https://github.com/HazyResearch/OpenJarvis.git
cd OpenJarvis
./scripts/quickstart.sh
```

This installs dependencies, starts Ollama + a local model, launches the backend
and frontend, and opens `http://localhost:5173` in your browser.

=== "Desktop App"

Download the native desktop app — it bundles Ollama and the Python backend
so everything works out of the box.

[Download for macOS (Apple Silicon)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_aarch64.dmg){ .md-button .md-button--primary }

Also available for [macOS (Intel)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_x64.dmg), [Windows](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_x64-setup.exe), [Linux (DEB)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_amd64.deb), and [Linux (RPM)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_amd64.rpm). See the [Downloads](downloads.md) page for details.

=== "Python SDK"

```python
from openjarvis import Jarvis

j = Jarvis()                              # auto-detect engine
response = j.ask("Explain quicksort.")
print(response)
```

For more control, use `ask_full()` to get usage stats, model info, and tool results:

```python
result = j.ask_full(
    "What is 2 + 2?",
    agent="orchestrator",
    tools=["calculator"],
)
print(result["content"])       # "4"
print(result["tool_results"])  # [{tool_name: "calculator", ...}]
```

=== "CLI"

```bash
jarvis ask "What is the capital of France?"

jarvis ask --agent orchestrator --tools calculator "What is 137 * 42?"

jarvis serve --port 8000

jarvis memory index ./docs/
jarvis memory search "configuration options"
```

Five Pillars

  1. Intelligence — The LM: model catalog, generation defaults, quantization, preferred engine.
  2. Agents — The agentic harness: system prompt, tools, context, retry and exit logic. Seven agent types.
  3. Tools — MCP interface: web search, calculator, file I/O, code interpreter, retrieval, and any external MCP server.
  4. Engine — The inference runtime: Ollama, vLLM, SGLang, llama.cpp, cloud APIs. Same InferenceEngine ABC.
  5. Learning — Improvement loop: SFT weight updates, agent advisor, ICL updater. Trace-driven feedback.

Key Features

  • Five Composable Pillars


    Intelligence, Agents, Tools, Engine, and Learning — each with a clear ABC interface and decorator-based registry.

  • 5 Engine Backends


    Ollama, vLLM, SGLang, llama.cpp, and cloud (OpenAI/Anthropic/Google). Same InferenceEngine ABC.

  • Hardware-Aware


    Auto-detects GPU vendor, model, and VRAM. Recommends the optimal engine for your hardware.

  • Offline-First


    All core functionality works without a network connection. Cloud APIs are optional extras.

  • OpenAI-Compatible API


    jarvis serve starts a FastAPI server with SSE streaming. Drop-in replacement for OpenAI clients.

  • Trace-Driven Learning


    Every interaction is traced. The learning system improves models (SFT) and agents (prompt, tools, logic).


Documentation

  • Getting Started


    Install OpenJarvis, configure your first engine, and run your first query.

  • User Guide


    CLI, Python SDK, agents, memory, tools, telemetry, and benchmarks.

  • Architecture


    Five-pillar design, registry pattern, query flow, and cross-cutting learning.

  • API Reference


    Auto-generated reference for every module.

  • Deployment


    Docker, systemd, launchd. GPU-accelerated container images.

  • Development


    Contributing guide, extension patterns, roadmap, and changelog.