The memory and storage engine for AI agents — from the edge to the cloud.
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Durable, queryable, access-guarded memory for AI agents that runs where the agent runs —
embedded on device, offline-capable, and syncing to a distributed server when connected.
Semantic, relational, episodic, and time-series memory in one engine, one process, with no
network hops between them.
Quickstart
·
Docs
·
Benchmarks
·
NodeDB-Lite
·
CLI
AI agents need memory: what they were told, how facts relate, what happened when, and what matters right now. The usual answer stitches a cloud vector store to a graph database to a document store — or dumps everything into a markdown file and hopes. NodeDB puts all of it in one engine that runs where the agent runs: the same engine embeds on a laptop, phone, or browser (NodeDB-Lite) and scales to a distributed cluster (NodeDB Origin), with CRDT sync between them.
It already powers **ma8e**, an in-development memory-and-knowledge layer for coding agents built entirely on embedded NodeDB — deterministic capture, hybrid retrieval, and access guards in one process with no network hop.
Why NodeDB
- **Memory that runs where the agent runs.** The same engines embed on device and in the browser (NodeDB-Lite, WASM), work offline, and sync conflict-free to the server (CRDT). A cloud vector store can't embed next to your agent; a markdown file isn't queryable or access-guarded.
- **All of an agent's memory in one query.** Vector search, graph traversal, full-text ranking, document storage, timeseries, and key-value share one storage core, one identity space, and one planner — so a query flows from semantic search into graph traversal filtered by full-text, in one process with no network hops. Multi-model is _how_ NodeDB does this; the point is the capability, not the label.
- **PostgreSQL wire protocol.** Connect with psql or any PostgreSQL client library. Standard SQL with engine-specific extensions where SQL can't express the operation.
- **One engine instead of a polyglot stack.** When you outgrow the edge, the same engine folds a server-side sprawl of separate systems into a single deployment — fewer services to run, no cross-system sync pipelines, no schema drift.
- **Serious about performance.** Thread-per-Core data plane with io_uring, SIMD-accelerated distance functions, zero-copy MessagePack transport, per-column compression (ALP, FastLanes, FSST, Gorilla). See benchmarks below.
Performance
**Timeseries ingest + query benchmark** — 10M rows, high-cardinality DNS telemetry (50K+ unique domain names). Single node, NVMe storage.
Ingest
| Engine | Rate | Time | Memory | Disk |
| ----------- | ------------ | ------------ | ---------- | ------------ |
| **NodeDB** | **93,450/s** | 107s | **120 MB** | 2,217 MB |
| TimescaleDB | 56,615/s | 177s | 963 MB | 2,802 MB |
| ClickHouse | 53,905/s | 186s | 1,035 MB | **1,647 MB** |
| InfluxDB | 22,715/s | 88s (2M cap) | 1,656 MB | 982 MB |
Queries (ms, best of 3)
| Query | NodeDB | ClickHouse | TimescaleDB | InfluxDB (2M) |
| -------------------------- | ------- | ---------- | ----------- | ------------- |
| COUNT(*) | ** = 5.1 (io_uring). Connect:
New here? Start with the Quickstart on the official documentation site: **nodedb.dev/docs**.
Deployment Modes
| Mode | Use case |
| ------------------- | ---------------------------------------------------------------------------- |
| **Origin (server)** | Full distributed database. Multi-Raft, io_uring, pgwire. Horizontal scaling. |
| **Origin (local)** | Same binary, single-node. No cluster overhead. |
| **NodeDB-Lite** | Embedded library for phones, browsers, desktops. CRDT sync to Origin. |
NodeDB-Lite
All eight engines as an embedded library. Linux, macOS, Windows, Android, iOS, and browser (WASM, experimental).
- **Lite only** -- local-first apps that don't need a server. Vector search, graph, FTS, documents, arrays, all in-process with sub-ms reads.