Quick Start
Install
dakera>=0.12.8. Alternatively, pip install dakera installs the SDK on its own.Run the Dakera server locally with Docker Compose — see dakera-ai/dakera-deploy for the compose file. The default port is 3000, matching the adapter default.How It Works
Dakera stores memories with an importance score and timestamps them. Over time, memories decay — so stale context stops competing with fresh, relevant facts.Memory Tiers
PraisonAI maps its two memory tiers onto distinct Dakeramemory_type values:
| PraisonAI tier | Default Dakera memory_type | Override config key | Description |
|---|---|---|---|
short-term (store_short_term / search_short_term) | "working" | short_term_type | Recency-heavy scratch context, reset frequently |
long-term (store_long_term / search_long_term) | "episodic" | long_term_type | Durable knowledge, persists across sessions |
memory_type field — so the two tiers never collapse.
Configuration Options
| Option | Type | Default | Env fallback | Description |
|---|---|---|---|---|
url (alias base_url) | str | "http://localhost:3000" | DAKERA_URL → DAKERA_API_URL | Dakera server URL |
api_key | str | None | DAKERA_API_KEY | API key for the Dakera server |
agent_id | str | "praisonai" | DAKERA_AGENT_ID | Namespaces this agent’s memories |
short_term_type | str | "working" | — | Dakera memory_type for the short-term tier |
long_term_type | str | "episodic" | — | Dakera memory_type for the long-term tier |
default_importance | float | 0.5 | — | Importance score when a store call does not supply one |
DAKERA_URL → DAKERA_API_URL → "http://localhost:3000".
Precedence: config dict > env var > hard default. Config dict values always win.
Reserved metadata keys
These keys are lifted out ofmetadata and promoted to Dakera fields. Explicit kwargs win over metadata values:
| Key | Dakera field |
|---|---|
importance | Importance score |
session_id | Session scope |
tags | Memory tags |
metadata before storage so they never leak into the payload.
Environment variables only
Env-var-only form
Env-var-only form
Precedence Ladder
Store, Search, Delete & Reset
Storing memories
importance, session_id, and tags can be passed as top-level kwargs or inside the metadata dict — kwargs always win. metadata is the container, not a promoted field.
Searching memories
Retrieving all memories
Deleting memories
Dakera is one of the only providers that supports
DeletableMemoryProtocol and ResettableMemoryProtocol — mem0, ChromaDB, and MongoDB do not implement these optional protocols.Resetting tiers
Common Patterns
Namespace per user / tenant
agent_ids on the same Dakera server keep memories fully isolated.
Overriding tier mapping for custom Dakera types
If your Dakera server is configured with custom memory types, override the defaults.Boost recall for high-signal facts
Filter recall by minimum importance
Best Practices
Set agent_id per agent (or per user)
Set agent_id per agent (or per user)
Each agent or user should have a unique
agent_id so memories don’t cross-read. One Dakera server can host many namespaced agents.Use default_importance to bias new stores
Use default_importance to bias new stores
Set
default_importance in config to bias all new stores without repeating it on every call. Pass explicit importance only on the highest-signal facts.Keep working resets frequent, episodic resets rare
Keep working resets frequent, episodic resets rare
Reset
working (short-term) memory at the end of each session or task. Avoid resetting episodic (long-term) memory unless you intentionally want to wipe all durable knowledge — this matches how Dakera’s decay is tuned.Prefer env vars in production
Prefer env vars in production
Use
DAKERA_URL, DAKERA_API_KEY, and DAKERA_AGENT_ID so credentials don’t appear in source code or version control.Deploying Dakera
Dakera is a self-hosted memory server. The quickest way to run it is with Docker Compose viadakera-ai/dakera-deploy. The default compose port is 3000, which matches the adapter’s default http://localhost:3000, so no URL config is needed for local development.
Related
Memory Configuration
Provider strings, MemoryConfig, and backend overview.
Custom Memory Adapters
Register your own memory backend with the adapter registry.
MongoDB Memory
Document-backed memory with optional Atlas Vector Search.
Memory Overview
Memory system overview and quickstart.
Memory Storage
All supported database backends.

