AgentGem — Memory Sync

@agentgem/memory bridges external providers and local recall two ways — pull memories in, push scrubbed, consent-gated candidates out. Nothing leaves without approval.

@agentgem/memory · two-way sync bridge ① PULL — provider memories → recall index ② PUSH — scrubbed, consent-gated candidates out Memory providers external · your API key mem0 supermemory Local recall on your machine only recall index BM25/FTS5 · scrubbed turns proven-use outcomes artifact-outcomes.db pull (per-provider cursor) paginated · incremental normalize → upsert into the recall index build candidates scrub (default-deny) · dedupe by content-hash consent outbox review · approve · push per-candidate bookkeeping Consent gate (rose) is the only path out — the outbox never pushes a candidate you haven't approved, and records each push so a retry can't double-write.

Pull — providers into recall

  • • A per-provider cursor pulls memories incrementally (paginated)
  • • Each is normalized and upserted into the local recall index
  • • They become searchable alongside your own transcript turns

Push — consent-gated out

  • • Candidates are built from recall/sessions, then scrubbed default-deny
  • • Deduped by content-hash so the same fact isn't pushed twice
  • • Nothing leaves until you approve it in the outbox
  • • Each push is recorded per-candidate — a mid-batch retry can't double-write

Providers & scope

  • mem0 and supermemory adapters behind one registry
  • • Your API key; the secrets file is 0600
  • • Routes are local-only (gated on SERVE_CONSOLE) — never hosted