rivethub

Quickstart

One command. Everything local.

This is the laptop install: the hub, the agent runtime, and the desktop app on one machine. When it finishes, your tools are recording and your node is answering at https://localhost:5174.

Point your agent at https://rivethub.io/llms.txt to set RivetHub up. This page is the manual quickstart.

What you get

Everything on one machine.

  1. The runtime and database, bundled. PGlite runs the memory engine inside the install — no separate Postgres to set up.
  2. HTTPS out of the box. The installer creates a local certificate authority and serves your node on port 5174.
  3. Your tools, connected. Supported tools found on your machine get memory capture and recall wired in automatically.
  4. The desktop app on Linux. It installs, launches, and finds your node on localhost by itself. On macOS the browser is the app for now — the desktop app is on the way.
  5. A clear finish line. The installer ends by printing your node’s address and what to do next.

Requirements

Linux or macOS · Node.js 22+ (the installer can install it for you) · about 1 GB of RAM for the memory engine · 200 MB of disk to start.

Install

Run one command.

on your laptop
$ curl -fsSL https://get.rivethub.io/local.sh | bash

This is the stable laptop installer: pinned to exact release checksums, and short enough to read before you run it. How releases work →

It prints its progress and the tools it connected as it goes. When it’s done, open your node at https://localhost:5174 — or open the desktop app, which finds it automatically.

Add the apps · latest stable

Desktop for Linux

AppImage · latest stable v0.5.23
123.2 MB

Desktop for Windows

Installer · latest stable v0.5.23
96.2 MB

Android

APK · latest stable v0.5.24
2.5 MB

macOS: use the browser for now · iPhone: no app yet · All downloads and checksums →

What it connects

Works with your agent tools.

For each of these it finds on your machine, the installer adds two things: capture, which records sessions to your hub, and recall, which lets the tool search that history before it answers. How each one records depends on the tool:

Supported tools, with capture and recall wired in at install time
Agent toolCaptureRecallHow it records
Claude Code Yes YesHooks in the session itself — prompts, tool calls, and completions. The reference integration.
Grok Build Yes YesGrok’s hooks signal each session event; the recorder parses the session log.
Codex Yes YesA small watcher follows Codex’s session files and records new turns as they land.
Kimi Code Yes YesHooks plus a content-hash backfill, so nothing gets recorded twice.
Hermes Yes YesAn in-harness Python provider streams turns to your hub in the background.

Recording and recall work across every tool in the table. Deeper controls in the apps — interrupts, approvals, model pickers — vary by tool today; Claude Code is the reference, and parity across the set is active work. The integration bundles live in integrations/ in the RivetOS repo.

Your phone

Check in from your phone.

Pairing starts in Settings → Devices on the desktop or web app, which shows a QR code the Android app scans.

Get the apps →
Pair from Settings, DevicesA desktop device screen with an illustrative QR code connects to a phone. Use the real QR in your desktop app.Settings → DevicesPairedyour node
Illustration only — use the QR shown in your own desktop app.
Android

Scan the enrollment QR.

  1. Install the RivetHub Android app.
  2. On the desktop or web app, open Settings → Devices and mint an enrollment. A QR code is shown.
  3. In the Android app, open Settings → Node & Mesh → Scan from desktop and scan that QR. Away from home, turn on Tailscale first.
Not yet

iPhone

No iPhone app yet: the QR from Settings → Devices pairs with the RivetHub Android app.

How memory works

Recorded for you. Searchable by your tools.

Capture saves as you work

Every prompt, tool call, and result from a connected tool is written to your hub as it happens. The record stays on your machine.

Recall brings it back

Inside a session, a connected tool can search the hub for earlier work and answer with it — a new session no longer means a blank slate. Full-text and fuzzy search work immediately. For semantic search, re-run with --memory full and any OpenAI-compatible embedding endpoint; that endpoint processes what you embed, so choose where it runs.

Add another machine

Grow into a mesh when you’re ready.

Your laptop install is a complete hub on its own. Before another machine can enroll into it, the laptop needs the hub helper — local mode doesn’t install it by default, so run through the datahub guide on the laptop first. Then, on the new machine:

on the next machine
$ curl -fsSL https://get.rivethub.io/node.sh | sudo bash -s -- --hub user@192.0.2.10

Replace user with your SSH login on the laptop and 192.0.2.10 with its address. The node guide covers requirements and day-two commands.

Everyday commands

Day-to-day commands.

Check the local node

terminal
$ rivetos local status

Back up your local setup

Stop the node first — the backup can’t dump a running database.

terminal
$ rivetos local backup

Reset local mode

Back up before resetting your local setup.

terminal
$ rivetos local reset

Uninstall

Back up first, then check the installed CLI’s local help for its uninstall instructions. Remove the desktop app through your operating system.

terminal
$ rivetos local --help

Troubleshooting

If something sticks.

Node not running

Memory capture pauses while the local node is stopped. Run rivetos local status to check it, and bring the node back up before continuing.

Port 5174 is busy

Check which application is using port 5174. Stop that application if it is safe to do so, then retry local setup.

A tool you added later isn’t capturing

Connections are wired at install time. If you installed an agent tool after setting up RivetHub, run the local installer again so it can connect the new tool.