内容
# ApertoMemory
**便携、客户端加密、用户拥有的 AI 记忆。**
每个 AI 工具都以不同的方式记忆你——并且只在自己的范围内。
切换工具后,AI 会忘记你是谁。ApertoMemory 通过一种开放格式解决了这个问题:你的 AI 对你的记忆存储在一个文件中,这个文件**属于你**,使用**你的**密钥加密,可以在任何兼容的系统上移植。没有提供商可以读取它,也没有供应商可以挟持它。
- **零访问**:内容、作者身份和语义时间戳均在客户端加密;同步/存储服务器只看到不透明的二进制数据。
- **签名出处**:每个记忆对象都在加密内部使用 Ed25519 签名;导入的第三方记忆在密码学上与你自己的记忆是可区分的(持久提示注入防御)。
- **便携**:将你的整个记忆导出为单个 `.amem` 文件,并在任何地方导入——一个完整的保险库仅需几千字节。
- **开放**:MIT 许可的参考实现、CDDL 模式、测试向量和 IETF Internet-Draft(`draft-ferro-apertomemory`)。
网站:https://apertomemory.org
## 安装
```bash
pip install apertomemory
```
命令行工具是 `amem`;文件格式是 `.amem`。
## 快速入门
```bash
export AMEM_PASSPHRASE="你的通行短语"
amem --vault ~/.amem init
amem --vault ~/.amem scope add default
amem --vault ~/.amem seal "偏好正式的 B2B 电子邮件" --tags preferences
amem --vault ~/.amem open <id>
amem --vault ~/.amem export my-memory.amem # 带到任何地方
amem --vault other-device import my-memory.amem
```
## 加密
Argon2id (m=64 MiB, t=3, p=4) -> HKDF-SHA256 -> Ed25519(签名,签后加密)+ X25519(ECDH-ES + AES-KW 用于每范围 KEK)->
每个对象使用 AES-256-GCM(COSE 算法 3),规范的 CBOR(RFC 8949 s4.2)。
保险库和 `.amem` 文件中永远不会包含明文密钥或内容。
运行测试:`python3 tests/test_roundtrip.py`
## MCP 适配器(Claude Desktop / Claude Code)
```bash
pip install "apertomemory[mcp]"
```
```json
{
"mcpServers": {
"amem": {
"command": "python3",
"args": ["-m", "amem.mcp_server"],
"env": {"AMEM_VAULT": "/path/to/vault", "AMEM_PASSPHRASE": "你的通行短语"}
}
}
}
```
暴露的工具:`amem_remember`、`amem_recall`、`amem_export`、`amem_import`、`amem_status`。通行短语仅存在于你的本地环境中:模型永远不会看到它。“新设备”演示:`amem_export` -> 移动 `.amem` 文件 -> `amem_import` 到新的保险库中 -> `amem_recall`,AI 已经知道你。
## 规范
格式在 IETF Internet-Draft(`draft-ferro-apertomemory`)中指定,具有规范的 CDDL 模式和机器可读的测试向量,位于此存储库的 `spec/` 和 `test-vectors/` 下。
## 许可证
MIT — 请参阅 [LICENSE](LICENSE)。