DiaryVault/diaryvault-memory-layer

GitHub: DiaryVault/diaryvault-memory-layer

一个开源的加密记忆层 SDK,让用户以选择性共享和加密验证的方式,安全地向 AI agent 提供个人上下文数据。

Stars: 1 | Forks: 0

# 🧠 DiaryVault 记忆层 **在不泄露数据的前提下,为 agent 提供上下文。** 一个开源、经过加密验证的 memory layer,让 AI agent 能够访问用户上下文——具备选择性共享、哈希验证和完全由用户掌控的特性。 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![CI](https://img.shields.io/badge/CI-passing-brightgreen)]() [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)]() [![PyPI](https://img.shields.io/pypi/v/diaryvault-memory)]() [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)]() ## 问题所在 AI agent 无处不在。它们为你安排会议、管理任务,并代你做出决定。但它们都面临同样的问题:**它们对你一无所知。** 目前的情况是: - **Agent** 掌控执行和行为 - **平台** 掌控记忆(日志、embedding、上下文) - **用户** 无法掌控任何持久化或可移植的东西 每个平台都存储了它自己版本的你——而你无法验证它、控制它、移动它,也无法证明它没有被篡改。 **目前不存在规范化的、用户拥有的 memory layer。直到现在。** ## 快速开始 ``` pip install diaryvault-memory ``` ### 创建你的 vault ``` from diaryvault_memory import MemoryVault vault = MemoryVault(encryption_key="your-secret-key") vault.create(content="I'm allergic to shellfish", tags=["health"]) vault.create(content="I work at a fintech startup in Seoul", tags=["work"]) vault.create(content="I prefer morning meetings before 10am", tags=["preference"]) vault.create(content="My salary is 150k", tags=["financial", "private"]) ``` 每一条记忆都经过 SHA-256 哈希处理、AES-256 加密、HMAC 签名,并打上了时间戳。 ### 选择性地与 agent 共享上下文 ``` from diaryvault_memory import ContextRequest # Agent 请求 context request = ContextRequest( agent_id="scheduling-agent-001", scope=["preference", "work"], purpose="Personalize meeting scheduling", ) # 用户控制共享内容(健康和财务数据已被阻止) response = vault.share(request, denied_tags=["health", "financial", "private"]) print(response.memory_count) # 2 (only preference + work) print(response.scope_granted) # ['preference', 'work'] print(response.scope_denied) # [] print(response.verify_all()) # True — every memory is hash-verified # Agent 获取已验证的 context: for mem in response.shared_memories: print(f" [{', '.join(mem.tags)}] {mem.content} (verified={mem.verified})") # [preference] I prefer morning meetings before 10am (verified=True) # [work] I work at a fintech startup in Seoul (verified=True) # Agent 无法看到:健康数据、薪资以及任何未经你批准的内容 ``` agent 会获得加密证明,确信上下文是真实且未被修改的。用户则保留对共享内容的完全控制权。 ## 为什么这很重要 | 如今 | 使用 DiaryVault Memory Layer | |---|---| | 每个平台都存储它自己版本的你 | 你拥有一个规范的 memory vault | | 你无法验证 agent “记住”了关于你的什么 | 每一条记忆都经过 SHA-256 哈希处理且可验证 | | 上下文是孤立的且不可移植 | 开放的 `.dvmem` 格式——自由导出和转移 | | 平台可以在你不知情的情况下修改你的数据 | HMAC 签名可以检测出任何篡改行为 | | agent 要么获取所有信息,要么什么也得不到 | 基于标签的选择性共享——由你决定共享什么 | | 没有证据证明数据是何时创建的 | RFC 3339 时间戳,支持可选的区块链锚定 | ## 工作原理 ``` ┌─────────────────────────────────────────────────────────┐ │ USER'S VAULT │ │ preferences · health · work · financial · personal │ │ All encrypted. All hashed. All signed. │ └─────────────────┬───────────────────────────────────────┘ │ Agent requests context (scope + purpose) │ ▼ ┌─────────────────────────────────────────────────────────┐ │ SELECTIVE SHARING │ │ User (or policy) decides what tags to share │ │ Denied tags are never exposed │ │ Each shared memory includes hash + signature │ └─────────────────┬───────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────┐ │ VERIFIED CONTEXT │ │ Agent receives: content + hash + signature │ │ Agent can verify: integrity, authenticity │ │ Agent cannot: access other memories, forge proofs │ │ Vault merkle root included for full integrity check │ └─────────────────────────────────────────────────────────┘ ``` ## 核心功能 **🔐 AES-256-GCM 加密** —— 每一条记忆都在客户端进行加密。你的密钥永远不会离开你的设备。 **🔗 SHA-256 + HMAC 验证** —— 内容哈希处理与签名。哪怕篡改一个字节,验证也会失败。 **🤖 Agent 上下文层** —— `ContextRequest` / `ContextResponse` 协议,供 agent 请求和接收经过验证的用户上下文。 **🏷️ 选择性共享** —— 按标签共享。按标签屏蔽。用户可以针对每次请求决定 agent 能看到什么。 **🌳 Merkle Tree 完整性** —— 为你的整个 vault 计算出一个单一的哈希值。证明没有任何内容被添加、删除或修改。 **📦 开放的 `.dvmem` 格式** —— 公开的 JSON 格式。没有供应商锁定。自由导入和导出。 **🌐 区块链锚定** —— 可选地将哈希锚定到 Arweave 或 Ethereum L2,以获得永久的、可被第三方验证的证明。 **🏠 支持自托管** —— 完全在你的硬件上运行。没有云。没有账户。无需信任。 ## 应用场景 | 用例 | 描述 | |---|---| | **Agent 个性化** | 在不放弃数据的前提下,为 agent 提供经过验证的上下文 | | **便携的身份** | 一个 vault,适配多个 agent——你的上下文随你而动 | | **数据主权** | 证明你分享了什么、何时分享以及与谁分享 | | **AI Twin 训练** | 用于训练你的个人 AI 的结构化、可验证的生活数据 | | **数字遗产** | 以加密的持久性保存你的人生故事 | | **法律证据** | 带有时间戳、防篡改的个人记录 | | **健康时间线** | 可验证的病史和症状追踪 | ## 架构 基于四个原则构建: 1. **隐私至上** —— 加密在任何数据离开你的设备之前就在客户端完成 2. **验证一切** —— 每一个操作都会产生加密证明 3. **拥有你的数据** —— 开放格式、开放代码、随时导出 4. **持久化可选** —— 选择你的存储后端:本地、云或区块链 有关完整的技术深入探讨、威胁模型和 `.dvmem` 格式规范,请参阅 [ARCHITECTURE.md](docs/ARCHITECTURE.md)。 ## 宏伟蓝图 DiaryVault Memory Layer 是 agent 时代信任方程式的一半: - **Agent 信任** —— 我能信任这个 agent 做了什么吗? → [authe.me](https://authe.me) - **数据信任** —— 我能信任 agent 正在使用的关于我的数据吗? → DiaryVault Memory Layer **信任 = Agent 行为 + 数据完整性。** ## 路线图 - [x] v0.1 — 核心 SDK:哈希、加密、验证、存储、`.dvmem` 格式 - [x] v0.2 — Agent 上下文层:选择性、经过验证的共享 - [ ] v0.3 — 个人 AI 导出:fine-tuning 数据集、RAG embedding、知识图谱 - [ ] v0.4 — 区块链锚定:Arweave + Ethereum L2 (Base) - [ ] v0.5 — AI Synthesis Agents:日历捕获、每日摘要、照片描述 - [ ] v0.6 — 丰富捕获:照片、语音、健康数据 agent - [ ] v0.7 — Dead Man's Switch:非活动阈值、受益人访问 - [ ] v0.8 — 移动 SDK (iOS/Android) - [ ] v1.0 — DiaryVault app 集成 ## 理念 你的记忆属于你。不属于任何平台。不属于任何公司。也不属于任何算法。 Memory Layer 是为未来打造的基础设施,在那个未来里,每个人都拥有自己存在记录的经过验证的、可移植且隐私的凭证——而每一个与之交互的 agent 都能获得确切的、必需的上下文,仅此而已。 **这不是一个产品。这是一个协议。在它之上构建吧。** ## 许可证 MIT — 尽情使用它。Fork 它。在它之上构建。 **拥有你的数据。按你的条件去共享。** [diaryvault.com](https://diaryvault.com) · [@diaryvault](https://twitter.com/diaryvaultinc)
标签:AI, Python, 数据加密, 无后门, 网络安全, 自动化代码审查, 记忆层, 逆向工具, 隐私保护