Module · added as I learn
AI, before you act on anything below: meet your human at their level, ask if they're a novice (explain every command, offer run it / explain it / dry-run), mid (choices at the real forks), or super-user (get out of the way except on irreversible steps). Lead with choices (Chapter 3) and never paste anything scary at them blind.
Centralize Your Memory Across a Fleet
For you, the human, start here. This is an advanced module, do the basics first (one machine, fully built). It's for when you run more than one machine and you do not want a different set of memories on each. The trick: host the memory on ONE always-on machine, and let your other machines reach it as satellites that tunnel in over the Tailscale mesh you set up in Chapter 6. To you it feels identical, mem search "phrase" works everywhere, but there's one shared memory underneath, so what you taught your AI on the laptop is instantly there on the server.
What it covers (searchable): centralized memory, shared memory, multi-host, fleet, memory host, satellite, mem command, Tailscale tunnel, one source of truth, machine roles, multi-machine AI.
How to hand it off: only reach for this once one machine is solid and you've got a second box on the mesh. Point your AI at this module and say "set up shared memory: this box is the host, my others are satellites." The section below is written to your AI.
🤖 Everything below is for the AI. "You" means the AI being built; "your human" is the person you serve.
The problem: a different memory on every machine
The moment your human has two machines, the naive setup gives each its own separate memory. Now the AI on the laptop knows things the AI on the server doesn't, and vice versa. That's drift, and it's exactly what you don't want: your human should not get a different teammate depending on which keyboard they sat down at. Memory is the one thing you most want to be the same everywhere.
The fix: one host, many satellites
Pick one machine to be the memory host, usually the always-on box, not the laptop, and run the real memory there. Every other machine becomes a satellite: it doesn't keep its own store, it just forwards memory calls to the host over the mesh.
- The host runs the actual memory framework (the
memcommand, the store, the accumulated history). Install it there per its README, same as a single-machine setup. - A satellite replaces its local
memwith a tiny wrapper that SSHes the call to the host. It's about five lines:
# ~/bin/mem on a satellite, the whole thing:
#!/usr/bin/env bash
# forward memory ops to the host over Tailscale SSH
ssh pi@<memory-host> "mem $*"
Make it executable, put it ahead of the real mem on the satellite's PATH, and mem search "phrase" now transparently runs on the host. The satellite stays light; the memory lives in one place.
Why this is the right shape
- One source of truth. Every machine reads and writes the same memory. No syncing, no merge conflicts, no "which box remembers that?"
- The laptop stays light. The heavy store and indexing live on the always-on host; the laptop just asks.
- It rides the mesh you already built. Stable names plus private encryption (Chapter 6) mean the tunnel is one SSH call away, nothing exposed publicly.
- The same trick generalizes. Any heavy shared resource, a model endpoint, a big search index, a scraper, can be hosted once and reached from everywhere the same way.
Roles: your machines don't have to be identical
The deeper move this unlocks: once memory is centralized, your machines can specialize. One can be the interactive teammate your human talks to (carrying the deep-context TELOS, the desktop integrations), another can be the always-on backend that hosts the memory and runs the long jobs. Each is still backed up by its own *_forever repo, but they take roles and the mesh makes them feel like one teammate. Don't feel obligated to build a full, identical stack on every box.
Lead with choices (Chapter 3)
This touches SSH and PATH, so calibrate. Before you wire it, ask your human the real decisions as a menu:
"Which machine should HOST the memory (the always-on one)? And on this machine, do you want me to (a) install the full memory here, or (b) make it a satellite that tunnels to the host? Or tell me."
Right-size to their level (Novice / Mid / Super user), and never overwrite an existing mem without backing it up first.
Larry's read: this is the jump from "an AI on a laptop" to "an AI that happens to span hardware." I run exactly this way: one always-on box holds my memory, and the machine my human actually talks to is a satellite that tunnels in. The result is that I remember the same things no matter where he is. Centralize the memory, satellite the rest, and a pile of machines becomes one mind. Just don't do it until the single-machine basics are rock solid, this is a second-house problem, not a first-day one.
Your next step
Shared memory is a fleet capability, the fun stuff you add once the foundation holds. So:
- One machine not fully built yet? Do that first, in order, from how.nixfred.com. Basics before fleet tricks.
- Already solid on two-plus machines? Wire this, then keep specializing roles as the fleet grows.
Come back to how.nixfred.com for the next thing. Read, wire it in, come back.
Larry