Bryan-cmf
dsh-vector-memory
DSH-Plugin: durable agent memory core - mem_save/mem_search/mem_health backed by storageDomain (survives restarts), 記憶 view tab.
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
🧠 Vector Memory — DSH-Plugin
可持久化的 Agent 記憶核心——
mem_save/mem_search/mem_health,跨 session、跨重啟,零外部依賴。
A DeepSeek Harness plugin
that gives your agents durable, cross-session memory — the same
mem_save / mem_search contract as the original
Bryan-cmf/vector-memory MCP
server, but natively on DSH.
Why a native rewrite (and what changed)
The 2026 memory landscape made self-hosting a Qdrant + BGE-m3 stack a commodity (Zep / Mem0 / Letta / LangMem all offer managed embeddings + graph memory). This package keeps the agent-facing contract and drops the infrastructure:
| Aspect | Old (MCP server) | This plugin |
|---|---|---|
| Storage | Qdrant (Docker) + BGE-m3 (~2GB) | DSH storageDomain — durable JSON backend, zero setup |
| Retrieval | Vector similarity | v1: deterministic keyword scoring + recency; embeddings pluggable in v2 |
| Interface | MCP stdio (Claude/Cursor/…) | Native tools (mem_save / mem_search / mem_health) + vectorMemory service |
| Persistence | Manual install script | Bundle row — it just works |
Tools
| Tool | Effect |
|---|---|
mem_save | { content, tags?, ttlDays? } → durable memory, returns id |
mem_search | { query, limit? } → ranked hits (score, content, tags, created) |
mem_health | record count, expired count, domain status, TTL policy |
Other plugins can inject: ['vectorMemory'] and call save / search /
health directly.
Dashboard
The client half registers a 「記憶」view tab (order 30, right of chat / 軌跡 / 觀測) listing this session's saved/searched items live.
Install
"dsh": { "profile": { "bundles": ["@bryan-cmf/dsh-vector-memory"] } }
⚠️ This row publishes the
vectorMemoryservice — it must live in the host composition (process-global). If you mount it from an agent preset instead, wrap it in a group with anisolaterealm (see the DSH composition docs).
Requirements
- DSH
>= 0.1.0-rc.6— services:tools,storageDomain(domain layer + a storage backend, e.g.dsh-storage-json, are part of the shippeddsh-basebundle)
Configuration
| Key | Default | Meaning |
|---|---|---|
ttlDays | 90 | Default memory TTL; 0 = forever |
maxResults | 10 | Default mem_search result count |
Roadmap
- v2: pluggable embedding backends (hosted embedders or Qdrant REST)
- v2: MCP stdio dual-exit so the same store serves Claude Desktop / Cursor
- v2: memory curation (merge/dedupe/forget jobs)
Development
pnpm install --store-dir .pnpm-store
pnpm build
License
MIT