v0.7-preview Hearth is here. The CLI and desktop app are daily-driver ready.
Local-first · Windows · MIT

One AI for your
whole machine.

Hearth gives the model you already run a body, and meets you everywhere: a terminal, a desktop app, your phone, MCP server, or a scriptable headless bridge. It runs your files, shell, apps, a real browser, and the desktop itself.

Runs 100% offline Any OpenAI-compatible model No telemetry
Desktop app
HHearth
qwen2.5-32b-instruct eject GPU 3%VRAM 19/24GBlocal
H Hearth is ready. Local AI that talks, listens, and actually does things on your machine.
✦ think Message Hearth…
model qwen2.5-32bctx 32Ktools 105state idle
hearth — cli local
Hearth MCP
exposes its tools to any host · and consumes theirs
hearth — headless no UI
No account No cloud required No telemetry Open source · MIT
Runs on LM StudioOllamallama.cppvLLMany cloud key
The fourth thing

A chat UI just talks. A coding agent stays in one folder. A cloud assistant forgets you and never goes offline. Hearth is the local operator that runs on the model you already have and actually does things on your PC — then remembers you, across sessions.

Settings — live accessibility snapshot
desktop_snapshot → 4 controls found
Search field textbox
Notifications toggle
Dark mode
Restart button
? desktop_click "Dark mode" — allow? [y/n/a/N] ❯ y
Beyond the browser

It runs the actual
desktop, by name

desktop_snapshot reads a window's real controls as a list, then desktop_click and desktop_type act on them by name. You watch the cursor move.

Any app, not just a webpage.
Every change asks first — a y/n/a/N before it runs.
frontend
❯ build the dashboard⚡ write_file App.tsx↳ 142 lines⚡ shell npm run dev↳ :5173 up
backend
❯ wire the API⚡ write_file routes.py↳ 3 endpoints⚡ shell pytest↳ 11 passed
architect
❯ review the plan⚡ read_file spec.mdreviewing…↳ approved
Watch a team build

Ask for a team.
Watch it work.

Ask for a frontend, a backend and an architect — Hearth spawns each as a sub-agent in its own live terminal pane. You watch them work side by side.

Six personas ship — researcher, coder, archivist and more.
Run them live or in the background; depth is bounded.
load_tools → the model pulls only what it needs
~100 tools exist · only a handful are in the prompt at once
No context bloat

A hundred tools.
A small prompt.

Around 100 tools exist, but the model never sees them all. A core set loads by default; the rest sit behind a load_tools call it makes on demand. The prompt stays small.

It loads only what the task needs, then forgets the rest.
HEARTH_ALL_TOOLS=1 loads everything up front, if you want.
Bring your own brain

Download and tune models,
right inside Hearth

Search Hugging Face and pull a GGUF without leaving the app, or let Hearth auto-detect a running LM Studio, Ollama or llama.cpp. Then tune each model once — GPU layers, context, KV-cache quant — and it remembers. Switch brains without a restart; files, voice and memory stay local either way.

qwen 9b Hugging Face
Choose a quantization
Hearth sizes each one against your VRAM, so you know it fits before you download.
Q4 RECOMMENDED Qwen3.5-9B-Q4_K_M 5.0 GB · FITS
Q3 Qwen3.5-9B-Q3_K_M 3.6 GB · FITS
Q6 Qwen3.5-9B-Q6_K 7.3 GB · TIGHT
Pick one, it downloads and loads with sensible defaults. Then set context — read from the model, up to its real max — and GPU layers once in My Models, and Hearth remembers.
GemmaQwen 2.5 / 3Llama 3.xMistralPhiCommand-RDeepSeek
Not just words

It makes images and video

Ask in plain English. Hearth generates on your own GPU through Forge, or routes to a cloud model — and the picture develops right there in the chat.

jarvis, generate "a small astronaut by a campfire on a floating island in space, nebulae from glowing dots, dreamy, minimal, purple accents"
Composing scene…
Hearth-generated image: a small astronaut by a campfire on a floating island in space
Local · ForgeCloud modelsImages + video
The full toolbelt

Everything it reaches for,
all running locally

From opening a file to driving a browser to writing itself a new tool when it hits a gap.

System

  • Files: read, write, edit, move
  • Shell: real PowerShell / cmd
  • Open any app, file or URL
  • Screenshots plus vision read

Reach out

  • A real browser it drives
  • Web search and fetch
  • Phone: Telegram / Discord
  • ntfy push, optional email

Stays with you

  • Self-curating memory
  • Reminders, one-shot or recurring
  • Background jobs with a job id
  • A soul.md identity that persists

Extends itself

  • Shareable skills, one-line install
  • Sub-agents with scoped tools
  • create_plugin: writes its own tools
  • MCP, both directions

Memory that curates itself

Per-fact notes that persist across sessions. The most relevant fold into context automatically; cold facts archive and warm back when recalled.

prefers concise replies 42×
works in PowerShell 31×
old endpoint archived

It talks and listens

listening
“Hey JARVIS” — or whatever you name it

Leave continuous listen on and just talk, or set a wake word — your assistant's name, so it changes when you rename it — to open the overlay even when Hearth isn't focused. Speech streams out; barge-in cuts it off mid-sentence.

Skills you can share

A skill is a folder that teaches a workflow. Install one someone else wrote with a single line, publish yours by pushing to GitHub.

contact-sheet /skill install
pptx-deck /skill install
downloads-tidy /skill install
Built to grow

The more people build,
the more it can do

A skill is just a folder that teaches a workflow. Publish yours by pushing to GitHub, install anyone else's with a single line. The library grows as people ship more.

ui-builder/skill install
code-reviewer/skill install
trading-desk/skill install
data-analyst/skill install
research-agent/skill install
resume-tailor/skill install
sql-explorer/skill install
api-tester/skill install
Browse the skills index →
Privacy by architecture

It collects nothing

No account, no telemetry, no analytics, no server the author runs. Your files, prompts and memory stay on your machine. The only things that ever leave are ones you turn on.

  • Runs fully offline against a local model. Everything below is off by default.
  • Reads vs. writes. Writes are confined to the workspace unless you grant a folder. JARVIS_LOCKDOWN=1 confines reads too.
  • Permission prompts on every risky tool, the first time per session.
Your machine
Modellocal LLM
Filesyour disk
Memorymarkdown
Voiceon-device
Only if you opt in →
web search (DuckDuckGo) · a cloud model you chose · ntfy / Telegram · email
Get started

Up and running in two minutes

Windows 10/11. One installer, no admin needed, nothing to configure. Prefer source? The tabs below cover it.

Full bundles the GPU model server: it downloads and runs models itself, no LM Studio needed. Lite is for when you already run LM Studio, Ollama, or another server. Both install to your user folder · v0.7.0-preview · all releases
PowerShell
# clone and enter
git clone https://github.com/0pen-sourcer/hearth.git
cd hearth

# bring your own server (LM Studio / Ollama / vLLM / llama.cpp / a cloud key)
.\install.ps1

# launch
.\hearth.bat
PowerShell · NVIDIA
# Hearth installs and runs its own llama.cpp server on your GPU
.\install.ps1 -BuiltinLLM cuda
.\hearth.bat
PowerShell · CPU
# same bundled server, no GPU required
.\install.ps1 -BuiltinLLM cpu
.\hearth.bat
macOS / Linux · from source
# CLI, web UI and most POSIX tools work. See docs/INSTALL_LINUX_MAC.md
git clone https://github.com/0pen-sourcer/hearth.git
cd hearth
pip install -r requirements.txt
python hearth_cli.py
!Verified on Linux (Mint 22 / Ubuntu 24.04). macOS shares the POSIX paths but has had less testing. The one-click installer and packaged build are Windows-only for now.
First launch runs a short onboarding: it picks your model brain, sets up voice, and names the assistant. Switches let you skip voice, STT, MCP SDK, file readers, the desktop window or browser control.
Questions

Good to know

Hearth collects nothing — no account, no telemetry, no server the author runs. The only things that ever leave are ones you turn on: web search / fetch (DuckDuckGo), a cloud model if you pick one, or ntfy / Telegram. All off by default.

Yes, to anything. It ships as JARVIS, but /name ATHENA (or Friday, Cortana, whatever you like) renames the avatar, persona and workspace folder. The framework is Hearth; the character is yours — personas, voices and models are all swappable.

No. Anything OpenAI-compatible works — Ollama, vLLM, llama.cpp, LocalAI — or the bundled llama.cpp server via -BuiltinLLM.

Writes are confined to the workspace by default, and risky tools prompt for permission the first time per session. JARVIS_AUTO_APPROVE=1 removes the prompts; JARVIS_LOCKDOWN=1 confines reads too.

Yes, except web search / fetch. Run against a local model with nothing else configured and Hearth is fully offline.

Any ~7B-or-larger model with OpenAI-style tool-calling. On ~8GB VRAM, recent tool-trained models do best. A built-in loop guard catches and breaks runaway multi-step spirals on smaller models.

Hearth

Give your local model
a body.

Free, MIT-licensed, built by one developer. Runs on your machine, collects nothing, and grows with the community.

If it's useful, a ⭐ is the biggest help — it's how other people find the project.