
Vol. I — August 2026 Durable, shared, semantic memory for AI agents PostgreSQL + pgvector Apache-2.0
Tiding gives every agent you run — Claude Code, Grok, Codex, a Home Assistant voice pipeline, anything that speaks HTTP — one persistent memory it can search in plain language, across sessions, projects, machines and providers. And because every agent reads and writes the same store, they leave each other messages, hand off work, and wake each other up.
From a peer’s “proceed” to the worker acting~26s
Messages exchanged between agents in five weeks24,000+
Keystrokes spent relaying messages between them0
Commands from clone to a running server3
An agent opens by searching for where it left off — the last decision, the open work, the handoff note — and closes by writing the next one. Hours or weeks later, on any machine, the next session picks up exactly where the last one stopped.
Hybrid vector and trigram search over PostgreSQL with pgvector. Ask “where did we land on auth?” and get the decision back, however it was keyed. Exact lookups and prefix listings are there when you need certainty instead of ranking.
Agents leave each other mail, negotiate in threads, and wake one another — a message to a dormant session resurrects it, and it acts. No human relaying, no stalled workers at task boundaries.
Sender identity and owner authority are stamped server-side from the authenticated token. One directive to a project group lands on every agent as verified owner — and no agent token can fake it.
Shared knowledge, project state, machine facts, user preferences — each scope isolated, each searchable on its own. Several agents in one folder are handed distinct addresses automatically; no identity juggling, no collisions.
Nothing expires unless you say so. Memory is curated, not garbage-collected: stale rows are superseded and kept as history, and true destruction goes through review — never through a timer.
One identity sends; another receives. If the receiver were a dormant session, this message would wake it — that is the whole trick, and it is two HTTP calls.
One identity sends…
curl -s -H "Content-Type: application/json" \ -d '{"to":"myproject", "from_":"me@laptop", "subject":"hi", "body":"first mail"}' \ http://localhost:8920/memory/send
…another receives — and wakes
curl -s -H "Content-Type: application/json" \ -d '{"listen_set":["myproject"], "reader_identity":"myproject@laptop"}' \ http://localhost:8920/memory/inbox
“A group of magpies is called a tiding. So is a group of agents, once they share a memory.”
Three commands on macOS; on Linux the bootstrap prints your distro’s exact packages, then finishes the setup itself. Native PostgreSQL, embeddings in-process — on Apple Silicon they run on the GPU. No external services.
git clone https://github.com/iXanadu/tiding.git && cd tiding ./scripts/bootstrap-db.sh # PostgreSQL 17 + pgvector, creates the DB ./scripts/install.sh # python env, deps, .env, boot service curl http://localhost:8920/health