A local-first control surface for coding agents (Raven, Codex, Grok) on Linux, macOS, and Windows.
Hearth is a fork of Zeron — a native rewrite (Rust + gpui) of a multi-device agent controller. This fork keeps the part that matters on a single machine: a fast, private harness runner you drive locally. No hosted account, no cloud sync, and no telemetry is required for normal use.
- Local-first by default — a bare
hearthrun does not dial the edge. - One binary — headed UI by default;
hearth headlessfor an engine daemon the UI can attach to. - Harness-agnostic — ACP agents over stdio (Raven, Grok) plus a native Codex driver. Raven is registered first among real harnesses and is the usual new-chat fallback when it is installed.
- Ravenwood themed — UI colors follow the Ravenwood palette.
- Workspace-aware — spaces (device + folder), optional git worktrees, diffs, session transcripts, steering, and a terminal pane.
Hearth is not the agent. Agents such as Raven own tools, sandboxes, and model providers. Hearth starts them, streams events, and records chats.
One-line install (Linux, prebuilt binary — no build, no root):
curl -fsSL https://raw.githubusercontent.com/raythurman2386/hearth/main/scripts/install.sh | shThis installs hearth into ~/.local/bin. Then:
hearth # headed UI
hearth headless # engine onlyMake sure ~/.local/bin is on your PATH. The background engine service is
opt-in: hearth daemon install (see docs/configuration.md).
Build from source is a contributor path — see docs/contributing.md. Agents need their own model endpoints (for example local Ollama for Raven).
Data directory: ~/.hearth (override with HEARTH_DATA_DIR).
hearth # UI (embeds engine or attaches to HEARTH_IPC_PORT)
hearth headless # engine daemon
hearth status # workspace / auth / engine snapshot
hearth sync # sync room introspection (only useful if sync is enabled)
hearth login|logout # opt into / out of sync for the next engine start
hearth daemon … # install/start/stop user service for headless
hearth update # apply release update (--check to report only)
hearth release publish # on the hub: publish GitHub/local artifacts to /releasesThere is no hearth -p / hearth --mode one-shot interface. For agent CLI flags, use the agent itself (for example raven --mode agent -p "…").
- Install Raven so
ravenis on PATH (or setRAVEN_EXECUTABLE). - Run
hearth, pick harness Raven, set Mode to Agent when you want full tools (Raven’s default is plan, which is read-only until approval). - Send prompts from the composer. Models are live-probed from Raven’s ACP config (provider-qualified ids).
Details: docs/usage.md, docs/harnesses.md.
| Doc | Contents |
|---|---|
| docs/README.md | Doc index |
| docs/usage.md | Day-to-day UI workflows and modes |
| docs/configuration.md | Env vars, data dir, daemon, sync opt-in |
| docs/harnesses.md | Agent matrix and install notes |
| docs/troubleshooting.md | Common failures |
| docs/contributing.md | Build and layout for contributors |
| docs/testing.md | How to run tests |
| docs/security.md | Threat model (honest scope) |
| ARCHITECTURE.md | Engine / UI / optional edge topology |
Sync is off by default. This fork syncs over Tailscale instead of WorkOS + Cloudflare: the tailnet is the trust boundary, and an always-on host (typically minis) serves the chat2/registry rooms.
To opt in, set HEARTH_TAILNET_HOST to the hub's MagicDNS name (see docs/configuration.md). A bare install never dials out.
Fork of Zeron by the zeronsh maintainers (zeronsh/comet). This fork renames the product to Hearth, adds Raven as a first-class ACP harness, ports the Ravenwood theme, defaults to local-only operation, and drops mobile/web apps and cloud-centric CI from the default path.
Licensed under the MIT License.