Skip to main content

Give your agent memory and knowledge. One file, three lines, no server, no API key. v0.1 in active development.

Project description

rmbr

Give your agent memory and knowledge. One file, three lines, no server, no API key.

rmbr ("remember", vowels deleted) is an embedded, local-first memory + retrieval engine for AI agents and LLM apps — what SQLite is to Postgres, rmbr aims to be to hosted memory services.

⚠️ Status: pre-release, under active development. The design is finalized (see docs/PLAN.md and docs/ARCHITECTURE.md); implementation of v0.1 is in progress. Nothing below is installable yet.

Why

Agents need two things constantly: memory (remember things across sessions) and retrieval (look up relevant knowledge mid-task). Today that means signing up for a hosted memory service or assembling a vector database + embedding API + framework glue. rmbr is the embedded alternative:

  • One file. Your agent's entire memory and knowledge base is a single .db file. Commit it to git, ship it in an installer, scp it to a server, hand it to a teammate.
  • Three lines. pip install rmbr, import, remember. No account, no config, no service.
  • No server. Runs inside your process, like SQLite.
  • No API key. Embeddings run locally via a small ONNX model by default. Nothing phones home, ever. Cloud embedding providers (OpenAI/Voyage/Cohere) are strictly opt-in.
  • Works with every LLM. rmbr never calls an LLM — it returns relevant text, you feed it to Claude, GPT, Gemini, or a local model. Zero model lock-in by construction.

Planned API (v0.1)

from rmbr import Memory, Index, Policy, serve_mcp

# Agent memory — the headline
mem = Memory("agents.db", namespace="researcher")
mem.remember("user prefers dark mode and short answers")
mem.recall("user preferences")                      # relevant memories, fast

# Multi-agent access control — deny-by-default
policy = Policy()
policy.allow("supervisor", read="*")                # supervisor sees all lanes
mem = Memory("agents.db", namespace="coder", policy=policy)

# Knowledge / RAG — same engine
idx = Index("agents.db")
idx.add_files("docs/")
hits = idx.search("how do I deploy?", k=5)          # hybrid BM25 + vector search
hits[0].text, hits[0].score, hits.timings           # per-stage latency, always visible

# Expose memory to external agents (Claude Code, Cursor, any MCP client)
serve_mcp("agents.db", namespace="coder", read_only=True)

Library-only by design — no CLI to learn. (python -m rmbr exists solely so MCP clients can launch the server.)

Multi-agent isolation, honestly stated

  • Namespaces keep agents' memories separate and are enforced on every call — but they are organizational, not cryptographic. Any code with access to the file can open the file. That's true of every embedded database; we say it out loud.
  • Hard isolation = separate .db files per trust boundary, plus OS file permissions.
  • MCP serving is namespace-pinned: the exposed tools have no namespace parameter, so an external agent structurally cannot query outside its lane.

Performance claims policy

This README will never contain a performance number that isn't produced by bench/run.py — reproducible by anyone, recall pinned, against named competitors on identical hardware. Until those runs are published, we make no speed claims, only design commitments: local embeddings (no network round trip), content-hash embedding cache (never embed the same text twice), semantic query cache, and in-RAM HNSW vector search.

Roadmap

  • v0.1Memory + Policy + Index (hybrid search), embedding + semantic caches, MCP support, 3-OS CI (Linux/Windows/macOS), benchmark harness vs Chroma and LanceDB
  • Later — async API surface expansion, more chunkers, additional embedding providers

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rmbr-0.0.1.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rmbr-0.0.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file rmbr-0.0.1.tar.gz.

File metadata

  • Download URL: rmbr-0.0.1.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.3

File hashes

Hashes for rmbr-0.0.1.tar.gz
Algorithm Hash digest
SHA256 dc890f846dfb54615e1f63c688a0f96466e89c48affdda15c9e7fb637ebbd2d7
MD5 6014f9d06d98a1a3d89ca04772c52d89
BLAKE2b-256 442ed711cb67ed72294e372e4fd615f17d5a7c0a7cc825b7469bdafb0cc97725

See more details on using hashes here.

File details

Details for the file rmbr-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: rmbr-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.3

File hashes

Hashes for rmbr-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7329354acbb595e6bf3cbe7bfc24cd123f36ca8a93f6c743d9aa10daecd87261
MD5 7e311f66357083e4d9bf58a6d1ed9664
BLAKE2b-256 acb3be4df2e1e5ae9e70008319eaf5260b3c907fbecc4172549eb2951d92c2d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page