Jarvis is a voice assistant that runs on a personal computer, with speech recognition, model inference, and memory all local. It responds to its name placed anywhere in a sentence and keeps a short rolling context of the surrounding discussion, so a follow-up question is answered in the context of what was just said and does not need the wake word repeated. Sensitive information is redacted before anything is written to disk.
Language models run through Ollama by default, or through any OpenAI-compatible server already running on the machine. The setup wizard detects local servers, offers presets, and checks the chosen model for chat, tool calling, and embeddings before setup finishes. A small fast model stays loaded next to the chat model for voice intent classification and other real-time work; where a server offers no embeddings endpoint, memory search falls back to keywords unless embeddings are routed elsewhere.
Memory is a knowledge graph that organises itself from conversations, splits by topic, and surfaces relevant material, with a viewer for the diary, graph, and meal records. Built-in tools cover screenshot OCR, web search with a DuckDuckGo, Brave, and Wikipedia fallback chain, weather, file access, nutrition tracking, and location and time. MCP servers add external tools, and embedding-based relevance filtering selects only the tools a given query needs.
Tested local servers and their default endpoints:
| Server | Default base URL | Notes |
|---|---|---|
| Ollama (OpenAI API) | http://localhost:11434/v1 | The native Ollama path is the default; the OpenAI shape works too |
| LM Studio | http://localhost:1234/v1 | Chat, tool calling, and embeddings |
| Jan | http://localhost:1337/v1 | Chat and tool calling |
| llama.cpp (llama-server) | http://localhost:8080/v1 | Tool calling depends on the model |
| LocalAI | http://localhost:8080/v1 | Feature support depends on the backend model |
| vLLM | http://localhost:8000/v1 | Tool calling depends on the model |
Development is macOS-first, and Windows and Linux support can lag. There is no text chat interface and no mobile application yet, and dictation is unavailable on macOS 26 and later.
Features
- Local processing: speech, inference, and memory stay on the machine, with automatic redaction before disk writes
- Conversational wake word: the name can appear anywhere in a sentence, with follow-ups and spoken interruption
- Knowledge-graph memory: self-organising memory across sessions, with a viewer for diary, graph, and meals
- Dictation mode: hold a hotkey, speak, and release to paste transcribed text into any application, offline
- Built-in tools: screenshot OCR, web search with a fallback chain, weather, files, nutrition, and location
- Smart tool selection: embedding-based relevance filtering picks only the tools a query needs
- MCP integration: external MCP servers add tools such as home automation, source control, and chat
- Provider choice: Ollama by default, or any OpenAI-compatible local server, with embeddings routable separately
- Model sizing: documented chat models from about 2 GB of VRAM up to 24 GB, chosen in the setup wizard
- Tracked accuracy: automated evaluations record what the assistant gets right and wrong
Integrates with
Jan
Desktop app for running open-weight LLMs locally or connecting to cloud providers, exposing an OpenAI-compatible local API
llama.cpp
LLM inference in C/C++ across CPU and GPU backends, using the GGUF format with quantization, a REST server, and a WebUI
LocalAI
Self-hosted engine that runs LLM, vision, voice, image, and video models on any hardware behind OpenAI-compatible APIs
-
Ollama
Runs open large language models locally without an API key
