by dakera · v0.0.1
Persistent, decay-weighted memory for AI agents backed by a self-hosted Dakera server. Store facts and semantically recall them across sessions, so agents remember what matters without accumulating stale context.
This community listing does not yet include every recommended support, privacy, pricing, and permission disclosure. Review the available package permissions before installing.
Available inside your emploidai workspace after installation.
Available inside your emploidai workspace after installation.
Persistent, decay-weighted memory for Dify agents, backed by a self-hosted Dakera server.
Dakera is a self-hosted memory server that adds persistent, decay-weighted vector recall across sessions: memories are importance-scored and decay over time, so stale context stops competing with fresh, relevant facts. This plugin lets a Dify Agent, Chatflow, or Workflow store facts and recall them semantically in later runs.
| Tool | What it does | Endpoint |
|---|---|---|
| Store Memory | Persist a concise, self-contained fact for future recall. Optional importance (0–1), session scope, and tags. | POST /v1/memory/store |
| Recall Memory | Retrieve the most semantically relevant memories for a natural-language query, ranked by score. | POST /v1/memory/recall |
| Search Memory | Filtered browse/list over memories — optional text query plus tag, importance, and count filters. | POST /v1/memory/search |
| Get Memory | Fetch a single memory by its ID (content, importance, tags, metadata). | GET /v1/memory/get/{id} |
| Update Memory | Change an existing memory's content (re-embedded), importance, or tags by ID. | PUT /v1/memory/update/{id} |
| Forget Memory | Delete memories by ID, session, tags, or importance threshold. Requires a selector; deletion is permanent. | POST /v1/memory/forget |
Memories are namespaced by agent_id — use the same agent_id across tools to keep
each agent's (or user's) memories isolated. Recall is best for precise semantic retrieval;
Search is best for browsing/filtering/auditing what an agent remembers.
Dakera is self-hosted. The quickest path is the docker-compose in
dakera-ai/dakera-deploy, which starts the
server (image ghcr.io/dakera-ai/dakera) plus its object store. By default the API listens
on port 3000.
Provide two credentials when authorizing the tool:
http://localhost:3000.dk-... key if your server was started with
DAKERA_API_KEY. Leave empty for unauthenticated local development.The plugin validates the connection with a GET /health/live probe when you save credentials.
In an Agent app, add the tools you need (all six, or just Store + Recall). A typical loop:
"user's preferred programming language and coding conventions" (same agent_id you use
everywhere) to pull in relevant prior context."Alice prefers Rust over Python for backend services", importance = 0.9.Next session, recalling with the same agent_id surfaces that fact even though the
conversation is new.
Recall and Search return each memory's ID in their output, so an agent can act on a specific memory afterwards:
importance, replace
content) by its ID.Use Forget with a session_id, tags, or below_importance selector to prune a whole set at
once — it refuses to run without at least one selector, so it can't wipe an agent's namespace by
accident.
The plugin source lives alongside the packaged .difypkg in this directory. To run the tests:
pip install dify_plugin requests pytest
pytest -q # exercises all six tools + credential validation against an in-process mock
The tests/ directory is excluded from the packaged plugin via .difyignore.
Issues and questions: https://github.com/dakera-ai/dakera-py/issues