Skip to content
@Dakera-AI

Dakera AI

AI AGENT MEMORY PLATFORM

Dakera: self-hosted memory for AI agents

Long-term memory for AI agents, on your own hardware.

One self-hosted engine for storing and recalling what your agents learn: hybrid vector, full-text and graph recall,
embeddings and reranking built in, on CPU, with no LLM call at recall time.

Release v0.12.0 Documentation LoCoMo 88.2% Recall@20 PyPI npm SDKs MIT

Website  ·  Docs  ·  Quickstart  ·  Benchmark  ·  What's new in v0.12.0


What Dakera is

Dakera is a self-hosted memory engine for AI agents. Agents store what they learn and recall it later by meaning, keyword, time and relationship, across sessions and across agents.

It ships as one container image with its models inside: embeddings, a cross-encoder reranker and entity extraction run locally on CPU. Recall never calls an LLM, so cost and latency stay predictable, and your data never leaves your infrastructure.

Under the hood: HNSW and IVF vector indexes, BM25 full text, a knowledge graph, sessions, namespaces and decay-weighted importance, served over REST, gRPC and MCP.


Why Dakera

Multilingual

bge-m3 embeddings, full-text stemming and stop words per language, CJK bigrams, and dates understood in seven query languages, with a per-request lang.

Multimodal

File attachments per agent, speech to text that turns audio into memories, and visual search over document pages. Each is opt-in, with one variable.

Multi-vector records and late interaction

Records keep one indexed vector plus named token and patch multivectors. Late interaction (colbert-small) reranks with per-token MaxSim.

Measured performance

Vector search 0.87 ms p50 / 1.17 ms p95 at recall@10 0.998. Index memory per vector −43 %. Memory after reranking 7.6× lower (4.98 → 0.65 GB), reranking about 2× faster on the same CPU, ingest 2.7× faster. The whole multimodal stack fits in ~530 MiB, no GPU.

Security hardening

API keys on REST and gRPC, authenticated cluster traffic, AES-256-GCM encryption at rest with values bound to their record, and a replicated keyring rotated one namespace at a time.

One-command rollback

v0.11.108 upgrades in place. dakera downgrade converts a stopped deployment's data back, and refuses, changing nothing, when it cannot do so safely.

Clustering and tiered storage

Versioned replication that merges instead of overwriting, a durable outbox, and filesystem, S3 or tiered hot / warm / cold storage that survives S3 outages.

Built for operators

Live and ready health checks while models load, a --check-config dry run before a rollout, Prometheus metrics, alert rules and a Grafana dashboard.

CPU-only figures, v0.12.0 compared with v0.11.108 on the same machine: vector search and index memory on BEIR Quora, 50k 1024-d vectors; reranking with bge-reranker-v2-m3 at top_k 16 in a 4 vCPU / 8 GiB container; multimodal stack = working memory with every model loaded. Details in the release notes.


Quickstart

1. Run the server. A fresh install with authentication on needs a root API key. The image ships its default models, so it starts without a download.

export DAKERA_API_KEY="dk-$(openssl rand -hex 16)"

docker run -d --name dakera -p 3000:3000 \
  -v dakera-data:/data \
  -v dakera-models:/app/models \
  -e DAKERA_ROOT_API_KEY="$DAKERA_API_KEY" \
  -e DAKERA_STORAGE=filesystem \
  ghcr.io/dakera-ai/dakera:0.12.0

curl -s http://localhost:3000/health/ready   # 200 once the models are loaded

2. Store a memory, then recall it.

curl -s http://localhost:3000/v1/memory/store \
  -H "Authorization: Bearer $DAKERA_API_KEY" -H "Content-Type: application/json" \
  -d '{"agent_id": "my-agent", "importance": 0.8,
       "content": "The user prefers concise answers with code examples"}'

curl -s http://localhost:3000/v1/memory/recall \
  -H "Authorization: Bearer $DAKERA_API_KEY" -H "Content-Type: application/json" \
  -d '{"agent_id": "my-agent", "query": "How does the user like answers?", "top_k": 5}'
Python  pip install dakera
import os
from dakera import DakeraClient

client = DakeraClient(base_url="http://localhost:3000", api_key=os.environ["DAKERA_API_KEY"])

client.store_memory(
    agent_id="my-agent",
    content="The user prefers concise answers with code examples",
    importance=0.8,
    tags=["preference"],
)

response = client.recall(agent_id="my-agent", query="How does the user like answers?", top_k=5)
for memory in response.memories:
    print(f"{memory.score:.2f}  {memory.content}")
TypeScript  npm install @dakera-ai/dakera
import { DakeraClient } from '@dakera-ai/dakera';

const client = new DakeraClient({ baseUrl: 'http://localhost:3000', apiKey: process.env.DAKERA_API_KEY });

await client.storeMemory('my-agent', {
  content: 'The user prefers concise answers with code examples',
  importance: 0.8,
  tags: ['preference'],
});

const { memories } = await client.recall('my-agent', 'How does the user like answers?', { top_k: 5 });
memories.forEach((m) => console.log(m.score.toFixed(2), m.content));

The snippets use the released SDKs (dakera 0.12.12 on PyPI, @dakera-ai/dakera 0.11.106 on npm), which cover these calls on a v0.12.0 server. Client releases with the v0.12 additions are coming. Pin an image version in production; :latest tracks the newest release.


Benchmark

88.2% Recall@20

LoCoMo recall benchmark · LLM-judged retrieval recall
86.9%
Cat1
85.4%
Cat2
73.9%
Cat3
91.0%
Cat4

Recall@20 on the LoCoMo evaluation set — 10 conversations, 1,536 evaluated questions (adversarial category excluded), no LLM in the retrieval path. Dakera v0.11.107.

Methodology and results: dakera.ai/benchmark


Ecosystem

The Dakera server is distributed as a container image, ghcr.io/dakera-ai/dakera. Everything else below is open source.

RepositoryInstall
SDKs
dakera-py  Pythonpip install dakera
dakera-js  TypeScript / JavaScriptnpm install @dakera-ai/dakera
dakera-go  Gogo get github.com/dakera-ai/dakera-go
dakera-rs  Rustcargo add dakera-client
Framework integrations
dakera-langchain  LangChainpip install langchain-dakera
dakera-langchain-js  LangChain.jsnpm install @dakera-ai/langchain
dakera-llamaindex  LlamaIndexpip install llamaindex-dakera
dakera-crewai  CrewAIpip install crewai-dakera
dakera-autogen  AutoGenpip install autogen-dakera
dakera-ai-sdk  Vercel AI SDKnpm install @dakera-ai/ai-sdk
strands-dakera  Strands Agentspip install strands-dakera
Tools
dakera-mcp  MCP servernpx @dakera-ai/dakera-mcp
dakera-cli  CLI, dkbrew install dakera-ai/tap/dk
homebrew-tap · apt-repo · rpm-repoHomebrew, apt and dnf packages for dk
Deployment
dakera-deploy  Compose and KubernetesCompose profiles, HA cluster, manifests, monitoring
dakera-helm  Helm chartOCI chart on ghcr.io, also on Artifact Hub

Deploy

Docker

One container with its models inside, as in the quickstart. Starts air-gapped and on read-only file systems.

Docker Compose

Single node with MinIO, a three-node HA cluster behind Traefik, and a Prometheus and Grafana stack: dakera-deploy.

Kubernetes

The Helm chart from oci://ghcr.io or Artifact Hub, with probes and a model cache: dakera-helm.

# Docker Compose: Dakera with MinIO object storage
git clone https://github.com/Dakera-AI/dakera-deploy && cd dakera-deploy/docker
cp .env.example .env          # set DAKERA_ROOT_API_KEY and the MinIO credentials
docker compose up -d

# Kubernetes: the Helm chart
helm install dakera oci://ghcr.io/dakera-ai/dakera-helm/dakera \
  --namespace dakera --create-namespace \
  --set dakera.rootApiKey="$DAKERA_API_KEY" \
  --set minio.rootPassword="<password>"

Configuration, clustering, storage backends and air-gapped installs: deployment docs.


Docs and learning

Documentationv0.12.0, the latest release. The v0.11 docs stay available as an archive.
What's new in v0.12.0The release announcement.
Upgrade from v0.11.108What changes on the first start, what to check, and how to go back.
Concepts · API referenceMemories, agents, namespaces and sessions; every route.
PlaygroundTry store and recall in the browser.

Community and support


Licence

The SDKs, framework integrations, CLI and MCP server are MIT licensed (strands-dakera is Apache-2.0); check each repository. The Dakera server is proprietary and is distributed as a container image with no usage fees.

The server sends product telemetry, never memory content, unless you turn it off with DAKERA_TELEMETRY=0 or DO_NOT_TRACK=1. What it sends is listed in the telemetry docs.


dakera.ai  ·  Docs  ·  Benchmark  ·  LinkedIn
ذاكرة · dhākira · Arabic for memory

Popular repositories Loading

  1. dakera-deploy dakera-deploy Public

    Self-hosted Dakera AI memory server — Docker Compose, Kubernetes, Helm, HA cluster setup, and monitoring.

    JavaScript 18 1

  2. dakera-cli dakera-cli Public

    dk — CLI for Dakera self-hosted AI agent memory. Manage memories, namespaces, vectors, knowledge graphs, and sessions.

    Rust 8 1

  3. dakera-mcp dakera-mcp Public

    Self-hosted MCP server for AI agent memory — 14 core tools, profile-based tiering (86+ available). 88.2% LoCoMo. Works with Claude, Cursor, Windsurf.

    Rust 8 1

  4. dakera-go dakera-go Public

    Go SDK for Dakera AI agent memory — self-hosted, 88.2% LoCoMo. Vectors, hybrid search, knowledge graphs, sessions.

    Go 7

  5. dakera-py dakera-py Public

    Python SDK for Dakera AI agent memory — self-hosted, 88.2% LoCoMo. Vectors, hybrid search, knowledge graphs, sessions.

    Python 6

  6. dakera-rs dakera-rs Public

    Rust SDK for Dakera AI agent memory — self-hosted, 88.2% LoCoMo. HTTP/gRPC, vectors, hybrid search, knowledge graphs, sessions.

    Rust 5

Repositories

Showing 10 of 19 repositories
  • dakera-py Public

    Python SDK for Dakera AI agent memory — self-hosted, 88.2% LoCoMo. Vectors, hybrid search, knowledge graphs, sessions.

    Dakera-AI/dakera-py's past year of commit activity
    Python 6 0 0 2 Updated Oct 2, 2026
  • dakera-ai-sdk Public

    Vercel AI SDK integration for Dakera AI memory — persistent cross-session memory via middleware and tools

    Dakera-AI/dakera-ai-sdk's past year of commit activity
    TypeScript 1 MIT 0 0 5 Updated Oct 1, 2026
  • dakera-langchain-js Public

    LangChain.js integration for Dakera AI memory — dakera.ai

    Dakera-AI/dakera-langchain-js's past year of commit activity
    TypeScript 1 MIT 0 0 3 Updated Oct 1, 2026
  • strands-dakera Public

    Persistent, decay-weighted memory for Strands Agents — self-hosted, backed by Dakera.

    Dakera-AI/strands-dakera's past year of commit activity
    Python 0 Apache-2.0 0 0 0 Updated Oct 1, 2026
  • dakera-crewai Public

    CrewAI integration for Dakera AI memory — dakera.ai

    Dakera-AI/dakera-crewai's past year of commit activity
    Python 1 0 0 0 Updated Oct 1, 2026
  • dakera-autogen Public

    AutoGen integration for Dakera AI memory — dakera.ai

    Dakera-AI/dakera-autogen's past year of commit activity
    Python 1 0 0 0 Updated Oct 1, 2026
  • dakera-llamaindex Public

    LlamaIndex integration for Dakera AI memory — dakera.ai

    Dakera-AI/dakera-llamaindex's past year of commit activity
    Python 1 0 0 0 Updated Oct 1, 2026
  • dakera-langchain Public

    LangChain integration for Dakera AI memory — dakera.ai

    Dakera-AI/dakera-langchain's past year of commit activity
    Python 1 0 0 0 Updated Oct 1, 2026
  • dakera-mcp Public

    Self-hosted MCP server for AI agent memory — 14 core tools, profile-based tiering (86+ available). 88.2% LoCoMo. Works with Claude, Cursor, Windsurf.

    Dakera-AI/dakera-mcp's past year of commit activity
    Rust 8 1 2 1 Updated Oct 1, 2026
  • homebrew-tap Public

    Homebrew tap for Dakera AI tools

    Dakera-AI/homebrew-tap's past year of commit activity
    Ruby 0 0 0 0 Updated Oct 1, 2026

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…