内容
<p align="center">
<img src="docs/icon.png" width="120" alt="恩格拉姆">
</p>
<h1 align="center">恩格拉姆</h1>
<p align="center">
<b>为所有AI提供共享记忆。</b><br>
您的助手在聊天结束时就会忘记您——每个助手都生活在自己的孤岛中。
恩格拉姆是他们共享的记忆。
</p>
<p align="center">
<img alt="macOS 13+" src="https://img.shields.io/badge/macOS-13%2B-1a1a2e">
<img alt="Swift 5.9" src="https://img.shields.io/badge/Swift-5.9%2B-orange">
<img alt="MCP Server" src="https://img.shields.io/badge/MCP-server-7c3aed">
<img alt="许可证:MIT" src="https://img.shields.io/badge/License-MIT-blue">
</p>
## 什么是恩格拉姆
将来自任何AI的上下文(例如ChatGPT或Claude导出、Markdown/文本/JSON或快速粘贴)拉入一个私有的**本地**记忆。然后,任何支持**MCP**(Claude Desktop、Claude Code、您自己的应用程序)的助手都可以`回忆`它,跨越您提供的所有对话。只需记住一次;所有连接的AI都知道。
您拥有所有这些:记忆是您Mac上的普通**Markdown文件**(`memories/<conversation>.md`)——可读、可搜索、可编辑、可删除。**永远不会上传任何内容**。
## 工作原理
- **一记忆,多心智。** 一个存储,所有MCP客户端都从中读取和写入。“集体心智”回忆(`.all`)一次搜索所有对话;或将回忆范围限定在单个对话中,或限定在您分组的命名文件上。
- **导入您的历史记录。** 导入ChatGPT/Claude导出、Markdown/文本/JSON或粘贴——然后选择**关键事实**(仅保留您说的持久性内容)或**所有内容**。从Claude Code转录中自动捕获(可选)。
- **设备上的语义回忆。** 嵌入式通过Apple的自然语言框架在本地运行(可选的一次性下载可升级为上下文转换器)。无需模型服务器,无需网络回忆。
- **原生,且属于您。** 真正的**原生macOS应用程序**(SwiftUI + AppKit — 无Electron,无Web包装器)。本地优先设计:无需账户,无遥测,无分析。唯一网络是**可选**的,从不发送您的数据 — 手动“检查更新”,可选的本地Ollama蒸馏器和一次性设备模型下载。参见 [PRIVACY.md](PRIVACY.md)。
## 安装
```sh
# 1) macOS 应用程序
bash packaging/make-app.sh # → Engram.app 在您的桌面上
# 2) 将记忆连接到 Claude (MCP)
swift build -c release
.build/release/engram-mcp --connect # 在 Claude Desktop 上注册 Engram
.build/release/engram-mcp --prepare-embeddings # 可选:设备上的模型以获得最佳回忆
# 3) (可选)从您的 Claude Code 聊天中自动捕获关键事实
.build/release/engram-capture --watch
```
需要 **macOS 13+**。无需后端,无需第三方服务 — 引擎、MCP 服务器和捕获工具都是纯 Swift + Foundation。
## 引擎 API
```swift
let engine = try MemoryEngine(root: memoriesFolderURL)
try engine.remember("我更喜欢暗色模式.", source: "manual", conversation: "chat-1")
let hits = engine.recall("我喜欢什么主题", scope: .all) // 集体心智
let where_ = engine.search("暗色模式") // 关键词 → 哪段对话
try engine.forget(hits[0].memory.id) // 软删除(保留在磁盘上)
```
## 构建和测试
```sh
swift build
swift test
```
## 许可证
[MIT](LICENSE) 2026 Joseph.
<p align="center"><sub>您的AI会忘记。恩格拉姆会记住 — 并分享它。</sub></p>