前言¶
在 DSH 和多 Agent 工作流里,一个常见问题是:dsh、Codex、Claude Code 与 Hermes 各自产生记忆,彼此隔离;开发者想检查、修正或复用沉淀下来的事实时,缺少一个可直接编辑、可人工审查的存储层。
unified-agent-memory 针对这一点提供一个共享 Obsidian Vault 记忆仓库,并用本地 SQLite FTS5 索引提供检索。下面介绍它的定位、核心能力、安装方式和典型用法。
这是什么¶
unified-agent-memory 是维护者 Noelune 提供的 DSH 插件。npm 包名为 dsh-unified-agent-memory,仓库名为 unified-agent-memory,许可证为 MIT。
它面向 dsh、Codex、Claude Code 与 Hermes 等 Agent 运行时,提供共享的 Obsidian Vault 记忆仓库。Python 核心要求 Python 3.9+,且仅使用标准库;具体核心依赖标准库模块包括 sqlite3、json、hashlib、argparse、os。
DSH 侧环境要求 Node >=20,并声明 peerDependencies:
@deepseek-ai/cordis ^4.0.1
@deepseek-ai/dsh-tools ^0.1.0-rc.6
插件在 DSH 中提供这些工具:
memory_search
memory_show
memory_submit
memory_status
核心功能¶
共享 Vault 与本地索引¶
该插件为 dsh、Codex、Claude Code 与 Hermes 提供共享的 Obsidian Vault 记忆仓库。SQLite FTS5 本地全文索引文件位于:
~/.unified-memory/index-<vault-hash>.db
这样,多个 Agent 可以围绕同一份 Markdown 知识仓库提交、检索和复用事实,同时开发者可以直接用文本编辑器审查内容。
知识生命周期管理¶
插件支持知识生命周期管理,覆盖:
1、知识摄取
2、知识晋升
3、冲突裁决
4、衰减遗忘
其中,遗忘/衰减为可逆归档,不删除。遗忘评分采用:
重要性 × (持久地板 + 时间衰减) + 访问强化
检索能力¶
基础检索通过 memory_search 提供。混合检索可执行:
memory search --hybrid
混合检索融合 BM25、语义向量与概念图谱;无向量时可回退纯 BM25。
可选语义向量层¶
语义向量层是可选能力:
memory embed
该能力使用 SiliconFlow Qwen/Qwen3-Embedding-4B,并在本地 SQLite 存储向量。
会话自动提炼¶
会话自动提炼使用:
memory digest
该能力默认开启,可按日期游标幂等执行,也可使用 --dry-run 预览,或使用 --off 关闭。
版本化取代¶
当新事实取代旧事实时,插件会把旧事实移入“已取代”小节,并标记 superseded。检索时只返回最新版本。
安全输出与凭据脱敏¶
插件提供提示词隔离防护与凭据脱敏。检索输出使用 <memory-data> 标记包装,用于区分数据上下文与系统指令。
DSH 自动部署¶
插件提供 DSH 自动部署流程,可写入 AGENTS.md / CLAUDE.md 等规则文件,并执行 selfcheck。
默认部署决策如下:
1、主控 Agent 优先分配给 Hermes,未检测到则分配给部署 Agent。
2、索引模式为 local machine。
3、知识晋升模式为 human-confirmed review。
4、自动连接 dsh / Codex / Claude / Hermes。
非 DSH 环境可通过 docs/AGENT-DEPLOY-PROMPT.md 中的 Prompt 触发部署。
安装与启用¶
1、在 DSH 中安装插件:
dsh plugin --profile web add dsh-unified-agent-memory
2、安装完成后,调用 memory_status 查看插件状态。
3、如果需要手动初始化 Python core,可按下面步骤操作:
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
先克隆仓库并安装 Python core,再初始化指定 Vault 目录。
典型用法¶
提交与检索事实¶
提交一条事实:
memory submit "staging 服务器环境绑定在 127.0.0.1:8080" --agent alpha
检索这条事实:
memory search "staging 服务器"
晋升与裁决¶
生成待晋升清单:
python -m unified_memory.promoter --review
应用晋升结果:
python -m unified_memory.promoter --apply
先做 --review 查看待晋升内容,再做 --apply 应用晋升。
混合检索与向量层¶
使用混合检索:
memory search --hybrid
启用可选语义向量层:
memory embed
会话自动提炼¶
预览会话提炼结果:
memory digest --dry-run
关闭会话自动提炼:
memory digest --off
遗忘归档¶
执行遗忘归档:
python -m unified_memory.forgetter --apply
该操作是可逆归档,不删除原始内容。
适用场景与注意¶
适合需要让多个 Agent 共享记忆、并且希望知识可人工审查的 DSH 使用者。尤其是同时使用 dsh、Codex、Claude Code 与 Hermes 的多 Agent 场景。
使用注意:
1、该插件以当前 dsh 进程权限运行;安装前应检查源码、依赖和许可证。
2、许可证为 MIT,Node >=20,Python 核心要求 Python 3.9+ 且仅使用标准库。
3、语义向量层为可选能力;若启用,API key 存于 ~/.unified-memory/secrets.yaml,权限为 0600 / 用户 ACL,失败时静默降级。
4、遗忘/衰减为可逆归档,不删除。
5、DSH 插件生态强调插件化;社区目录属于独立站点,不应理解为 DeepSeek 或幻方的官方应用商店。
结尾¶
unified-agent-memory 提供的是共享 Obsidian Vault、本地 SQLite FTS5 检索,以及覆盖摄取、晋升、裁决与遗忘的知识生命周期管理。适合需要把多个 Agent 的记忆统一到可审查仓库中的 DSH 工作流。
GitHub:
https://github.com/Noelune/unified-agent-memory
目录页(项目线索中的 URL):
https://www.skillhub.cn/plugins/Noelune/unified-agent-memory