From e02aeecf995951233d91b2e2f7f08be7556ba5f7 Mon Sep 17 00:00:00 2001 From: teknium1 <127238744+teknium1@users.noreply.github.com> Date: Sat, 10 Oct 2026 16:23:25 -0700 Subject: [PATCH] chore(catalog): merge-side review chores for qdrant-memory (sweep 1011) --- plugin-catalog/qdrant-memory.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugin-catalog/qdrant-memory.yaml b/plugin-catalog/qdrant-memory.yaml index 043a527604..3557fca8d2 100644 --- a/plugin-catalog/qdrant-memory.yaml +++ b/plugin-catalog/qdrant-memory.yaml @@ -1,11 +1,12 @@ name: qdrant-memory repo: https://github.com/cnkang/hermes-plugin-qdrant-memory sha: 5ec9cac094e5e9dc80e1cd25b241bcec44019d5b -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; 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, and embedding vectors go to the configured embedding service (default local Ollama; a remote service can be configured). Disclosure — extraction sends conversation text to the LLM configured in Hermes, which may be a remote provider; a fully local setup is possible with embedded Qdrant plus a local model, and a remote LLM otherwise. Disclosure — configuration lives in the Hermes config (memory.provider); state lives under /qdrant-memory/ (embedded store data, SQLite WAL ledger and lock files). Disclosure — single-writer design: embedded mode takes an ownership lock, 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." +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; 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 keyed endpoints must use HTTPS). 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)." maintainer: cnkang tier: community category: memory requires_hermes: ">=0.21.5" +version: "0.1.0" docs_url: https://github.com/cnkang/hermes-plugin-qdrant-memory#readme readme: true known_issues: