Introduction¶
In DSH and multi-Agent workflows, a common problem is that dsh, Codex, Claude Code, and Hermes each generate memory, isolated from one another; when developers want to inspect, correct, or reuse the accumulated facts, they lack a storage layer that is directly editable and manually reviewable.
unified-agent-memory addresses this by providing a shared Obsidian Vault memory repository and using a local SQLite FTS5 index for retrieval. Below is an introduction to its positioning, core capabilities, installation method, and typical usage.
What is this¶
unified-agent-memory is a DSH plugin maintained by Noelune. The npm package name is dsh-unified-agent-memory, the repository name is unified-agent-memory, and the license is MIT.
It provides a shared Obsidian Vault memory repository for Agent runtimes such as dsh, Codex, Claude Code, and Hermes. The Python core requires Python 3.9+ and uses only the standard library; specific core dependencies from the standard library modules include sqlite3, json, hashlib, argparse, and os.
The DSH side environment requires Node >= 20 and declares the following peerDependencies:
@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-tools ^0.1.0-rc.6
The plugin provides these tools in DSH:
memory_search
memory_show
memory_submit
memory_status
Core Features¶
Shared Vault and Local Index¶
The plugin provides a shared Obsidian Vault memory repository for dsh, Codex, Claude Code, and Hermes. The SQLite FTS5 local full-text index file is located at:
~/.unified-memory/index-<vault-hash>.db
This way, multiple Agents can submit, retrieve, and reuse facts based on the same Markdown knowledge repository, while developers can directly use a text editor to review the content.
Knowledge Lifecycle Management¶
The plugin supports knowledge lifecycle management, covering:
- Knowledge ingestion
- Knowledge promotion
- Conflict adjudication
- Decay forgetting
Among them, forgetting/decay is a reversible archive and does not delete data. The forgetting score uses:
importance × (floor_persistence + time_decay) + access_reinforcement
Retrieval Capabilities¶
Basic retrieval is provided via memory_search. Hybrid retrieval can be executed:
memory search --hybrid
Hybrid retrieval fuses BM25, semantic vectors, and concept graphs; it can fall back to pure BM25 when vectors are unavailable.
Optional Semantic Vector Layer¶
The semantic vector layer is an optional capability:
memory embed
This capability uses SiliconFlow’s Qwen/Qwen3-Embedding-4B and stores vectors locally in SQLite.
Session Auto-Digest¶
Session auto-digest uses:
memory digest
This capability is enabled by default. It can be executed idempotently by date cursor, can use --dry-run to preview, or use --off to disable.
Versioned Supersession¶
When new facts supersede old facts, the plugin moves the old facts into a “Superseded” section and marks them as superseded. During retrieval, only the latest version is returned.
Secure Output and Credential Masking¶
The plugin provides prompt isolation protection and credential masking. Retrieval output is wrapped with <memory-data> tags to distinguish data context from system instructions.
DSH Auto-Deployment¶
The plugin provides a DSH auto-deployment process. It can write to rule files such as AGENTS.md / CLAUDE.md and execute selfcheck.
The default deployment decisions are as follows:
- The Master Agent is prioritized to be assigned to Hermes; if not detected, it is assigned to the deployment Agent.
- The index mode is
local machine. - The knowledge promotion mode is
human-confirmed review. - Automatically connects to dsh / Codex / Claude / Hermes.
Non-DSH environments can trigger deployment via the Prompt in docs/AGENT-DEPLOY-PROMPT.md.
Installation and Enabling¶
- Install the plugin in DSH:
dsh plugin --profile web add dsh-unified-agent-memory
-
After installation, call
memory_statusto check the plugin status. -
If manual initialization of the Python core is needed, follow these steps:
git clone https://github.com/Noelune/unified-agent-memory.git
cd unified-agent-memory
pip install -e ./core
python setup/setup.py init --vault ~/Documents/AgentMemory
Clone the repository and install the Python core first, then initialize the specified Vault directory.
Typical Usage¶
Submit and Retrieve Facts¶
Submit a fact:
memory submit "staging 服务器环境绑定在 127.0.0.1:8080" --agent alpha
Retrieve this fact:
memory search "staging 服务器"
Promotion and Adjudication¶
Generate a list of items to promote:
python -m unified_memory.promoter --review
Apply promotion results:
python -m unified_memory.promoter --apply
First run --review to check the content to be promoted, then run --apply to apply the promotion.
Hybrid Retrieval and Vector Layer¶
Use hybrid retrieval:
memory search --hybrid
Enable the optional semantic vector layer:
memory embed
Session Auto-Digest¶
Preview session digest results:
memory digest --dry-run
Turn off session auto-digest:
memory digest --off
Forgetting Archive¶
Execute forgetting archive:
python -m unified_memory.forgetter --apply
This operation is a reversible archive and does not delete the original content.
Applicable Scenarios and Notes¶
Suitable for DSH users who need multiple Agents to share memory and want knowledge to be manually reviewable. Especially multi-Agent scenarios using dsh, Codex, Claude Code, and Hermes simultaneously.
Usage notes:
- The plugin runs with the permissions of the current dsh process; you should check the source code, dependencies, and license before installing.
- The license is MIT, Node >= 20, and the Python core requires Python 3.9+ and only uses the standard library.
- The semantic vector layer is an optional capability; if enabled, the API key is stored in
~/.unified-memory/secrets.yamlwith permissions 0600 / user ACL, and fails silently if necessary. - Forgetting/decay is a reversible archive and does not delete data.
- The DSH plugin ecosystem emphasizes pluggability; the community directory belongs to an independent site and should not be understood as DeepSeek or Hypersphere’s official app store.
Conclusion¶
unified-agent-memory provides a shared Obsidian Vault, local SQLite FTS5 retrieval, and knowledge lifecycle management covering ingestion, promotion, adjudication, and forgetting. It is suitable for DSH workflows that need to unify the memories of multiple Agents into a reviewable repository.
GitHub:
https://github.com/Noelune/unified-agent-memory
Directory page (URL in project clues):
https://www.skillhub.cn/plugins/Noelune/unified-agent-memory