Roadmap¶
OpenJarvis development follows a phased approach, with each version adding a major primitive or cross-cutting capability to the framework.
Development Phases¶
| Version | Phase | Status | Delivers |
|---|---|---|---|
| v0.1 | Phase 0 -- Scaffolding | Complete | Project scaffolding, registry system (RegistryBase[T]), core types (Message, ModelSpec, Conversation, ToolResult), configuration loader with hardware detection, Click CLI skeleton |
| v0.2 | Phase 1 -- Intelligence + Inference | Complete | Intelligence primitive (model catalog, heuristic router), inference engines (Ollama, vLLM, llama.cpp), engine discovery and health probing, jarvis ask command working end-to-end |
| v0.3 | Phase 2 -- Memory | Complete | Memory backends (SQLite/FTS5, FAISS, ColBERTv2, BM25, Hybrid/RRF), document chunking and ingestion pipeline, context injection with source attribution, jarvis memory commands |
| v0.4 | Phase 3 -- Agents + Tools + Server | Complete | Agent system (SimpleAgent, OrchestratorAgent), tool system (Calculator, Think, Retrieval, LLM, FileRead), ToolExecutor dispatch engine, OpenAI-compatible API server (jarvis serve) |
| v0.5 | Phase 4 -- Learning + Telemetry | Complete | Learning system (HeuristicRouter policy, TraceDrivenPolicy, GRPO stub), reward functions, telemetry aggregation (per-model/engine stats, export), --router CLI flag, jarvis telemetry commands |
| v1.0 | Phase 5 -- SDK + Production | Complete | Python SDK (Jarvis class, MemoryHandle), multi-platform channel system (Telegram, Discord, Slack, WhatsApp, etc.), benchmarking framework (latency, throughput), Docker deployment (CPU + GPU), MkDocs documentation site |
| v1.1 | Phase 6 -- Traces + Learning | Complete | Trace system (TraceStore, TraceCollector, TraceAnalyzer), trace-driven learning, MCP integration layer |
| v1.5 | Phase 10 -- Agent Restructuring | Complete | BaseAgent helpers, ToolUsingAgent intermediate base, NativeReActAgent, NativeOpenHandsAgent, RLMAgent, OpenHandsAgent (SDK), accepts_tools introspection, backward-compat shims, CustomAgent removed |
Current Status¶
OpenJarvis v1.5 (Phase 10) is complete. The framework provides:
- Four core abstractions -- Intelligence, Engine, Agentic Logic, Memory -- each with an ABC interface and registry-based discovery
- Five inference engines -- Ollama, vLLM, llama.cpp, SGLang, Cloud (OpenAI/Anthropic/Google)
- Five memory backends -- SQLite/FTS5, FAISS, ColBERTv2, BM25, Hybrid (RRF fusion)
- Seven agent types -- Simple, Orchestrator, NativeReAct, NativeOpenHands, RLM, Operative, MonitorOperative
- Seven built-in tools -- Calculator, Think, Retrieval, LLM, FileRead, WebSearch, CodeInterpreter
- Python SDK --
Jarvisclass for programmatic use - OpenAI-compatible API server --
POST /v1/chat/completions,GET /v1/models - Benchmarking framework -- Latency and throughput measurements
- Telemetry and traces -- SQLite-backed recording and aggregation
- Docker deployment -- CPU and GPU images with docker-compose
Phase 10 (Agent Restructuring) is complete. The agent hierarchy has been
refactored with BaseAgent helpers, ToolUsingAgent intermediate base, and
four new agent types (NativeReActAgent, NativeOpenHandsAgent, RLMAgent,
OpenHandsAgent SDK).
Phase 10 Details¶
Phase 10 refactored the agent hierarchy for composability and extensibility:
BaseAgent Helpers¶
_emit_turn_start/_emit_turn_end-- Event bus integration without boilerplate_build_messages-- System prompt + context + input assembly_generate-- Engine call with stored defaults_max_turns_result-- Standard max-turns-exceeded result_strip_think_tags-- Remove<think>blocks from model output
ToolUsingAgent Intermediate Base¶
- Sets
accepts_tools = Truefor CLI/SDK introspection - Initializes
ToolExecutorfrom provided tools - Configurable
max_turnsloop limit
New Agent Types¶
- NativeReActAgent (
native_react, aliasreact) -- Thought-Action-Observation loop - NativeOpenHandsAgent (
native_openhands) -- CodeAct-style code execution with URL pre-fetching - RLMAgent (
rlm) -- Recursive LM with persistent REPL and sub-LM calls - OpenHandsAgent (
openhands) -- Thin wrapper for realopenhands-sdk
Future Directions¶
Beyond Phase 10, areas of ongoing exploration include:
- GRPO training -- Reinforcement learning from trace data to train the routing policy, moving beyond heuristics and simple statistics
- Streaming telemetry -- Real-time performance dashboards and alerting
- Multi-model orchestration -- Coordinating multiple models within a single query pipeline (e.g., small model for classification, large model for generation)
- Federated memory -- Memory backends that synchronize across devices
- Plugin ecosystem -- Community-contributed engines, tools, and agents distributed as Python packages
- Energy-aware routing -- Using power consumption data from telemetry to optimize for energy efficiency alongside latency and quality