Persistent memory, recoverable state, and context that stays relevant — in one SDK that runs locally.
// User preference changes over time Before: "User prefers TypeScript" Update: "User prefers Rust" db0: ✓ supersedes old fact ✓ preserves audit history ✓ excludes stale fact from search // Vector search alone returns whichever // embedding scores higher — often wrong.
The pieces exist. Solving them separately is the problem.
Primitives that work together. One SDK to wire them.
db0 plugs into agent frameworks through their native extension points. One install, zero rewiring.
OpenClaw compacts aggressively to stay within token limits. That's the right engineering tradeoff — but it means important facts get discarded along with the noise.
db0's OpenClaw plugin ingests context before compaction. Facts are extracted, scoped, and stored durably. When OpenClaw compresses, the knowledge survives.
// db0 registers as a context engine const { db0 } = require("@db0-ai/openclaw") api.registerContextEngine( "db0", () => db0() ) // assemble(), ingest(), compact(), // bootstrap() — all handled.
import { db0 } from "@db0-ai/core" import { createSqliteBackend } from "@db0-ai/backends-sqlite" const backend = await createSqliteBackend() const harness = db0.harness({ agentId: "main", sessionId: "session-abc", userId: "user-123", backend, }) // auto-detects Gemini, Ollama, OpenAI, or hash
Integrations sit on top. The core SDK handles memory, state, and context. Storage backends are swappable — start with SQLite locally, switch to Postgres when you need sync.
Your next agent ships with memory, state, and recovery built in. Use the core SDK or pick an integration.
New releases, straight to your inbox