OpenJarvis: Personal AI, On Personal Devices
Jon Saad-Falcon, Avanika Narayan, Robby Manihani, Tanvir Bhathal, Herumb Shandilya, Hakki Orhun Akengin, Gabriel Bo, Andrew Park, Matthew Hart, Caia Costello, Chuan Li, Christopher R\'e, Azalia Mirhoseini

TL;DR
OpenJarvis introduces a decomposed, editable personal AI architecture that uses LLM-guided spec search to improve local model accuracy, reduce costs, and decrease latency, bridging the gap with cloud models.
Contribution
The paper presents OpenJarvis, a novel architecture enabling end-to-end optimization of personal AI stacks through primitive specification and LLM-guided search, achieving cloud-like accuracy locally.
Findings
On-device specs match or exceed cloud accuracy on 4 of 8 benchmarks.
Reduces marginal API cost by approximately 800 times.
Decreases end-to-end latency by 4 times.
Abstract
Personal AI stacks, like OpenClaw and Hermes Agent, are becoming central to daily work, yet they route nearly every query (often over sensitive local data) to cloud-hosted frontier models. Replacing frontier models with local models inside existing stacks does not work: swapping Claude Opus 4.6 for Qwen3.5-9B drops accuracy by 25-39 pp across personal AI tasks like PinchBench and GAIA. Existing stacks bundle agentic prompts, tool descriptions, memory configuration, and runtime settings around a specific cloud model. Only the prompts can be tuned, and state-of-the-art prompt optimizers close just 5 pp of the local-cloud gap on their own. This motivates a decomposed personal AI stack: one that exposes individual primitives which can be optimized individually or jointly to close the local-cloud gap. We present OpenJarvis, an architecture that represents a personal AI system as a typed spec…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
