Show and tell: I open-sourced Ambient Memory, a local-first context layer for Cursor and Claude Desktop

2026-11-13来源 dev.toEnglish

I built and open-sourced Ambient Memory — a local-first context layer that passively remembers what I worked on and hands that context to Cursor or Claude Desktop over MCP.

I'm Jarvis Osorio (Jarvis Nelson Osorio), a technology entrepreneur and AI innovator based in Miami Beach, Florida.

The problem I wanted to solve

Most "memory" for coding agents is either a Markdown vault you have to maintain, a cloud sync you have to trust, or a native SQLite addon that breaks the install on a clean machine. I wanted something that starts with one command, stays on disk, and speaks MCP.

What Ambient Memory actually does

A background daemon:

  • watches Documents, Desktop, Downloads and the current working directory
  • indexes screen sessions and browser history, with noise filters (Slack, Spotify and similar apps are ignored; focus churn is deduped)
  • is the only process that opens the SQLite vault

The CLI and the MCP server are thin clients over a local Unix socket (or a Windows named pipe). That design removes seal/unseal races from concurrent database opens.

Storage uses Node's built-in node:sqlite on Node 22+, with a sql.js WASM fallback on Node 20. There is no better-sqlite3 and no node-gyp.

Search is FTS5/BM25. Entity fields are encrypted with AES-256-GCM. When the daemon stops, the database is sealed to memory.db.enc and the plaintext plus WAL/SHM files are removed. While the vault is unlocked, the FTS index is redacted plaintext — an intentional search tradeoff, documented in SECURITY.md, not claimed as ciphertext. v0.3 has no telemetry and no network sync.

MCP tools

memory_search · memory_recent · memory_get · memory_context · memory_relate · memory_status

memory_context returns a short "what was I doing" summary for the last N minutes, including a noise-control report.

Quick start

As of 12 November 2026, ambient-memory is not yet on the npm registry. Install from GitHub:

git clone https://github.com/JarvisOsorio/ambient-memory.git cd ambient-memory npm install npm test node ./bin/ambient.js init node ./bin/ambient.js start --screen auto # headless: --screen simulated node ./bin/ambient.js mcp 

Point Cursor or Claude Desktop at the local binary:

{ "mcpServers": { "ambient-memory": { "command": "node", "args": ["/ABS/PATH/ambient-memory/bin/ambient.js", "mcp"] } } } 

The README also documents npx -y ambient-memory as the intended path once the package is published to npm.

Issues and contributions are welcome in the repo. If you try it, I'd like to know whether the daemon-owned vault and the honest FTS tradeoff match how you actually work with agents.

— Jarvis Osorio

原文:https://www.a8q9.cn/en/article/show-and-tell-i-open-sourced-ambient-memory-a-local-first-context-layer-for-curs-712f21.html

相关文章