Jon Saad-FalconandClaude Opus 4.6 301e9cd2d4 Implement OpenJarvis v1.0 — all five pillars, SDK, benchmarks, Docker
Complete implementation across six development phases (v0.1 through v1.0):

- Core: Registry system, config, event bus, types (Phase 0)
- Intelligence + Inference: Model routing, Ollama/vLLM/llama.cpp/Cloud engines (Phase 1)
- Memory: SQLite/FAISS/ColBERT/BM25/Hybrid backends, document ingest, context injection (Phase 2)
- Agents: Simple/Orchestrator/Custom/OpenClaw agents, tool system (Phase 3)
- Learning: HeuristicRouter, reward functions, GRPO stub, telemetry aggregation (Phase 4)
- SDK: Jarvis class, OpenClaw protocol/transport, benchmarks, Docker deployment (Phase 5)

520 tests passing, 8 skipped (optional deps). Ruff lint clean.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 00:52:48 +00:00

OpenJarvis

Your AI stack, your rules.

A modular, pluggable AI assistant backend. Compose your own stack across five pillars — Intelligence, Learning, Memory, Agents, and Inference — then swap any piece without touching the rest.

Status: v1.0 — All five pillars implemented. SDK, benchmarks, OpenClaw infrastructure, and Docker deployment ready.

What is this?

OpenJarvis lets you build a personal AI assistant from composable parts:

  • Intelligence — multi-model management with automatic routing (Qwen3, GPT OSS, Kimi-K2.5, Claude, GPT-5, Gemini)
  • Memory — persistent, searchable storage with multiple backends (SQLite, FAISS, ColBERTv2, BM25, hybrid)
  • Agents — pluggable reasoning and tool use (OpenClaw Pi agent, simple, orchestrator, custom)
  • Inference — hardware-aware engine selection (vLLM, SGLang, Ollama, llama.cpp, MLX)
  • Learning — router that improves over time (heuristic now, learned later)

Quick Start — Python SDK

from openjarvis import Jarvis

j = Jarvis()
response = j.ask("What is the meaning of life?")
print(response)

# With a specific model and agent
response = j.ask("Explain gravity", model="qwen3:8b", agent="orchestrator")

# Memory operations
j.memory.index("./docs/")
results = j.memory.search("machine learning")

j.close()

Quick Start — CLI

jarvis ask "Hello, what can you do?"
jarvis ask --agent orchestrator --tools calculator,think "What is 2+2?"
jarvis bench run -n 5 --json
jarvis model list
jarvis memory index ./docs/
jarvis serve --port 8000

Docker

docker compose up -d          # Starts Jarvis + Ollama
curl http://localhost:8000/health

Documentation

  • VISION.md — Project vision, architecture, design principles
  • ROADMAP.md — Phased development plan with deliverables
  • CLAUDE.md — Developer reference for working with the codebase

Quick orientation

src/openjarvis/
├── core/          # Registry, types, config, event bus
├── intelligence/  # Model management, routing
├── memory/        # Storage backends (SQLite, FAISS, ColBERT, BM25, hybrid)
├── agents/        # Agent implementations + tool system + OpenClaw
├── engine/        # Inference engine wrappers
├── learning/      # Router policy (heuristic, GRPO stub)
├── bench/         # Benchmarking framework (latency, throughput)
├── telemetry/     # Telemetry store + aggregator
├── server/        # OpenAI-compatible API server
├── cli/           # CLI entry points
└── sdk.py         # Python SDK (Jarvis class)

Requirements

  • Python 3.10+
  • An inference backend: Ollama, vLLM, or llama.cpp
  • Node.js 22+ (only if using OpenClaw agent)

License

TBD

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%