内容
ram
**用于人工智能开发工作流的本地持久化记忆。**
您的人工智能助手终于能记住您的整个代码库了。
---
## 问题
- Cursor 在 5 分钟后会忘记您的代码库
- Claude 在对话中途会丢失上下文
- Copilot 建议的代码与您的架构冲突
- 您不断重复解释相同的事情
## 解决方案
Engram 创建了一个**持久化记忆层**,任何人工智能都可以通过 MCP 访问。
```bash
# 索引您的项目
engram init ~/my-project
# 配置 Claude/Cursor
engram setup
# 完成。您的人工智能现在记得所有内容。
```
---
## 功能
- **本地优先** — 您的代码永远不会离开您的机器
- **GPU 加速** — 使用 MPS(Mac)或 CUDA 进行快速索引
- **MCP 原生** — 与 Claude Desktop、Cursor 和任何 MCP 客户端配合使用
- **增量更新** — 仅重新索引更改的内容
- **崩溃保护** — 保存进度,如果中断则恢复
- **便携** — 复制您的“记忆存储器”到任何地方
### 支持的文件
| 类型 | 扩展名 |
|------|------------|
| 代码 | `.py` `.js` `.ts` `.tsx` `.go` `.rs` `.java` `.rb` `.php` `.swift` `.c` `.cpp` |
| 文档 | `.pdf` `.txt` `.md` `.rst` |
| 配置 | `.json` `.yaml` `.yml` `.toml` |
| 图片 | `.png` `.jpg` `.jpeg` (OCR) |
---
## 快速入门
### 安装
```bash
pip install engram-dev
```
或从源代码安装:
```bash
git clone https://github.com/Tobbiloba/engram.git
cd engram
pip install -e .
```
### 索引您的项目
```bash
# 索引当前文件夹
engram init
# 索引特定文件夹
engram init ~/projects/my-app
# 自定义输出名称
engram init ~/projects/my-app -o my_brain
```
### 配置 MCP
```bash
engram setup
```
这会自动检测 Claude Desktop 和 Cursor,并配置它们。
### 从终端查询
```bash
engram query "身份验证是如何工作的"
```
### 监视更改
```bash
engram watch ~/projects/my-app
```
在后台运行,当文件更改时自动更新索引。
---
## 工作原理
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 文件 │────▶│ 块 │────▶│ 向量 │────▶│ FAISS │
│ 代码/文档 │ │ 1000 字符 │ │ 384 维 │ │ 索引 │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│
▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 人工智能 │◀────│ 结果 │◀────│ 语义搜索 │◀────│ MCP 服务器 │
│ Claude │ │ 前 5 名 │ │ │ │ │
└─────────────┘ └─────────────┘ └─────────────┘ ─────┘
```
1. **索引** — Engram 文件并创建块
2. **嵌入** — 每个一个 384 维向量(本地模型,无 API)
3存储** — 向量保存到 FAISS 索引(快速相似性搜索)
4. **查询** — MCP 服务器向人工智能助手query_memory` 工具. **搜索** — 人提问,获取相关代码/文档
---
## CLI 命令
| 描述 |
|---------|-------------|
| `engram init [文件夹]` | 索引一个文件夹 |
| `engram query "..."` | 从终端搜索 |
| `engram watch [文件夹]` | 启动后台监视器 |
| `engram status` | 显示索引统计信息 |
| `engram setup` | 自动配置 MCP |
---
## 手动 MCP 配置
如果 `engram setup` 不起作用,请手动添加:
### Claude Desktop
编辑 `~/Library/Application Support//claude_desktop_config.json`:
```json
{
"mcpServers": {
"engram": {
"command":/to/engram/venv/bin/python",
"args":path/to/engram/server.py", "/path/to/your_engram"]
}
}
}
```
### Cursor
编辑 `~/.cursor/mcp.json`:
```json
{
"mcpServers "engram": {
"command": "/path/to/engram/venv/bin/python",
"args": ["/path/to/engram/server.py", "/path/to/your_engram"]
}
}
}
```
---
## 要求
- Python 3.9+
- ~2GB 磁盘空间(用于模型 + 索引)
- 对于 OCR:`brew install poppler`
---
## 技术栈
- **嵌入-transformers/all-MiniLM-L6-v2()
- **向量存储**: FAISS
- **GPU**:Apple Silicon)/ CUDA)/ CPU 备用
协议**: MCP(模型)
---
## 路线- [x] 本索引
- [x] MCP 服务器
- [x]速
- [x] 增量更新
- [x] 后台监视器
- [x] 时间记忆更改了什么?)
- [x] Git 感知上下文 [ ] 架构洞察
- [ ] 桌面应用程序
查看 [ROADMAP.md](.md) 获取详细信息。
---
贡献
欢迎 PR!查看 [CONTRIBUTING.md](CONTRIBUTING.md) 获取指南。
---
## 许可证
MIT —使用,免费修改,免费分享。
---
**为受够解释代码库的开发者而建。**