返回

文章详情

通用记忆协议 - 一个共享的代理记忆格式

Hacker News2026年6月6日 20:39

代理可以调用工具(MCP)并相互交流(A2A)。但他们无法在会话、代理和供应商之间携带记忆。每个工具都私下且不可移植地重新发明记忆。UMP 解决了这个问题。简单来说,您已经在代理文件、Claude/Codex 项目笔记、Recall 导出、Obsidian 文件夹、Postgres、Redis、SQLite 和向量数据库中分散了有用的记忆。UMP 将这些记忆转换为一种可移植的记忆形状和一组小的操作集,以便新代理和新存储可以扩展相同的记忆,而无需重新开始。工具 - MCP 模型上下文协议标准化了代理调用函数和读取资源的方式。协调 - A2A 代理与代理标准化了代理如何发现和调用彼此。记忆 - UMP 通用记忆协议标准化了代理如何记忆 - 跨会话、代理和供应商的可移植知识。当您希望立即获取代理记忆时,请使用 MCP 服务器。当您构建一个记忆感知的应用程序或代理运行时时,请使用 TypeScript SDK。当客户端是 Python、Go、Swift、浏览器或任何其他可以发送 JSON 的东西时,请使用 HTTP。// MCP 主机配置:Claude Code、Codex、Cursor 或任何 MCP 客户端。{ "mcpServers" : { "ump" : { "command" : " npx " , "args" : [ " -y " , " @universalmemoryprotocol/core " , " ump-memory " ] } } }导入 { JsonFileStore, UmpServer, generateKeyPair, } 从 " @universalmemoryprotocol/core " ; const key = generateKeyPair (); const store = await JsonFileStore . open ( " .ump/memory.ump.json " ); const ump = new UmpServer ( { name: " my-agent " , version: " 1.0.0 " , conformance: " L2 " , store , key , } ); await ump . remember ({ kind: " procedural " , body: { text: " 使用 pnpm 来管理此存储库。 " }, scope: { owner: key . did , project: " github.com/acme/app " , visibility: " private " }, provenance: { actor: key . did , actor_kind: " user " , method: " user_correction " }, }); const memories = await ump . recall ( { query: " package manager " , scope: { owner: key . did , project: " github.com/acme/app " }, } ); # 任何语言:通过 HTTP 暴露 JSON。 UMP_HTTP = 4000 npx -y @universalmemoryprotocol/core ump-memory 导入请求 base = " http://localhost:4000 " owner = requests. get ( f " {base} /.well-known/ump.json" ). json () [ " owner " ] requests. post ( f " {base} /ump/remember" , json = { " kind " : " semantic " , " body " : { " text " : " 用户偏好简洁的发布说明。 " }, " scope " : { " owner " : owner, " project " : " github.com/acme/app " , " visibility " : " private " }, " provenance " : { " actor " : owner, " actor_kind " : " user " , " method " : " user_correction " }, } ). raise_for_status () hits = requests. post ( f " {base} /ump/recall" , json = { " query " : " 发布说明偏好 " , " scope " : { " owner " : owner, " project " : " github.com/acme/app " }, } ). json () [ " results " ] UMP 不是一种新的传输协议。它是一个应用级记忆协议,利用现有的传输协议。MCP 的教训是 *最小原语现有铁轨 + 出色的 SDK + 中立治理*。 通过 MCP 运行 主要绑定为 MCP 配置文件(ump.* 工具)。任何 MCP 主机 - Claude Code、Codex - 今天都可以使用 UMP,无需新的传输。 六种操作能力 · 召回 · 记住 · 修改 · 忘记 · 获取(+ 可选反馈/订阅)。一个合规的客户端大约 100 行。 一个可移植的记录 类型化、范围、双时态、签名的 JSON。重用 W3C PROV + DID - 无需新的词汇。 分阶段采用 四个合规级别。今天发布 *.ump.json 导出(L0);当准备好时连接完整运行时(L3)。 UMP 是一种协议表面,而不是数据库的赌注。@universalmemoryprotocol/core 提供本地文件、SQL 数据库、Redis、Recall 和向量引擎的实用实现,以便团队在他们已经存储内存的地方采用 UMP。 文件优先 JsonFileStore 写入可移植的 memory.ump.json;MarkdownDirectoryStore 为存储库和 Obsidian 风格的库写入人类可编辑的 *.ump.md 记录。 SQL + 缓存 PostgresStore、SqliteStore 和 RedisStore 接受您现有的客户端。核心包中未打包任何本地数据库驱动程序。 向量数据库 VectorStore 加 QdrantStore、PineconeStore 和 WeaviateStore 包装器让嵌入支持的引擎保持他们自己的检索质量。 Recall 引擎适配器 Recall 是一种实现:在相同的 UMP 接口后面提供更丰富的记忆引擎,而不是依赖或锁定。人们已经在 AGENTS.md、CLAUDE.md、Recall 导出、Obsidian 笔记和项目 Markdown 中散布了记忆。UMP 保持这些格式分开,但提供导入桥,将它们转换为具有出处的可移植 UMP 草稿。 代理文件 ump-import 读取 AGENTS.md(开放标准)和 CLAUDE.md 作为程序候选记忆,保留来源路径。 库和文件夹 将其指向 Markdown 目录或 Obsidian 风格的库,以便在不更改您的笔记的情况下引导本地 UMP 存储。 桥接,而不是锁定 导入器是采纳辅助工具。UMP 仍然是共同

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡