OmniMemory
Memory persistence, recall, and semantic retrieval for the OmniNode platform. OmniMemory provides ONEX (OmniNode eXecution)-compliant nodes and handlers for storing agent context, indexing embeddings, querying intent graphs, and managing the full memory lifecycle across distributed omni agents.
Documentation
Every OmniMemory document lives in the OmniNode knowledge base, not in this repository. This README is the landing page and the full index; there are no docs/ pages here to read.
- OmniNode knowledge base — public documentation home.
Architecture
- ONEX Four-Node Architecture — the EFFECT / COMPUTE / REDUCER / ORCHESTRATOR archetypes applied to memory
- ARCH-002: Kafka Abstraction Rule — why nodes never speak to a broker directly
Reference
- Environment Variables — every setting, type, default and constraint
- Memory Data Ownership — which repository owns which storage service
- Runtime Plugin System — how
PluginMemorywires into the ONEX kernel - Handler Reuse Matrix — which
omnibase_infrahandler each memory node reuses
Guides
- PII Handling — detection, sanitization and storage-path integration
- Performance Testing — SLA targets, benchmarks and how to read them
- Market Migration Boundary — what moves to
omnimarketand what stays
Runbooks
- Starting OmniMemory Services — bringing the storage layer up, health checks, troubleshooting
Only this README, CLAUDE.md, CHANGELOG.md, LICENSE, SECURITY.md and the .claude/ and .github/ trees carry markdown in this repository. The kb-doc-gate required check runs in strict mode (see .kb-doc-gate.yaml) and fails any PR that reintroduces documentation here.
What This Repo Owns
- Domain models — memory, crawl, persona, intent, and intelligence Pydantic models in
src/omnimemory/models/ - Protocol interfaces —
ProtocolEmbeddingClient,ProtocolEmbeddingProvider,ProtocolIntentGraphAdapter,ProtocolSecretsProviderand the base protocols insrc/omnimemory/protocols/ - Storage adapters — Qdrant, Memgraph, Valkey and filesystem implementations in
handlers/adapters/andnodes/*/adapters/ - Runtime plugin —
PluginMemoryinsrc/omnimemory/runtime/, registered asonex.domain_plugins - Memory-layer data services — Qdrant, Memgraph, Valkey, Kreuzberg (owned via
docker-compose.yml) - Node handlers — contract-carrying nodes in
src/omnimemory/nodes/, migrating toomnimarket
Not owned here: Kafka/Redpanda and PostgreSQL (omnibase_infra), the ONEX kernel and contracts (omnibase_core), platform-boundary protocols (omnibase_spi), the post-migration node runtime (omnimarket), and dashboard read models (omnidash). See Memory Data Ownership for the full boundary table, and Market Migration Boundary for what is moving.
Quick Start
git clone https://github.com/OmniNode-ai/omnimemory.git
cd omnimemory
# Start platform infra first (Kafka + PostgreSQL — owned by omnibase_infra)
infra-up
# Start the memory data services (Qdrant 6333, Memgraph 7687, Valkey 6379, Kreuzberg 8090)
docker compose up -d
docker compose ps
# Install and run the fast test suite
uv sync --group dev
uv run pytest tests/ -m unit
Ports and every other setting are configurable — see Environment Variables. The full startup runbook, with health checks and troubleshooting, is Starting OmniMemory Services.
Development
uv run ruff format src/ tests/ && uv run ruff check --fix src/ tests/
uv run mypy src/omnimemory/ --strict
uv run pytest tests/ -v
pre-commit run --all-files
Repo invariants, enforced conventions and the pre-commit/pre-push split are in CLAUDE.md.
Security, Contributing, and License
Open an issue or email contact@omninode.ai.
Metadata
Release files for omninode-memory 0.18.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| omninode_memory-0.18.4.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| omninode_memory-0.18.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.9 MB
Release files / omninode_memory-0.18.4.tar.gz
| Download URL | omninode_memory-0.18.4.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8dd29bf991422abe96662e65fb95222e867a29579230c46032ca4d2525078b5c
|
|
BLAKE2b-256 checksum How to use checksums |
c777d0d99e8031354d7bbf025261ea7126ba10bfe77763065f41e1afe859f61b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / omninode_memory-0.18.4-py3-none-any.whl
| Download URL | omninode_memory-0.18.4-py3-none-any.whl |
|---|---|
| Size | 657.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
873d0ea4c45a8bc950200ee911cf0934fcb07000b867dafc1db9d0c8f58f83a4
|
|
BLAKE2b-256 checksum How to use checksums |
98f6eb73db8309bb0c87ef73be8f71956f9eee8ccc05ee4ccbfb08c043a8236e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|