DSH HUB
HomePlugin StoreRankingsPublish Guide
Plugin source
Back to catalog

Noelune /

unified-agent-memory

Verified

Unified fleet-wide agent memory system for DeepSeek Harness — shared Obsidian Vault for dsh, Codex, Claude Code & Hermes with dependency-free Python FTS5 core.

★ 2 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@bba1f083

🧠 unified-agent-memory

Unified Fleet-Wide Agent Memory System for DeepSeek Harness & Multi-Agent Runtimes

跨 Agent 统一持久化记忆系统 — 基于 Obsidian Vault 存储规范与 SQLite FTS5 本地索引的知识生命周期管理基座

npm version License: MIT Python Stdlib Obsidian Native Search Engine

产品定位与问题定义 • 核心技术优势 • Obsidian 存储规范 • Agent 全流程自动部署 • 生命周期控制流 • 安全隔离与防护机制


📌 产品定位与问题定义

传统 Agent 记忆插件多数绑定于特定的 Agent 运行时(Single-Agent Scope),其存储空间与会话相互隔离,缺乏统一的状态持久化与跨代理知识共享能力。

unified-agent-memory 架构旨在为多 Agent 舰队提供统一的知识管理基座:它允许 dsh、Codex、Claude Code 与 Hermes 等多个独立代理共享基于 Markdown 规范的 Obsidian Vault 知识仓库,配合纯 Python 标准库核心与 SQLite FTS5 本地索引,构建涵盖知识摄取 (Ingestion)、知识晋升 (Promotion)、冲突裁决 (Adjudication) 与衰减遗忘 (Decay/Retention) 的全闭环生命周期管理系统。


🚀 核心技术优势

  • 统一单一真理来源 (Shared Source of Truth)
    全 Fleet 代理共享一致的 Markdown 知识库规范。开发者与用户可直接借助 Obsidian 等编辑器可视化审计、人工校验或修改代理积累的知识节点。
  • 纯 Python 标准库核心 (Zero-Dependency Engine)
    core/ 模块完全基于 Python 标准库(sqlite3, json, hashlib, argparse, os)实现,无外部依赖开销,具备毫秒级冷启动性能。
  • SQLite FTS5 本地全文索引 (Local-First High-Performance Search)
    检索索引持久化存储于本地 ~/.unified-memory/index-<vault-hash>.db,按 Vault 隔离;基于 SQLite FTS5 引擎实现毫秒级全文匹配与相关度计算,数据隐私完全归属于本地宿主机。
  • 提示词隔离防护与凭据脱敏 (Prompt Injection Defense & Redaction)
    检索输出强制采用 <memory-data> 安全隔离标记包装,明确提示 LLM 区分数据上下文与系统指令;知识摄取前自动对敏感凭据(API Keys/Tokens)执行掩码清洗。
  • 完整知识生命周期控制 (Full Lifecycle Pipeline)
    内置完整的状态流转机制:包含写收件箱暂存、Promoter 知识审核归纳、Adjudicator 冲突事实裁决、Atomic Lock 并发文件锁与 Forgetter 定期记忆衰减归档。

⚖️ 系统特性对比 (Feature Matrix)

特性维度 🧠 unified-agent-memory ❌ 单 Agent 存储插件 (dsh-mnemon 等) ❌ 外部向量桥接器 (sgme 等)
跨 Agent 共享粒度 全 Fleet 共享 (dsh/Codex/Claude/Hermes) 强绑定单一 Harness 运行时 依赖集中式向量数据库中转
核心组件依赖 纯 Python 标准库,无第三方依赖 依赖 Host 宿主插件环境 需要部署额外的数据库中间件
生命周期控制能力 包含 摄取/晋升/裁决/遗忘 全链路 通常仅具备 存储+召回 基础功能 仅实现向量空间映射
知识可视化与可介入性 Obsidian 原生 Markdown,人类直接可读 数据库黑盒 / 私有 JSON 格式 向量数据结构不可直观校验
安全审计与防护机制 标签隔离包装 + 凭据正则自动脱敏 依赖上层应用手工干预 易在向量库中泄露明文凭据

📂 Obsidian Vault 存储结构规范

系统自动在指定目录生成标准化 Obsidian Vault 存储层层级:

~/Documents/AgentMemory/
├── 00_Inbox/         # 代理提交的待审核临时知识节点 (Draft Notes)
├── 10_Canonical/     # 经 Promoter 归纳晋升的标准化主知识库 (Canonical Notes)
├── 20_Conflicts/     # 多代理矛盾事实等待裁决的队列 (Conflict Queue)
├── 99_Forget/        # 已衰减或废弃的历史知识归档区 (Archived Memories)
└── .vault_config.json # Vault 属性与索引配置文件

🏗️ 知识生命周期控制流

flowchart TD
    A[Agent 提交接口: memory_submit] --> B{凭据自动脱敏引擎}
    B -- 匹配 API Key / Token 模式 --> C[应用掩码清洗 REDACTED]
    B -- 校验通过 --> D[写入 00_Inbox/ 暂存区]
    
    D --> E[更新 SQLite FTS5 本地索引]
    D --> F[触发 Promoter 审核 Pipeline]
    
    F -- 事实无冲突 --> G[晋升至 10_Canonical/ 主知识库]
    F -- 存在矛盾记录 --> H[拦截入 20_Conflicts/ 待裁决队列]
    
    H --> I[Adjudicator 裁决机制]
    I --> G
    
    G --> J[Forgetter 记忆衰减 Cron]
    J -- 触发长期衰减条件 --> K[归档至 99_Forget/ 归档区]

🤖 Agent 全流程自动部署流程 (Agent-Driven Automated Deployment)

将多 Agent 接入统一记忆系统涉及跨代理配置文件(AGENTS.md / CLAUDE.md 等)的规则注入与校验。根据项目原生架构设计,部署工作完全由 AI Agent (DSH) 主导并自动执行,无需手动修改环境规则文件。

flowchart LR
    A[挂载 dsh 记忆插件] --> B[DSH 识别首次安装通知]
    B --> C[读取任务书 docs/AGENT-DEPLOY.md]
    C --> D[环境检测、安装 Core 与 Vault 模版初始化]
    D --> E[自主装配各 Agent 指令文件 AGENTS.md / CLAUDE.md]
    E --> F[执行 selfcheck 并汇报部署决策]

1. DSH 自主部署流程 (官方推荐机制)

  1. 挂载插件:在 DSH 环境中执行插件添加:
    dsh plugin --profile web add dsh-unified-agent-memory
    
  2. 状态感知:在接下来的 DSH 会话中调用 memory_status。全新安装状态下,系统将自动输出部署提示并引导定位至 docs/AGENT-DEPLOY.md。
  3. 全自动装配执行:由 DSH 自主读取部署任务指南并按顺序完成:
    • 检查并初始化 Obsidian Vault 存储目录与 SQLite FTS5 索引。
    • 安装 Python 核心 Engine 包。
    • 自动将统一记忆规则写入每个已感知的 Agent 配置文件中(包含 ~/.dsh/AGENTS.md、~/.codex/AGENTS.md、~/.claude/CLAUDE.md 及 Hermes 规则文件)。
    • 规则注入具备幂等性防护与自动备份机制,装配完成后自动触发 selfcheck 进行校验。

部署决策决策表 (Agent 自动裁定)

部署任务书中已完备封装决策矩阵,DSH 在无人工干预下可根据环境自主判定:

# 部署决策项 (Decision Item) 默认裁定策略 (Default Strategy)
1 主控 Agent (Main Agent) 归属(负责每日晋升 Cron 调度) 优先分配给 Hermes,若未检测到则分配给部署 Agent
2 索引模式 (Indexing Mode) 默认采用本地宿主机模式 (local machine)
3 知识晋升模式 (Promotion Mode) 默认采用人工确认模式 (human-confirmed review)
4 连接 Agent 范围 (Connected Fleet) 自动扫描并连接所有已感知的代理(dsh / Codex / Claude / Hermes)

非 DSH 环境部署:对于通用 AI 编码代理,只需复制 docs/AGENT-DEPLOY-PROMPT.md 中的 Prompt 发送给 Agent 即可触发全自动部署。


💻 命令行快速体验 (Manual Quick Start)

# 1. 克隆仓库并安装 Core
git clone https://github.com/Noelune/unified-agent-memory.git && cd unified-agent-memory
pip install -e ./core

# 2. 初始化 Vault 模版结构
python setup/setup.py init --vault ~/Documents/AgentMemory

# 3. 提交与检索知识测试
memory submit "staging 服务器环境绑定在 127.0.0.1:8080" --agent alpha
memory search "staging 服务器"

# 4. 执行 Promoter 归纳与应用
python -m unified_memory.promoter --review
python -m unified_memory.promoter --apply

完整指南:docs/DEPLOY.md · 系统架构:docs/ARCHITECTURE.md · 安全文档:docs/SECURITY.md


🚫 没有 Hermes / 任何 Agent 运行时怎么办?(Standalone — no Hermes required)

核心完全不依赖 Hermes 或任何 Agent 运行时——vault、inbox、promoter、forgetter、SQLite FTS5 索引都是纯 Python 标准库,直接当命令行工具用即可:

# 一个完整的"人肉"工作流,无需任何 agent:
python setup/setup.py init --vault ~/Documents/AgentMemory   # 1. 初始化 vault
memory submit "the build server is at 127.0.0.1:8080" --agent you   # 2. 写一条事实
memory search "build server"                                # 3. 检索(FTS5 本地索引)
python -m unified_memory.promoter --review                   # 4. 生成待晋升清单
python -m unified_memory.promoter --apply                    # 5. 晋升进 canonical
python -m unified_memory.forgetter --apply                   # 6. 定期衰减遗忘(可选)

对接你自己的运行时(不一定是 Hermes)只需要三件事:

  1. 写:调 memory submit(或 dsh 插件的 memory_submit)。
  2. 定期晋升(需要 Agent 参与,不是裸脚本):在你部署环境里指定一个带调度/定时功能的 Agent(dsh、Codex、Claude Code、Hermes 中任一)负责每日晋升——由它运行 python -m unified_memory.promoter --review 先审核待晋升清单、adjudicate 裁决冲突、再 --apply 晋升,并做错过补跑。只有当部署里完全没有带调度能力的 Agent 时,才退回用系统 cron 跑 daily_cron.py 脚本兜底。
  3. 读/注入:参考 integrations/hermes/README.md 的 hook 草图,把 memory search / memory show 的输出包进 <memory-data> 注入到你的系统提示——那个模式适用于任何 Python 运行时。

Hermes 集成(integrations/hermes/)只是"其中一个 Agent 接进来"的可选示例,不是前提条件。详细说明见 docs/DEPLOY.md 的 Full mode 章节。


📂 仓库目录结构 (Repository Layout)

路径 功能说明
core/ 零第三方依赖 Python 包:包含 memory.py (初始化/检索/查看/提交), promoter.py (审核/应用/裁决), forgetter.py (衰减归档), conflict.py (冲突判定)
vault-template/ 即用型 Obsidian Vault 模版:包含 7 份标准化 Canonical 笔记、00_Inbox 提交区、情境信息与记忆遗忘区
lib/ dsh 插件核心:提供 memory_search / memory_show / memory_submit / memory_status 工具接口
integrations/ 提供 AGENTS.md (Codex), CLAUDE.md (Claude) 与 Hermes Hook 集成示例
setup/ 部署与自检脚本 setup.py (init/cron/selfcheck) 与 selfcheck.py
docs/ ARCHITECTURE (系统架构), DEPLOY (部署指南), SECURITY (安全规范)

🔧 环境要求 (Requirements)

  • Python ≥ 3.10 (核心 Engine,仅需 Python 标准库)
  • Node.js ≥ 20 + dsh 0.1.0-rc.6 (仅 dsh 插件需要)
  • 推荐使用 Obsidian 浏览和查看 Vault 知识库,但非强制要求 — 所有文件均为标准 Markdown 与 SQLite 数据库。

📌 维护状态 (Maintenance Status)

  • Maintainer: Noelune
  • Community-maintained — 欢迎提交 Issue 与 Pull Request。缺陷修复通常在 1–2 周内处理,安全问题优先解决。
  • Compatibility: 基于 dsh 0.1.0-rc.6 进行测试验证。上游 API 变更说明记录于 CHANGELOG.md。
  • License: MIT License — 允许商业化使用。

🛡️ 安全规范 (Security)

详细说明请参阅 docs/SECURITY.md。

  • 存储隔离:Vault 内部存储的所有内容均被视为纯文本数据(Data),绝不可直接作为推理指令执行。
  • 凭据保护:敏感凭据在进入 Vault 存储前必须经过脱敏过滤,默认索引数据库仅在本地宿主机进行持久化。
  • 审核机制:知识晋升过程默认采用人工确认模式,结合原子文件锁与原子写入确保并发控制安全。

🤝 贡献指南 (Contributing)

欢迎提交 Pull Request。提交前请确保运行核心测试套件(python -m unittest discover -s core/tests)。项目的 CI 流程会在每次 Push 时自动执行测试、代码密钥扫描(gitleaks)与开源许可证合规检查。

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

APIPublish GuideAbout
—/ 5

No ratings yet

Verified DSH bundle

Commit bba1f0838de3

Community comments

No comments yet. Be the first to write one.