A plain install keeps memory on that machine. If you use agents on more than one machine, pick one as the home: it holds the memory. Every other machine is a node: its agents capture locally and read and write the home's memory, so what you did on your laptop is there on your desktop.
The machines need to reach each other on a private network (for example Tailscale or your LAN). The home never listens on a public address.
On the machine that will hold the memory, install Centri, then start the home server on its private address:
curl -fsSL https://centri.superabundancelabs.com/install.sh | sh
centri install --serve --listen 100.64.0.10:6800
Use that machine's own private IP and any free port. It runs as a user service (systemd on Linux, a LaunchAgent on macOS).
centri node add laptop --token-out "$HOME/laptop.token"
Copy that file to the node privately (for example with scp) and run chmod 600 laptop.token there. Never paste the token into a command. One credential per node.
On a machine without Centri yet, download the installer and join instead of a plain install:
curl -fsSL https://centri.superabundancelabs.com/install.sh -o install.sh
CENTRI_CAPTURE_TIMER=0 sh install.sh # installs the centri command
centri uninstall --keep-runtime # drop the local-only wiring; keeps memory and the centri command
centri install --join http://100.64.0.10:6800 --token-file ./laptop.token --name laptop
This checks the credential, wires each supported agent (Claude Code, Codex, Copilot, Cursor, OpenCode, Pi) to the home and captures every minute. Then, on the home, run the cleanup command node add printed.
centri node leave on a node disconnects it and restores its previous setup. Nothing is deleted: memory already written stays on the home, and the node keeps its local copy.