DEV Community

Christopher Studva
Christopher Studva

Posted on

I built JARVIS — a local-first AI assistant you actually own (macOS + Linux, MIT)

Siri, Alexa, and Google Assistant are thin clients. The intelligence lives on
someone else's servers, every word you say leaves your house, and the moment
the vendor has an outage — or you're on a plane — they mostly stop working.

I wanted the JARVIS I was promised: always on, genuinely helpful, and mine.
So I built one — Jarvis CLS — and open-sourced it (MIT).

The idea: you own the whole stack

  • 🧠 Your brain. Run a private local model (Ollama / llama.cpp), your own server, or a frontier cloud API — with health-aware failover between them.
  • 🗣️ Your voice. Swappable TTS profiles you can change mid-sentence.
  • 💾 Your data. Every note, embedding, and audit line lives on your disk under ~/.jarvis — exportable and clearable.
  • ✈️ Works offline. Local speech-to-text (faster-whisper), local voices (piper/pyttsx3), and a model chain that always ends in an on-device fallback. Unplug the internet and it keeps talking.

No account. No forced cloud. No fixed voice. No "sorry, I can't reach the
server right now."

What it actually does

  • 43 permission-tiered skills — every elevated tier is off until you turn it on, with a local audit log.
  • Proactive, not just reactive — an ambient agent that speaks first on real triggers ("Battery is at 18%… I'd recommend saving your open work").
  • Decomposes messy requests — say one sentence, it plans and executes the steps.
  • Extensible via MCP — add any Model Context Protocol tool server; still permission-gated and audited.
  • Runs natively on macOS and Linux (X11 or Wayland).
  • Picks how it addresses you on first run — a preset or your own name.

It's ~16,000 lines, 646 passing tests, ruff- + mypy-clean (enforced in CI),
and hardened across five rounds of adversarial security review.

Try it

macOS

cd jarvis-unstoppable && brew install portaudio && make setup && make run
Enter fullscreen mode Exit fullscreen mode

Linux

cd jarvis-unstoppable && bash scripts/install_linux.sh && make setup && scripts/dev_run.sh
Enter fullscreen mode Exit fullscreen mode

Leave the API keys blank to run fully local/offline, or add them for a cloud brain.

Why open-source it?

Because an assistant that listens to everything you say should be one you can
read the source of. It's MIT, source-available, and self-hostable. If that's the
kind of assistant you've wanted, a ⭐ helps others find it — and I'd love to hear
what you'd build on top of it.

Repo: https://github.com/reapersapprentice/Jarvis-CLS

— C.Studva

Top comments (0)