Dakera documentation
Dakera is a self-hosted memory engine for AI agents: one Rust server that stores agent memories and documents, embeds them on the machine it runs on, and recalls them with vector, full-text and hybrid search, ranking and a knowledge graph. It is served over REST (port 3000) and gRPC (port 50051), with SDKs for Python, TypeScript, Go and Rust, the dk CLI and an MCP server.
These pages document v0.12.3. Start with the Quick Start if you are new to Dakera, or with the upgrade guide if you run v0.11.108, v0.12.0, v0.12.1 or v0.12.2; the table below points to the page for each task.
rank_score that follows their order and neighborhood_mode places session context; event_time dates imported histories; ingest and reranked recall are faster; the images are signed and ship without curl (dakera healthcheck) (changelog →). v0.12.2 added key prefix patterns, in-place key edits and rotation grace, POST /v1/agents and idle session auto-end. v0.12.1 made DAKERA_CLUSTER_SECRET required on every cluster node. New in v0.12: opt-in multimodal memory (attachments, speech to text, image indexing, records), late interaction, multilingual search and RaBitQ; GET /v1/capabilities; gRPC authentication; enforced namespace quotas; and dakera downgrade to go back. What's new in v0.12 → · Upgrading to v0.12 → · Rolling back to v0.11 → · Looking for the previous release? v0.11 docs →Find the page for a task
| I want to… | Go to |
|---|---|
| Upgrade from v0.11.108, v0.12.0, v0.12.1 or v0.12.2 (or roll back) | Upgrading → · Rolling back → |
| See everything v0.12.0 introduces | What's new → · Release overview → |
| Search in several languages | Multilingual search → |
| Import PDFs, Word files, web pages and Markdown as citable memory | Document import → |
| Store audio and page images as memories | Multimodal memory → · Records & multi-vector → |
| Use late interaction, RaBitQ or rerank controls | Search & ranking → |
| Run models offline, in Docker or Kubernetes | Models & Docker → |
| Operate a deployment (health, backups, rollback) | Operations → |
| Operate a server from a web UI | Dashboard → |
| See the measured performance numbers | Performance → |
| Get Dakera running in 5 minutes | Quick Start → |
| Add memory to Claude Desktop, Code, or Cursor | MCP Server → |
| Integrate from Python | Python SDK → |
| Integrate from TypeScript / Node | TypeScript SDK → |
| Integrate from Go or Rust | Go SDK → · Rust SDK → |
| Use from the command line | CLI Reference → |
| See all configuration options | Configuration → |
| Deploy to production | Deployment → |
| Understand the retrieval pipeline | Architecture → |
| Security hardening for production | Security → |
| Multi-node clustering | High Availability → |
| Use with LangChain, CrewAI, LlamaIndex, or AutoGen | Integrations → |
What Dakera replaces
| Instead of running | Dakera provides |
|---|---|
| Qdrant · Pinecone · Weaviate | HNSW vector index with SIMD-accelerated distances, plus an opt-in RaBitQ search mode |
| Elasticsearch · OpenSearch | BM25 full-text search engine with per-namespace indexes |
| OpenAI / Cohere embeddings API | On-device ONNX inference (MiniLM, BGE, E5; opt-in bge-m3 multilingual and colbert-small late interaction) — zero API calls |
| Redis / Postgres memory layer | Decay-weighted agent memory with sessions, importance scoring, and 6 decay strategies |
| Neo4j knowledge graph | Memory graph with 4 edge types (related, shared entity, precedes, explicit link) and a cross-agent network |
| Mem0 / Zep memory services | Import and export in Mem0 and Zep formats (and JSONL, CSV) |
| Separate NER service | GLiNER zero-shot named entity extraction with multi-provider support |
Key capabilities
| Capability | Description |
|---|---|
| Hybrid Retrieval | Vector ANN and BM25 full-text combined (min-max or Reciprocal Rank Fusion), then cross-encoder reranking. HNSW search p50 0.87 ms on BEIR Quora 50k; see Performance. |
| On-device Inference | Embeddings (MiniLM, BGE, E5), reranking, and entity extraction via ONNX Runtime — zero external API calls. |
| Memory Decay | Six decay strategies. Per-type TTLs. Spaced repetition. Configurable half-life. |
| Knowledge Graphs | Memory graph with 4 edge types, BFS traversal, shortest paths and a cross-agent network. |
| HA Clustering | Gossip membership and leader election; every node holds a full copy and accepts writes, and versioned replication (hybrid logical clock, tombstones) converges all nodes. Details → |
| Multilingual Search | Opt-in bge-m3 embeddings, per-language full-text stemming and stop words, CJK bigram indexing, dates understood in seven query languages, and a per-request lang. Details → |
| Multimodal Memory | Opt-in attachments, speech to text, image-page indexing with visual recall, and multi-vector records. Every media job reserves its memory first. Details → |
| Late Interaction & RaBitQ | Opt-in per-token MaxSim reranking (colbert-small) and a RaBitQ search mode for latency. Details → |
| One-command Rollback | dakera downgrade converts a stopped deployment's data back to what v0.11.108 reads. Details → |
| Enterprise Security | AES-256-GCM encryption at rest with key rotation, scoped API keys, rate limiting, input validation against injection patterns, audit logging. |
| AutoPilot | Background deduplication and consolidation of low-importance memories. |
| MCP Native | 14 core tools (102 in total across profiles) for Claude Desktop, Claude Code, Cursor and Windsurf, with no code to write. Details → |
| Dual Protocol | REST API on port 3000 and gRPC API on port 50051. Both share the same engine, storage, and auth layers. |
| Query Classification | Each query is classified (keyword, semantic, hybrid, temporal, multi-hop) and routed to a matching retrieval strategy. Rule-based by default; an embedding-based classifier is opt-in (DAKERA_). |
| Session Management | Group memories by agent session, recall within one session, and end a session with a summary (written by you or generated by the server). |
| Entity Extraction | GLiNER zero-shot NER with a rule-based pre-pass (dates, URLs, UUIDs, emails, IPs). Other extraction providers (OpenAI, Anthropic, OpenRouter, Ollama) are configurable per namespace. |
| Backup & Recovery | Scheduled backups, compressed (zstd) or encrypted. Write-ahead log and snapshots. Import/export (Mem0, Zep, JSONL, CSV). |
| Cross-encoder Reranking | bge-reranker-v2-m3 ONNX model (shipped in the image) for relevance scoring. Applied after initial retrieval for higher-precision results. |
Packages
Every component of the current release train, with its install command. Versions come from the same data as the changelog.
| Component | Version | Released | Install | Links |
|---|---|---|---|---|
| Enginedakera | 0.12.3 |
docker pull ghcr.io/dakera-ai/dakera:0.12.3 |
Release notesGHCR | |
| Dashboarddakera-dashboard | 0.5.2 |
docker pull ghcr.io/dakera-ai/dakera-dashboard:0.5.2 |
Dashboard docsGHCR | |
| Helm chartdakera-helm | 0.12.3 |
helm install dakera oci://ghcr.io/dakera-ai/dakera-helm/dakera --version 0.12.3 |
GitHub releaseArtifact HubCHANGELOG | |
| Python SDKdakera | 0.14.1 |
pip install dakera==0.14.1 |
GitHub releasePyPICHANGELOG | |
| TypeScript SDK@dakera-ai/dakera | 0.12.3 |
npm install @dakera-ai/dakera@0.12.3 |
GitHub releasenpmCHANGELOG | |
| Go SDKgithub.com/dakera-ai/dakera-go | v0.12.3 |
go get github.com/dakera-ai/dakera-go@v0.12.3 |
GitHub releasepkg.go.devCHANGELOG | |
| Rust SDKdakera-client | 0.12.3 |
cargo add dakera-client@0.12.3 |
GitHub releasecrates.ioCHANGELOG | |
| CLIdakera-cli | 0.8.2 |
brew install dakera-ai/tap/dk |
GitHub releasecrates.ioCHANGELOG | |
| MCP server@dakera-ai/dakera-mcp | 0.12.3 |
npm install -g @dakera-ai/dakera-mcp@0.12.3 |
GitHub releasenpmCHANGELOG | |
| Framework integrations (released on their own schedule) | ||||
| langchain-dakeraPython 3.10+ | 0.3.0 |
— | pip install langchain-dakera |
PyPI |
| llamaindex-dakeraPython 3.10+ | 0.3.0 |
— | pip install llamaindex-dakera |
PyPI |
| crewai-dakeraPython 3.10+ | 0.3.0 |
— | pip install crewai-dakera |
PyPI |
| autogen-dakeraPython 3.10+ | 0.3.0 |
— | pip install autogen-dakera |
PyPI |
| strands-dakeraPython 3.10+ | 0.3.0 |
— | pip install strands-dakera |
PyPI |
| @dakera-ai/langchainNode.js 20+ | 0.3.0 |
— | npm install @dakera-ai/langchain |
npm |
| @dakera-ai/ai-sdkNode.js 20+ | 0.2.0 |
— | npm install @dakera-ai/ai-sdk |
npm |
DAKERA_TELEMETRY=0 or DO_NOT_TRACK=1. Details →Release artifacts
Where each released component is published.
- Dakera serverGHCR
- Dakera DashboardGHCR
- Helm chartArtifact HubGitHub releasesCHANGELOG
- Python SDKPyPIGitHub releasesCHANGELOG
- TypeScript SDKnpmGitHub releasesCHANGELOG
- Go SDKpkg.go.devGitHub releasesCHANGELOG
- Rust SDKcrates.ioGitHub releasesCHANGELOG
- CLI (dk)crates.ioGitHub releasesCHANGELOG
- MCP servernpmGitHub releasesCHANGELOG
- Deploy bundles (Docker Compose, Kubernetes)dakera-deploy releases