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:

  1. Knowledge ingestion
  2. Knowledge promotion
  3. Conflict adjudication
  4. 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:

  1. The Master Agent is prioritized to be assigned to Hermes; if not detected, it is assigned to the deployment Agent.
  2. The index mode is local machine.
  3. The knowledge promotion mode is human-confirmed review.
  4. 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

  1. Install the plugin in DSH:
dsh plugin --profile web add dsh-unified-agent-memory
  1. After installation, call memory_status to check the plugin status.

  2. 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:

  1. The plugin runs with the permissions of the current dsh process; you should check the source code, dependencies, and license before installing.
  2. The license is MIT, Node >= 20, and the Python core requires Python 3.9+ and only uses the standard library.
  3. The semantic vector layer is an optional capability; if enabled, the API key is stored in ~/.unified-memory/secrets.yaml with permissions 0600 / user ACL, and fails silently if necessary.
  4. Forgetting/decay is a reversible archive and does not delete data.
  5. 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