Jon Saad-FalconandClaude Opus 4.6 24972e3e52 Add Phase 12+13: energy measurement, install polish, PWA, cross-hardware
Phase 12 — Energy Measurement Upgrade:
- EnergyMonitor ABC with multi-vendor support (NVIDIA hw counters,
  AMD amdsmi, Apple zeus-ml, CPU RAPL sysfs)
- EnergyBatch batch-level energy-per-token accounting
- SteadyStateDetector CV-based thermal equilibrium detection
- EnergyBenchmark with warmup phase
- InstrumentedEngine prefers EnergyMonitor over legacy GpuMonitor
- Telemetry store/aggregator extended with energy fields

Phase 13 — Install, Hosting, Cross-Hardware:
- jarvis doctor diagnostic command (8 checks, --json output)
- jarvis init post-setup guidance with engine-specific next steps
- README Quick Start section
- MLX engine backend (Apple Silicon → mlx recommendation)
- AMD VRAM/multi-GPU detection via rocm-smi
- PyTorch MPS device selection in orchestrator trainers
- PWA support (vite-plugin-pwa, service worker, manifest, icons)
- Server static file serving fix for PWA files
- Dockerfile.gpu.rocm + docker-compose.gpu.rocm.yml for ROCm
- Eval framework display module and efficiency metrics

2244 tests pass, 37 skipped.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 20:09:07 +00:00

OpenJarvis

Programming abstractions for on-device AI.

Project Docs Python License


Documentation

Project Site

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()

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.

The Five Pillars

Pillar What it does Key abstractions
Intelligence Model management and routing RouterPolicy, QueryAnalyzer, ModelCatalog
Engine Inference runtime abstraction InferenceEngine ABC — Ollama, vLLM, SGLang, llama.cpp, MLX
Agents Pluggable reasoning strategies BaseAgent ABC — Simple, Orchestrator, ReAct, OpenHands, OpenClaw
Tools Capabilities via MCP BaseTool ABC — calculator, code interpreter, web search, memory; external MCP servers auto-discovered
Learning Trace-driven adaptation LearningPolicy ABC — SFT (model routing), AgentAdvisor (restructuring), ICL (tool usage)

Every interaction produces a Trace — a structured record of the full reasoning chain. Learning policies consume traces to improve model selection, agent behavior, and tool usage over time.

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 Labs

License

Apache 2.0

S
Description
No description provided
Readme
105 MiB
Languages
Python 82.8%
Rust 8.6%
TypeScript 7.1%
Shell 0.7%
HTML 0.3%
Other 0.5%