Marvis AI · Privacy-First Desktop Copilot
Your screen, your meetings, your machine.
Marvis is a private personal AI assistant for macOS, Windows, and Linux. A floating bar sees your screen only with permission, transcribes your meetings, and answers through the AI providers you choose — your keys, history, and screen data never leave your device.
Design sync
mic + system audio · deepgram nova-2
Before we dive in — did everyone see the new launch date?
Yes — moved to the 14th. Website copy needs to land by Friday, though.
I can take the landing page — draft this week, then share it Friday
Launch moved to the 14th; landing-page copy is due Friday; you’re drafting it.
What it does
Two jobs, done quietly — over everything you open.
Answers with your screen in context
Press ⌘⏎ (Ctrl+Enter on Windows/Linux) and the latest screen frame rides along with your prompt — “explain this”, “what changed”, “compare these”. The answer streams back as markdown into the overlay.
Meetings, transcribed as they happen
Mic plus system audio become a speaker-labeled transcript while the call runs — pause and resume anytime, filter by voice, copy the whole thing. Every five turns, a rolling TLDR lands with follow-up questions you can ask in one click.
Private by design
No account, no sync, no Marvis servers. Keys live in ~/.marvis masked to …last4, and calls go straight to the provider you pick — or to Ollama, fully on-device.
BYOK · on-device speech
Your keys, your voice, your machine.
No accounts, no sync service, no Marvis servers. Marvis is BYOK — your provider keys live in keys.json and go only to the LLM you choose. Speech is local by default: Listen and dictation transcribe on-device with whisper.cpp or sherpa ASR models under models/, with hosted Deepgram strictly opt-in. An ask sends your prompt plus one screen frame to your LLM; every five turns the rolling TLDR sends transcript text to the same provider. Nothing else leaves.
accounts, cloud syncs, or Marvis servers — keys are never proxied; there is nothing to phone home to.
of rolling screen context kept in memory — ≤120 frames, ≤64 MB, never on disk.
folder holds everything Marvis writes — keys, config, history, recordings, models — all under ~/.marvis.
The interface
One bar. Cards when you need them.
Everything floats above your work — a capsule at rest, an input for asks, and cards for chat, listen, and history in one grown window. These are the app’s real views, recreated faithfully. The toggle swaps in its dark theme.
Where do my API keys actually live?
In keys.json inside ~/.marvis — a plaintext file at 0600 in a 0700 folder, with no copy anywhere else. The UI only ever shows the masked form, like …7B2q, so a typed key is never echoed back on screen.
At rest — a capsule
The bar idles as a 172px capsule: iris, screen-capture toggle, the Listen recorder, and history. Click the iris or just start typing — it morphs open.
Ready to ask
The default gate. Type — or dictate with the mic — and ⌘⏎ (Ctrl+Enter on Windows/Linux) sends the latest screen frame with your question.
Permission needed
Without Screen Recording, Marvis can’t see your screen — so the bar asks before anything else.
Listen
The transcript writes itself.
Mic and system audio become a speaker-labeled document while the call runs — pause and resume, filter by voice, copy it all. Every five turns a TLDR lands with follow-ups you can fire straight into the session’s own chat. Finished meetings stay readable from History.
Design sync
mic + system audio · deepgram nova-2
Before we dive in — did everyone see the new launch date?
Yes — moved to the 14th. Website copy needs to land by Friday, though.
I can take the landing page — draft this week, then share it Friday
Launch moved to the 14th; landing-page copy is due Friday; you’re drafting it.
Always in reach
Five chords, all rebindable.
Click a binding in Settings → Hotkeys and press a new one, or edit [hotkeys] in ~/.marvis/config.toml. Inside the bar, four keys stay fixed. The bar itself drags anywhere and remembers; Settings → Bar snaps it to a work-area edge. ⌘ reads Ctrl on Windows and Linux.
Deep links
marvis://ask?text=what+changed+here
Focuses the bar and fires an Ask from any app — a browser, a script, a launcher. Any other marvis:// link just surfaces the overlay.
| Action | Shortcut |
|---|---|
| Show / hide the input | ⌘ ⌥ Space |
| Toggle screen capture | ⌘ ⌥ R |
| Start a Listen | ⌘ ⌥ T |
| Session history | ⌘ ⌥ H |
| Lock bar position | ⌘ ⇧ L |
| Action | Shortcut |
|---|---|
| Send | Enter |
| New line | ⇧ Enter |
| Send with screen frame | ⌘ ⏎ |
| Settings | ⌘ , |
Your model, your call
Bring your own everything.
API keys talk straight to the providers you pick — no Marvis proxy in the middle. Order them into a failover chain: a failed call hands off to the next configured provider.
Windows
Available nowLinux
Available nowBuilt Different
Local-first vs. Cloud AI Copilots
Why privacy-first architecture matters for your screen, your meetings, and your proprietary work.
| Dimension | Marvis AI (Local & BYOK) | Cloud AI Copilots |
|---|---|---|
| Architecture & Storage | 100% on-device; 0 cloud servers or sync | Cloud servers, remote storage & telemetry |
| Screen Context | 60s rolling RAM ring (≤64 MB); never on disk | Stored in cloud database or disk history |
| Meeting Transcription | On-device whisper.cpp & sherpa ASR (offline ready) | Live audio streamed to third-party APIs |
| Model Choice | BYOK: OpenAI, Claude, Gemini, Ollama & local servers | Locked to single vendor subscription |
| Account & Identity | 0 accounts; no sign-in or tracking required | Account often required; billing applies to paid plans |
| License & Cost | Free & Open Source (Apache-2.0) | Free tiers exist; paid plans may cost $20 – $30+ / user / month |
Common Questions
Frequently asked questions
Everything you need to know about privacy, architecture, offline local models, and how Marvis works on your machine.
What is Marvis AI?
Marvis is a free, open-source personal AI copilot for macOS, Windows, and Linux. It sits in a subtle floating bar above your workspace, understands your screen with explicit permission, transcribes meetings locally, and connects directly to your chosen AI models with zero cloud storage.
How does Marvis protect user privacy compared to other AI assistants?
Marvis uses a local-first architecture. There are no user accounts, no telemetry servers, and no cloud synchronization. Your API keys are stored locally at 0600 permissions in ~/.marvis/keys.json and masked in the UI. Screen frames are kept only in a rolling 60-second in-memory ring (never saved to disk), and meeting transcription runs on-device using whisper.cpp and sherpa-onnx.
Can Marvis run completely offline with local models?
Yes. You can connect Marvis to local LLMs via Ollama or any OpenAI-compatible local server. Speech recognition runs fully offline using bundled whisper.cpp or sherpa models, enabling 100% air-gapped personal AI assistance on your machine.
Which operating systems and hardware are supported?
Marvis runs natively on macOS (Apple Silicon and Intel via ScreenCaptureKit), Windows (x86_64 via Windows Graphics Capture and WASAPI audio), and Linux (x86_64 via XDG desktop portal and PipeWire).
Which AI providers and speech engines can I use?
Marvis supports Bring Your Own Key (BYOK) for OpenAI, Anthropic Claude, Google Gemini, OpenRouter, and Ollama (local). For speech transcription, it supports on-device whisper.cpp, sherpa ASR, and optional streaming Deepgram.
Is Marvis really free and open source?
Yes, Marvis is 100% free and open-source software licensed under the Apache 2.0 license. The complete source code, build scripts, and desktop application releases are available publicly on GitHub.
Download Marvis for macOS, Windows, and Linux
Free and open source under Apache-2.0. Runs completely on your device with zero telemetry. Builds ship directly on GitHub Releases.