OpenJarvis Personal AI
Build local-first personal agents that run on your devices and reach the cloud when needed.
- Source repo
- open-jarvis/OpenJarvis
- Stars
- ★ 12k
- Last updated
- today
- License
- Apache-2.0
- Primary language
- Python
- FA score
- 56/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free, no paid service needed
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- Developers who want to run personal chat agents on their own devices instead of routing every request through cloud APIs.
- Not a fit if
- Users who need a zero-setup, fully hosted experience
- Environments that must never use a network connection
- Source review
- 56/100 · Major gaps
What does this agent do, and when should you use it?
OpenJarvis is a framework for local-first personal AI, with shared building blocks for on-device agents, evaluation tools, and a learning loop based on local traces. It includes a CLI, a browser GUI, and eight built-in agents spanning on-demand, scheduled, and continuous execution. Users can choose presets for chat, research, coding, or monitoring; the selected agent determines which tools and data it uses. The installers set up a Python virtual environment, Ollama, and a starter model for macOS, Linux, WSL2, and native Windows. Desktop packages are also offered, while the browser GUI requires Node.js 22+.
Start a conversation with jarvis, or run jarvis gui to launch a local API server and browser frontend. Configure presets such as morning digest, deep research, code assistant, scheduled monitor, and chat-simple with jarvis init --preset <name> --force. Built-in agents can generate spoken briefings from email, calendar, health, and news; conduct multi-hop research across web and local documents with citations; or perform code execution, file I/O, and shell operations as configured. Skills can be installed from Hermes Agent, OpenClaw, or other GitHub repositories, invoked on demand, and optimized or benchmarked against trace history. The framework also evaluates accuracy alongside energy, FLOPs, latency, and dollar cost.
- Developers who want to run personal chat agents on their own devices instead of routing every request through cloud APIs.
- Individuals who want spoken daily briefings assembled from email, calendar, health, and news.
- Researchers who need multi-hop research with citations across indexed documents and the web.
- Engineers who want a coding agent with code execution, file I/O, and shell access.
- Users who need a stateful monitoring agent that runs on a schedule.
- AI teams studying the energy, latency, and accuracy tradeoffs of local models.
How do you install or deploy this agent?
For macOS, Linux, and WSL2:
curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bashFor native Windows:
irm https://open-jarvis.github.io/OpenJarvis/install.ps1 | iexThe installers handle uv, the Python virtual environment, Ollama, and a starter model. Desktop packages are available as .exe, .dmg, .deb, .rpm, and .AppImage from the latest release. To install from source as a contributor:
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis
uv sync --extra dev
uv run pre-commit installHow do you use this agent?
Start the default chat:
jarvisStart the browser GUI:
jarvis guiSet up a preset and generate a daily briefing:
jarvis init --preset morning-digest-mac --force
jarvis connect gdrive
jarvis digest --freshjarvis gui requires Node.js 22+ and is documented for a source checkout. The Google Drive connection example uses OAuth; the README does not detail other credential setup. Prefix commands with uv run if the virtual environment is not active.
What are this agent's strengths and limitations?
- Local-first design makes on-device execution the default goal while allowing cloud calls when needed.
- Eight built-in agents span on-demand, scheduled, and continuous modes, including research, briefings, monitoring, and coding.
- Evaluation treats energy, FLOPs, latency, and cost as constraints alongside accuracy, which is useful for local-model research.
- Skills can be imported from Hermes Agent, OpenClaw, and GitHub repositories, then optimized and benchmarked.
- The quick installer sets up uv, a Python virtual environment, and Ollama; models and the Rust extension continue downloading in the background.
- The browser GUI requires Node.js 22+ and is documented as available from a source checkout.
- The morning-digest example connects Google Drive with OAuth; access to email, calendar, and other data requires relevant integrations.
- The README provides no performance guarantees across model and hardware configurations or measured operating costs.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| OpenJarvis Personal AI This agent | 56 · Major gaps | CLIFree | ★ 12k | today | Python | — |
| AgentBro | 78 · Good | Desktop appFree | ★ 164 | 2mo ago | Rust | Codex · Claude Code |
| Mnemo Cortex | 75 · Good | Self-hosted serviceFree | ★ 157 | today | Python | Codex · Claude Code · Claude.ai |
| Ogcode | 46 · Major gaps | CLIFree + model costs | ★ 143 | today | Go | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
Security docs show real least-privilege design (capability policies with default_deny, per-identity grants, file policy, GuardrailsEngine, audit log), so least_privilege scores 2; however enforce_tool_confirmation is explicitly documented as accepted but not enforced, so user_confirmation is only 1. Data-flow transparency gets 2 via host scan, data-boundary scan and an analytics consent prompt. Sensitive-data handling has SecretScanner/PIIScanner/file policy but defaults to WARN (alert only) and cannot block streamed output, so 2. Dependency security shows only lower-bound pins with no lockfile or audit evidence, so 1. External effects are notable: the installer installs Ollama, pulls models and edits PATH, so 1. Rollback exists via jarvis-uninstall and fast-forward self-update, so 2. Source attribution is solid (arXiv, institutions, citation, Apache header), so 2.
Internal inconsistencies: install page says Python 3.10–3.13, README badge says >=3.10, pyproject says <3.14; desktop download tag 1.0.2 vs filenames 1.0.1; qwen3.5 vs qwen3 model names mixed, so self_consistency is 1. Dependency availability relies on lower bounds, a Rust toolchain and Node, and pyproject is truncated, so 1. Failure messages are decent (jarvis doctor, ModuleNotFoundError guidance, troubleshooting), so 2.
Audience and scenarios cover CLI, SDK, browser, desktop and multiple presets, so 3. Capability boundaries are documented via agent/tool tables and capability policies but confirmation and streaming limits are fuzzy, so 2. Trigger precision is thin: scheduler and agent trigger details are sparse and skill catalogs are imported broadly without curation guidance, so 1. Environment fit has hardware detection and engine selection tables but platform and Python-version constraints add friction, so 2.
Information architecture has README plus layered docs, so 2. Install notes are thorough (one-liners, manual, platform guides, uninstall, update), so 3. Naming stability is weak (qwen3/qwen3.5, duplicate and conflicting install pages), so 1. Examples and FAQ are rich, so 3. Known limitations are stated (streaming block limits, unenforced confirmation, no Python 3.14), so 2. License is full Apache-2.0 text, so 3. Versioning/changelog is absent beyond a version string, so 1. Maintenance responsibility points to Stanford labs and a contributing guide but publisher is unverified and no governance is given, so 1.
Output usability includes structured results, JSON output and telemetry export, so 2. Marginal value comes from local-first design and energy-aware evaluation, so 2. Cost-benefit is heavy: multi-GB model downloads, Rust extension build and Ollama install raise the barrier, so 1.
Claim traceability has an arXiv paper and citation, but most security and capability claims lack corresponding code or test evidence, so 1. Cross-source corroboration is undermined by conflicts between README, install pages and security docs, so 1. Fact/inference separation is mixed, with recommendations phrased as guarantees, so 1.
- The installer runs via curl | bash and auto-installs Ollama, pulls models and edits shell PATH; review the script before running.
- enforce_tool_confirmation is documented as not currently enforced; presets granting code execution, file writes or shell access need manual permission review.
- Security scanning defaults to WARN (alert only) and cannot block or redact streamed output.
- Docs conflict on versions and names (Python range, desktop download tag, qwen3 vs qwen3.5); verify against actual code before deploying.
- Publisher identity is not verified by the FollowAgents registry; maintenance responsibility and update path should be independently confirmed.
FAQ
Does OpenJarvis require a paid service?
What personal data can it access?
What can the code assistant do?
Can every feature run offline?
How do I launch the GUI?
jarvis gui to start a local API server and frontend and open the default browser. This entry requires Node.js 22+ and is documented for a source checkout.