From 0d3887bd1e2e6accb32ca043944f50104fa2b2ef Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Thu, 5 Nov 2026 10:09:35 -0800 Subject: [PATCH] chore(catalog): review disclosure for qdrant-memory --- plugin-catalog/qdrant-memory.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin-catalog/qdrant-memory.yaml b/plugin-catalog/qdrant-memory.yaml index 47e0ac15ff..849fcdcb3b 100644 --- a/plugin-catalog/qdrant-memory.yaml +++ b/plugin-catalog/qdrant-memory.yaml @@ -1,7 +1,7 @@ name: qdrant-memory repo: https://github.com/cnkang/hermes-plugin-qdrant-memory sha: 6ddf7215479692e7882f3065885931f01908c0ac -description: "Durable native memory for Hermes with LLM fact extraction. Conversations are distilled by the Hermes-configured LLM into searchable memories — facts, preferences and decisions with deduplication and importance — instead of storing turns verbatim, and are kept in Qdrant (embedded, self-hosted Server, or Qdrant Cloud) with configurable embeddings (default: local Ollama qwen3-embedding:4b at 2560 dimensions). The plugin registers a native MemoryProvider plus four scoped tools: qdrant_memory_search, qdrant_memory_add, qdrant_memory_update and qdrant_memory_delete. A SQLite WAL admission ledger makes every write idempotent and replayable across restarts with fail-closed recovery; a restart-interrupted remote write stays retryable with the same request identifier, and a deterministic extraction failure is quarantined without stopping unrelated writers. Optional shared memory runs through one authenticated Owner over loopback or HTTPS MCP with provisioned device grants, fixed scopes and one writer per destination; the default stays private under a local ownership lock. scoped inventory, portable export and scope-aware deletion (list/export/delete-all with explicit single-agent vs all-agents semantics) ship in the same CLI, and `migrate mem0` imports existing Mem0 exports with resumable, verifiable runs. Disclosure — memory text is stored in the configured Qdrant store (embedded files under /qdrant-memory/qdrant by default, or the Server/Cloud URL you set), and memory text plus each turn's recall query are sent as plain text to the configured embedding endpoint (default local Ollama at http://127.0.0.1:11434; an OpenAI-compatible remote endpoint can be configured and must use HTTPS unless it is a loopback address). Disclosure — after each primary-agent turn, at session end and before context compression, conversation text goes to the LLM configured in Hermes through the Hermes plugin LLM facade (a provider/model override needs the plugin's Hermes trust grant) to extract facts and to compare near-duplicate memories; that LLM may be a remote provider. Disclosure — the provider is selected with memory.provider: qdrant-memory; its settings live in /qdrant-memory.json (0600, secrets stripped on save). QDRANT_URL, QDRANT_API_KEY and EMBEDDING_API_KEY are read through the Hermes secret scope, but an api_key written by hand into qdrant-memory.json takes precedence, and `migrate mem0` reads the source Qdrant endpoint and any api_key from /mem0.json or --source-config. Disclosure — state lives under /qdrant-memory/ (embedded store, SQLite WAL ledger, lock files); the ledger holds raw turn text and pre-compression transcripts until they are processed, and failed items until retried, then scrubs the bodies. Disclosure — single-writer design: a local ownership lock excludes a second writer to the same profile destination, and Server/Cloud deployments expect one active writer per scope. Disclosure — deletion removes records and fences pending operations, but is not a forensic secure erase (SQLite WAL pages and backups may retain content)." +description: "Durable native memory for Hermes with LLM fact extraction. Conversations are distilled by the Hermes-configured LLM into searchable memories — facts, preferences and decisions with deduplication and importance — instead of storing turns verbatim, and are kept in Qdrant (embedded, self-hosted Server, or Qdrant Cloud) with configurable embeddings (default: local Ollama qwen3-embedding:4b at 2560 dimensions). The plugin registers a native MemoryProvider plus four scoped tools: qdrant_memory_search, qdrant_memory_add, qdrant_memory_update and qdrant_memory_delete. A SQLite WAL admission ledger makes every write idempotent and replayable across restarts with fail-closed recovery; a restart-interrupted remote write stays retryable with the same request identifier, and a deterministic extraction failure is quarantined without stopping unrelated writers. Optional shared memory runs through one authenticated Owner over loopback or HTTPS MCP with provisioned device grants, fixed scopes and one writer per destination; the default stays private under a local ownership lock. scoped inventory, portable export and scope-aware deletion (list/export/delete-all with explicit single-agent vs all-agents semantics) ship in the same CLI, and `migrate mem0` imports existing Mem0 exports with resumable, verifiable runs. Disclosure — optional shared memory runs one authenticated Owner service (off by default, loopback or HTTPS MCP only, token-checked device grants with fixed scopes)." maintainer: cnkang tier: community category: memory