内容
# Engram Alpha
[](https://github.com/techtheist/engram/actions/workflows/backend.yml)
[](https://github.com/techtheist/engram/actions/workflows/frontend.yml)
[](https://github.com/techtheist/engram/actions/workflows/jetbrains.yml)
[](https://github.com/techtheist/engram/actions/workflows/vscode.yml)
[](https://plugins.jetbrains.com/plugin/32654-engram)
[](https://marketplace.visualstudio.com/items?itemName=techtheist.engram-alpha)
[](https://open-vsx.org/extension/techtheist/engram-alpha)
> 用于 AI 编程助手的可检查的长期项目记忆。本地优先,用户拥有,图结构优先。

<details>
<summary><b>在 JetBrains IDE 中</b> <i>(点击展开)</i></summary>
<br>

</details>
<details>
<summary><b>在 VS Code 中</b> <i>(点击展开)</i></summary>
<br>

</details>
<details>
<summary><b>时间线</b> <i>(点击展开)</i></summary>
<br>

</details>
与平坦的笔记堆不同,Engram 的图是*活跃的*:过时的知识被存档在 `replaces` 边后面,而不是默默地与新规范相矛盾,类似的声明被标记和判断,矛盾变得可见为 `conflicts-with` 边,并且对未重新确认的草稿信任度降低 - 而稳定的决定保持其信任,直到有矛盾的证据出现,并且您固定的任何内容都不会褪色。回报在问题第二次出现时显现:当您的助手遇到它以前遇到过的问题时,图已经包含**问题**、**解决方案**和**警告**,这些信息可以帮助解决问题。
- **本地优先** — 您的内存是存储库中的一个文件。嵌入和每次扫描都在您的机器上运行:无需云,无需密钥,完全离线。可通过 JSON 导出/导入移植,不使用二进制 blob。
- **跨代理移植** — 一个本地后端为 **Claude Code、Codex(CLI 和桌面应用程序)、Gemini CLI、OpenCode、Kilo 和 Google Antigravity** 提供服务,通过 MCP 和浏览器 UI。您的代理共享一个内存:Claude 记录的决策由 Codex 回忆。
- **图优先** — 图是产品表面,而不是隐藏的管道。审查、判断和修复内存都在窗格中进行。
本页面的每个截图都是 Engram 自己的图 - 项目是通过自己使用 Engram 构建的。
## 安装
从您的项目的根目录:
```sh
curl -fsSL https://raw.githubusercontent.com/techtheist/engram/main/install.sh | sh
```
然后 `engram-alpha serve` 并打开 `http://127.0.0.1:8787` - 或者使用 [JetBrains 插件](https://plugins.jetbrains.com/plugin/32654-engram) / VS Code 扩展代替浏览器。Claude Code 用户可以作为插件安装:`/plugin marketplace add techtheist/engram`。Windows、每个助手线路和更新:[入门](./docs/getting-started.md)。
## 您会得到什么
- **可读和可编辑的图** - 整个图实时渲染,四个布局,标签和筛选器按关注点划分,以及完全手动编辑。硬删除仅限用户。→ [窗格](./docs/pane.md)
- **可滚动的时间线** - 第二个屏幕将相同的内存渲染为垂直馈送:项目的故事按顺序显示,带有版本标记,审查镜头用于检查需要关注的内容,边跳跃带有后 trail,中心卡片上直接进行判断操作。→ [窗格](./docs/pane.md)
- **预先简报的助手** - 会话开始摘要,包括需要判断的冲突、打开的工作和待定决定;会话期间通过混合搜索回忆,其中每个命中结果都带有其冲突和替代结果。→ [回忆和捕获](./docs/recall-and-capture.md)
- **无声捕获,可核实的审查** - 写入被批处理和静默处理,每个写入结果都会被检查:重复项会合并而不是堆积,写入接近过时或冲突的知识时会发出警告。审查抽屉是您批准的内容。→ [回忆和捕获](./docs/recall-and-capture.md)
- **记忆会反驳** - 本地 NLI 模型通过凭据检查主张,扫描图中的隐藏冲突和重复项,并将类似对齐的对提交给判断。模型提名;您(或您的助手)判断。→ [冲突和检查](./docs/conflicts-and-checkup.md)
- **信任保持诚实** - 仅根据刻意的行为计算实时信任:时间不会验证,检索不会验证,稳定的知识只有在有证据证明的情况下才会失效。图钉仅属于您。→ [信任和衰减](./docs/trust.md)
- **每个更改都有记录** - 带有前后值和会话属性的追加审计日志,以及沿 `replaces` 链的每个决策历史记录。→ [窗格](./docs/pane.md)
- **跟踪代码的内存** - 节点指向代码;在不再解析时,引用会使节点显示为漂移,并带有修复或退休合同,可选地,在您的助手读取文件时附加文件的内存。→ [回忆和捕获](./docs/recall-and-capture.md)
- **可重塑的模型** - 本体、信任和衰减数字以及简介都是每个图的配置,可以在一个设置抽屉中编辑:重命名或替换类型和动词(引擎根据角色而不是名称进行操作),调整内存衰减速度,从预设中选择,并跟踪每个注释的工作版本。→ [自定义](./docs/customization.md)
- **跨项目内存** - 一个核心进程,一个窗格,一个机器注册表和一个知识主页,这些知识从未局限于某个项目。通过本地规范优先的跨项目读取;通过您的批准进行提升。→ [多项目内存](./docs/multi-project.md)
- **存储超越 SQLite** - 图存储在 SQLite 或 TepinDB 的自我描述 `.tepin` 文件中,可以通过一个命令迁移,审计日志保持完整 - 并且可以使用 `npx tepindb` 在 Engram 运行的同时进行检查。→ [存储和 TepinDB](./docs/storage.md)
- **本地模型您选择** - 嵌入、重新排序器和 NLI 在本地运行,并可通过窗格(预设或任何兼容的 ONNX 导出)进行交换;嵌入交换会重新嵌入您的图,受到保护。→ [本地模型](./docs/models.md)
## 内存模型
八种节点类型(原理、决定、警告、问题、解决方案、洞察、意图、锚点)和七种边动词,它们读作句子 - 决定 **因为** 原理,解决方案 **回答** 问题,新版本 **替换** 旧版本,两个声明 **相互冲突**。三种捕获强度(`宽松` / `正常` / `激进`)设置您的助手的写入量。这是默认设置,大多数项目应该保留 - 但它的每一部分都是 [您可以重塑的](./docs/customization.md)。→ [内存模型](./docs/memory-model.md)
## 文档
所有用户文档都位于 [`docs/`](./docs/README.md) - 安装和线路、内存模型、信任、窗格、冲突、多项目内存、存储、本地模型和故障排除(`engram-alpha doctor` 诊断整个链;`engram-alpha stop` 干净地停止所有操作)。
安全姿态:[`SECURITY.md`](./SECURITY.md)。完整规格和路线图:[`PLAN.md`](./PLAN.md)。**状态:** 早期开发,深度使用中。
## 技术栈
Rust 核心(`rmcp` - stdio + 守护进程托管的可流式 HTTP,`rusqlite` + `sqlite-vec` 带有 TepinDB 后端) · Vue 3 + TypeScript + Vue Flow · JetBrains(JCEF)和 VSCode(Webview)包装器。
## 许可证
[MIT](./LICENSE)