# engrm 中文文档

规范地址：https://npmcn.com/package/engrm/

版本：0\.6\.6
npm 元数据更新时间：2026-11-03T13:47:33.337Z
中文译文更新时间：2026-11-03T14:37:09.367Z
软件包许可：FSL-1\.1-ALv2

本文由上游 README 机器翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/engrm
原文对照：https://npmcn.com/package/engrm/?lang=original
项目主页：https://engrm.dev/
源码仓库：https://github.com/dr12hes/engrm

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：5.2 MB，28 个文件
- 模块格式：ES Module
- TypeScript 类型：未声明
- Node.js 要求：\>=22\.0\.0
- 运行依赖：5 个
- 首次发布：2026-03-12T15:59:35.872Z
- 最新版本发布：2026-11-03T13:47:28.760Z
- 已发布版本数：62（近 12 个月 62 个）

## 中文简介

本地矢量存储器的项目和repos - MCP为代理，Markdown vault为人类

## 安装

```sh
npm install engrm
```

也可以使用：`pnpm add engrm`、`yarn add engrm`、`bun add engrm`

## README

# Engrm

[![License: FSL-1.1-ALv2](https://img.shields.io/badge/license-FSL--1.1--ALv2-blue)](https://npmcn.com/package/engrm/LICENSE) [![Node.js](https://img.shields.io/badge/node-%3E%3D18-green)](https://nodejs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue)](https://www.typescriptlang.org/) [![MCP Compatible](https://img.shields.io/badge/MCP-compatible-purple)](https://modelcontextprotocol.io/)

**本地矢量存储器的项目和repos -维基形状的人，mcp形状的代理，跨设备同步。**

看到 [SCOPE.md](https://npmcn.com/package/engrm/SCOPE.md) 和 [HARNESS.md](https://npmcn.com/package/engrm/HARNESS.md)。

* * *

## 只是工作

### 这台笔记本电脑（所有代理共享内存）

```bash
bun run src/cli.ts setup
# or: npx engrm setup
```

这将初始化本地内存（如果需要）并注册Cursor、Claude Code、OpenCode和Codex。重新启动一次代理会话。在此之后，代理自动共享一个DB +保险库-没有每个聊天设置。

### 代理机器（零接触，舰队令牌）

对于运行没有人登录的代理的机器。管理员在集线器上制作令牌一次： **团队→代理舰队令牌→创建令牌**． 它只显示一次；将其保存在您的秘密存储库（1Password， CI或MDM秘密存储库）中，而不是保存在repo中。

在每台机器上（Node 22或更高版本）：

```bash
ENGRM_FLEET_TOKEN="$TOKEN_FROM_YOUR_SECRET_STORE" npx --yes engrm@latest setup
```

安装Engrm，注册Claude Code， Codex， Cursor和OpenCode，将机器登录到团队中心，并在没有提示的情况下提取公司主题。 `--yes` 停止NPX要求安装。令牌是从环境中读取的，因此它不会出现在进程列表中； `--token=…` 同样适用。一台已经安装好的机器可以连接 `ENGRM_FLEET_TOKEN=… engrm login`。

-   **保持同步。** 在macOS上，setup安装一个启动代理，它在后台同步。在Linux上运行 `engrm mesh daemon` 在您的服务管理器下，例如一个系统用户单元 `ExecStart=engrm mesh daemon` 和 `Restart=always`。
-   **法典需要一个批准。** Codex只在Engrm的钩子被信任后才运行它们：run `codex` 一次并批准他们进入 `/hooks`． 在那之前，法典公司拿到了MCP工具，但没有记录。克劳德代码什么都不需要。
-   **重新启动代理** 在安装之前是打开的，所以他们加载了Engrm。
-   **中心显示了什么。** 每台机器都单独出现在设备页面上，在令牌的名称下（“Fleet: Codex runners”），每个内存都记录了编写该令牌的机器和代理。
-   **撤销。** 撤销“团队”页面上的令牌会立即将所有与之连接的机器签出。制作一个新的令牌来恢复机器。

检查机器 `engrm status`：团队中心显示中心可达，座席显示每个座席已注册。

### 其他设备

**选项A - LAN mesh（每台Mac本地SQLite，无云）**

```bash
# Machine 1
engrm mesh init --cluster=optaro
# note the printed mesh_key

# Machine 2
engrm mesh join --key=<mesh_key> --cluster=optaro --peer=<machine1-ip>:7432
engrm mesh sync
```

通过UDP多播和可选静态发现对等体 `--peer` 列表。每台机器都有自己的SQLite；通过HTTP (`shared`+`personal`,从来没有 `secret`）. 可选的不间断: `engrm mesh install-service`。

**选项B -共享文件夹（没有Engrm帐户）**

将两台机器指向相同的保险库目录（iCloud Drive， Syncthing等）：

```json
// ~/.engrm/settings.json
{ "vault": { "root": "~/Library/Mobile Documents/com~apple~CloudDocs/EngrmVault" } }
```

运行 `engrm setup` 在每台机器上。更新的保险库页面在MCP/会话启动时自动导入（无需手动） `reindex` 需要)。

* * *

## 它是如何工作的

| 层 | 工作 |
| --- | --- |
| **库** | 每个项目可读的wiki页面，加上一个滚动 `HANDOFF.md` 每回购 |
| **指数** | 本地SQLite + FTS +矢量 |
| **代理** | MCP: `save_observation`， `search`， `brief`和生命周期挂钩在Claude Code， Codex， Cursor和OpenCode |
| **同步** | 今天的局域网；接下来是团队中心(见 [SCOPE.md](https://npmcn.com/package/engrm/SCOPE.md)） |

### 记住什么

会话期间的捕获是确定性的：命令失败、测试失败、 依赖项更改、显式保存以及键入的提示。没有模型手表 您的工具调用，没有“修改foo”。它的记录被存储。

在会话结束时，网关上的一个小型模型调用读取抄本并 写了一 **会议记录**你在做什么，有地位的决定，计划， 开放的问题，下一步，和独立的事实和教训。记录 折叠成回购 **切换页面**，这是接下来的第一件事 会话查看，在任何机器和任何代理上。第二个有界调用提取 **复古的** 发现（重复的错误、错过的已知修复、错过的检查） 反复出现的摩擦变得可见，而不是重现。

如果结束钩子从未触发（杀死终端，崩溃代理），则下一个会话 Start找到抄本，然后写入记录。

### 将Engrm指向一个模型服务器

```bash
engrm ai probe 10.20.0.10        # finds LiteLLM / Ollama / vLLM / LM Studio and lists models
engrm ai use 10.20.0.10:4000     # OpenAI-compatible /v1; add --key=… if it asks
engrm ai roles session_note=extract retro=agent
engrm ai status
```

如果没有网关，Engrm仍然会确定地捕获并跳过 会议记录。

* * *

## MCP的工具

| 工具 | 目的 |
| --- | --- |
| `search` | 混合FTS5 +矢量召回 |
| `save_observation` | 坚持一个决定、教训、事实等。 |
| `get_observations` | 通过ID获取完整的详细信息 |
| `timeline` | 围绕观察的时间背景 |
| `brief` | 回购范围的启动概要（优先） |
| `session_context` | 的别名 `brief` |
| `recent_activity` | Engrm最近捕获了什么 |
| `memory_stats` | 捕获和索引运行状况 |
| `pin_observation` | 保持观察以免老化 |

`engrm setup` / `engrm register` 还安装了一个个人克劳德代码 `engrm-memory` 技能。自然的连续性提示，比如“我们要做什么？ 在回购检查前触发内存搜索；用户不需要这样做 说出英格姆的名字，或者告诉特工去哪里找。

* * *

## CLI

```
engrm setup                 Local memory + register Claude Code, Codex, Cursor, OpenCode
engrm ai probe|use|roles|status|off
engrm session finalize --session=<id> [--cwd=<dir>] [--agent=<name>] [--force]
engrm status | doctor | register | reindex | dedupe
engrm mesh …                LAN peer sync
engrm dogfood miss|hit|note|report   Retrieval quality ledger
```

`ENGRM_HOME` 覆盖数据目录(`~/.engrm`）; 测试线束使用它 所以他们永远也碰不到真正的商店。

冰冻（不只是记忆）：哨兵，包。集 `ENGRM_LEGACY=1` 只有在需要的时候。

* * *

## 非目标

-   哨兵/实时代码审计
-   交付审查
-   Knowledge-pack市场
-   作为发射支柱的团队计费
-   核心内存需要云计算（本地优先；网络仅同步）

* * *

## 发展

```bash
bun test
bun run test:acceptance
bun run test:fresh
bun run test:dogfood
bun run test:live    # optional
bun run test:lan     # optional
```

* * *

## 许可证

**目前- 1.1 - alv2** ——看 [许可证](https://npmcn.com/package/engrm/LICENSE)。

## 文档

-   [SCOPE.md](https://npmcn.com/package/engrm/SCOPE.md) · [HARNESS.md](https://npmcn.com/package/engrm/HARNESS.md) · [ARCHITECTURE.md](https://npmcn.com/package/engrm/ARCHITECTURE.md)

**维护人员:** `node scripts/check-public-docs.mjs`

## 常见问题

### engrm 是什么？

本地矢量存储器的项目和repos - MCP为代理，Markdown vault为人类

### 如何安装 engrm？

在项目目录运行 npm install engrm，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 engrm，可以用 npx engrm 直接运行。

### engrm 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/engrm 是否存在。

### engrm 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### engrm 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### engrm 可以商用吗？

engrm 使用 FSL-1\.1-ALv2 许可。声明的许可为 FSL-1\.1-ALv2，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### engrm 还在维护吗？

最新版本 0\.6\.6 发布于 2026/11/03（今天）；至今共发布 62 个版本，其中过去 12 个月发布了 62 个；首次发布于 2026/03/12。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

