# @amaster\.ai/pi-memory-mem0 中文文档

规范地址：https://npmcn.com/package/%40amaster.ai/pi-memory-mem0/

版本：0\.1\.37
npm 元数据更新时间：2026-11-09T02:51:33.501Z
中文译文更新时间：2026-11-09T06:49:27.393Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40amaster.ai/pi-memory-mem0
原文对照：https://npmcn.com/package/%40amaster.ai/pi-memory-mem0/?lang=original
项目主页：https://github.com/TGYD-helige/pi#readme
源码仓库：https://github.com/TGYD-helige/pi

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

- 包体积（解压后）：2 MB，36 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：3 个
- peer 依赖：typebox \*，@earendil-works/pi-ai \>=0\.80\.10，@earendil-works/pi-coding-agent \>=0\.79\.1
- 首次发布：2026-06-11T06:50:32.327Z
- 最新版本发布：2026-11-09T02:51:33.349Z
- 近 30 天下载量：4454（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：105（近 12 个月 105 个）

## 中文简介

Mem0 pi的语义记忆——自动捕获,语义回想,以及一个代理可调用的记忆工具. 平台,嵌入式,或自行托管.

## 安装

```sh
npm install @amaster.ai/pi-memory-mem0
```

也可以使用：`pnpm add @amaster.ai/pi-memory-mem0`、`yarn add @amaster.ai/pi-memory-mem0`、`bun add @amaster.ai/pi-memory-mem0`

## README

# @amaster.ai/pi-memory-memm0 (英语)

![pi-memory-mem0 preview](https://raw.githubusercontent.com/TGYD-helige/pi/master/packages/pi-memory-mem0/preview.png)

语义内存扩展由 [记忆](https://mem0.ai/),带有平台,嵌入式,以及自办后端和三种内存模式(hybrid,主动,被动).

## 如何运作

**被动侧面**:每次对话转后,用户+助理消息会自动被发送到Mem0进行事实提取和存储. 当您发送一个提示时, 语义搜索会在背景中预留, 相关记忆在代理开始前被召回 —— **无需作任何努力**。 。 。 .

**活动侧面**: 代理人得到一个 `mem0_memory` 工具 (`search` 编号 : `add` 编号 : `get_all` 编号 : `delete`)这样它就可以主动地抬头去管理记忆——与官员的想法相同 `@mem0/pi-agent-plugin`,但以这个软件包的提供者抽象为后盾, 因此它与平台合作,嵌入, **财务报告和审定财务报表** (原始内容存档于2018-03-29). Merm0.

安全边界 :

-   **召回频道**:回想记忆作为用户频道发送的自定义消息被注入——从不进入系统即时. 每个条目被包裹为 `[UNTRUSTED MEMORY DATA]` (JSON-引出),和匹配快速注入模式的条目被替换为 `[BLOCKED UNTRUSTED MEMORY: ...]`。 。 。 .
-   **提醒触发**:当用户提示启动运行时,自动召回会被消耗. 自定义消息运行由另一个扩展所触发, 在召回前不消耗 .
-   **项目名称间距**: 记忆范围为 `userId:project:<cwd-hash>` 默认,所以一个项目的记忆在另一个项目中是不可见的. 设定 `userIdScope: "exact"` 在项目之间必须共享一个特征时.
-   **证书校正**: 私人钥匙、无记名标志和 `api_key=…`\- 类型值在存储任何东西之前都会被修改.
-   **平台模式披露**: 内 `platform` mem0 Cloud 处理。 使用 `embedded` 或者说 `self-hosted` 模式将内存流量保持在第三方基础设施之外.

## 模式

### 后端模式

| 模式 | 矢量存储器 | 持久性 | 依赖关系 | 使用大小写 |
| --- | --- | --- | --- | --- |
| `platform` | 梅姆克・云 | 云管理 | `MEM0_API_KEY` | 快速启动, 多设备同步 |
| `embedded` | Mem0 OSS 向量存储 | 管理病媒储存 | LLM + 嵌入 API | 数据隐私, 无 Mem0 Cloud |
| `self-hosted` | Mem0 OSS REST 服务器 | 服务器管理 | 服务器 URL, 可选 API 密钥 | 共有基础设施 |

### 内存模式

记忆行为有三个独立的控制. 每个控件都是可选的,并返回到选定的 `memoryMode` 删除时预设.

#### 独立行为控制

| 设置 | 控件 |
| --- | --- |
| `autoCapture` | 自动发送每个用户 + 助手到 Mem0 进行提取和存储 |
| `autoRecall` | 在代理机启动前自动搜索 Mem0并注入匹配的记忆 |
| `toolEnabled` | 登记可调用模型 `mem0_memory` 用于搜索、添加、列表和删除操作的工具 |

`toolEnabled` 只影响可调用的模型工具。 用户化 `/mem0` 命令在提供者活动时仍然可用.

`topK` 是自动召回的共同结果限制 `mem0_memory` 搜索。 搜索。 它必须是大于 `0`; 使用 `autoRecall: false`没有 `topK: 0`,以禁用自动召回.

#### 预设和覆盖

`memoryMode` 3个控制器仍是一个方便的预设:

| `memoryMode` | 自动抓取 | 自动回顾 | `mem0_memory` 工具 | 使用大小写 |
| --- | --- | --- | --- | --- |
| `hybrid` (默认) | ✅ | ✅ | ✅ | 自动内存加代理驱动的查询 |
| `active` | ❌ | ❌ | ✅ | 没有背景流量; 代理决定每个读/写 |
| `passive` | ✅ | ✅ | ❌ | 0 工具表面; 全自动内存 |

明确的控制可以独立覆盖预设 。 未设置的控件继续继承其预设值,因此一个部分的覆被不能取代整个模式.

```json
{
  "pi-memory-mem0": {
    "memoryMode": "hybrid",
    "autoRecall": false
  }
}
```

这保持了 `hybrid` 默认 `autoCapture` 财务报告和审定财务报表 `toolEnabled`,而明确 `autoRecall: false` 禁用自动注射。 代理仍然可以搜索通过 `mem0_memory` 需要时.

同样的规则适用于任何预设. 例如,从 `passive` 并仅允许工具覆盖 :

```json
{
  "pi-memory-mem0": {
    "memoryMode": "passive",
    "toolEnabled": true
  }
}
```

#### 召回频率

`recallFrequency` 控制何时自动召回的频率 `autoRecall` 决定: `true`数字 :

| 数值 | 行为 |
| --- | --- |
| `"user-input"` (默认) | 在代理运行前搜索每个用户输入一次并输入匹配的记忆 |
| `"session"` | 只搜索每次持续会话中的第一个用户输入 |

会话频率计算了第一次搜索尝试,即使它返回时没有匹配或时间。 标记被存储在 Pi 会话中,因此切换并恢复同会话不会再次搜索. `/new` 财务报告和审定财务报表 `/fork` 创建新会话ID并每次搜索一次.

何时 `autoRecall` 实值 `false`,则不启动自动搜索 `recallFrequency` 没有运行时间效果。 它不影响手动 `mem0_memory` 或者说 `/mem0 search` 打电话.

## 结构( 嵌入模式)

```
User ←→ Agent ←→ Mem0 OSS Memory
                        ↕
            Mem0 OSS Vector Store (source of truth)
```

-   **矢量搜索**数字 : `mem0ai` 开放源码软件 `MemoryVectorStore`。尽管供应商名称 `memory`它由 SQLite 支持; `dbPath` 选择进程内 SQLite 数据库或 SQLite 文件.
-   **LLM 提取**: 配置提供者从对话中提取事实
-   **持久性**: 默认 `dbPath` 实值 `<home>/memories/mem0-vectors.db`,因此Mem0直接将矢量和有效载荷写入可持久SQLite文件. 无法保存第二快照 .
-   **提供者绘图**:自定义提供者自动被映射到mem0兼容提供者(例如. `openai`通过pi模型登记簿 `api` 字段.
-   **观察日期**数字 : `add()` 接受可选选项 `observedAt` (日期或弦). 在嵌入式模式下,它可以让mem0的提取即时提示如此相干的时间引用("yesterday","上周")与对话的日期而不是系统时钟相抗衡——摄取历史对话时很重要. Omit it and mem0回落到当前日期(正确为活转). 自办的OSS REST API不支持 `observedAt`: 此提供者拒绝在发送前写出日期, 而不是默地重新解释历史日期 .

## 快速启动

在用户/代理设置或信任项目中存储配置 `.pi/settings.json`。当信任下降而不扩展时,项目设置会被忽略 `${ENV_VAR}`;因此,以下环境支持的例子属于用户或代理环境.

### 平台模式

```json
{
  "pi-memory-mem0": {
    "mode": "platform",
    "apiKey": "${MEM0_API_KEY}",
    "userId": "${USER}"
  }
}
```

### 嵌入模式( 建议)

重新使用 Pi 配置的模型提供者的 API 密钥和基础 URL —— **不需要额外的环境变量**。 。 。 .

```json
{
  "pi-memory-mem0": {
    "mode": "embedded",
    "userId": "${USER}"
  }
}
```

OpenAI 的默认值 `text-embedding-3-small` (嵌入)+ `gpt-4.1-nano` (取经. API密钥和基础URL由pi的模型注册自动解决.

使用 `oss.customInstructions` 精炼出Mem0的事实取出,例如用特定语言保存记忆:

```json
{
  "pi-memory-mem0": {
    "mode": "embedded",
    "oss": {
      "customInstructions": "Always record memories in Simplified Chinese."
    }
  }
}
```

这些指示只会影响Mem0的取出模型,而不会影响pi的系统快取. 被召回的记忆仍然是不信任的模型输入,因此只能配置来自被信任源的提取指令.

嵌入初始化开始于背景, 因此会话启动不会等待 SDK 热身 。 内存操作共享相同的准备承诺并报告初始化失败;取消一个等待操作不会取消其他呼叫者的初始化. 自动召回其待发状态已过期的状态不会在初始化完成后启动 SDK 后期搜索 .

现有设置 `mode: "open-source"` 继续装入为 `embedded`不过 `open-source` 不属于支持的配置接口。 新设置应当使用 `embedded`。 。 。 .

### 自控模式

直接拨打OSS REST服务器. 服务器使用 `/memories` 财务报告和审定财务报表 `/search`,而不是Mem0平台 `/v1` 路径.

```json
{
  "pi-memory-mem0": {
    "mode": "self-hosted",
    "baseUrl": "${MEM0_BASE_URL}",
    "apiKey": "${MEM0_API_KEY}",
    "userId": "${PAPERCLIP_COMPANY_ID}",
    "agentId": "${PAPERCLIP_AGENT_ID}",
    "userIdScope": "exact"
  }
}
```

### 自定义提供者

当您的模型注册 定义自定义提供者时 `api: "openai-completions"`,可以直接使用:

```json
{
  "pi-memory-mem0": {
    "mode": "embedded",
    "oss": {
      "llm": {
        "provider": "my-provider",
        "config": { "model": "deepseek-v4-pro" }
      },
      "embedder": {
        "provider": "my-provider",
        "config": { "model": "text-embedding-v4" }
      }
    }
  }
}
```

自动扩展 :

1.  解析模型登记册中的 API 密钥
2.  喷出 `baseUrl` 从登记册收到
3.  地图 `api: "openai-completions"` → 提供商 `"openai"`

### 额外的 OpenAI 请求参数(嵌入)

此寄存器补丁 `mem0ai@3.3.1` 支助 `oss.llm.config.extraBody` 联 合 国 `openai` LLM 提供者. 参数同时被合并为取出和聊天请求机构,因此OpenAI相容的端点可以接收供应商特定选项:

```json
{
  "pi-memory-mem0": {
    "mode": "embedded",
    "oss": {
      "llm": {
        "provider": "openai",
        "config": {
          "model": "qwen3.8-flash",
          "apiKey": "${DASHSCOPE_API_KEY}",
          "baseURL": "https://dashscope.aliyuncs.com/compatible-mode/v1",
          "extraBody": {
            "enable_thinking": false,
            "temperature": 0
          }
        }
      }
    }
  }
}
```

`extraBody` 必须是对象。 它不能覆盖 `model`, (中文(简体) ), `messages`, (中文(简体) ), `tools`, (中文(简体) ), `tool_choice`, (中文(简体) ), `response_format`,或 `stream`;这些字段属于Mem0的请求协议. 使用 API 字段名称等 `max_tokens`, (中文(简体) ), `reasoning_effort`,或 `chat_template_kwargs` 内部 `extraBody`。端点支持取决于选定的模型和提供者.

此补丁由 `pnpm install` 在这个工作空间。 仅安装已发布的扩展并不适用此工作空间补丁 。 重新检查或删除 `patches/mem0ai@3.3.1.patch` 当将Mem0升级到具有同等支持的上游版本时.

### 完全本地( 奥拉姆)

```json
{
  "pi-memory-mem0": {
    "mode": "embedded",
    "userId": "${USER}",
    "oss": {
      "llm": {
        "provider": "ollama",
        "config": { "model": "llama3", "url": "http://localhost:11434" }
      },
      "embedder": {
        "provider": "ollama",
        "config": { "model": "nomic-embed-text", "url": "http://localhost:11434" }
      }
    },
    "useRegistryKeys": false
  }
}
```

### 外部向量存储器( 如 Qdrant)

Qdrant JavaScript 客户端安装在此扩展名下;仍然需要运行的Qdrant 服务器.

对于需要专门的矢量数据库的生产工作量:

```json
{
  "pi-memory-mem0": {
    "mode": "embedded",
    "oss": {
      "vectorStore": {
        "provider": "qdrant",
        "config": { "url": "http://localhost:6333" }
      }
    }
  }
}
```

支持的向量存储提供者 : `memory` (违约), `qdrant`, (中文(简体) ), `redis`, (中文(简体) ), `pgvector`, (中文(简体) ), `supabase`。 。 。 .

配置的向量存储总是拥有持久性 。 要请求一个有意的平面SQLite数据库,请设置 `memory` 供应商 `config.dbPath` 改为 `":memory:"`; 没有创建快照倒计时 .

## 配置参考

| 外地 | 类型 | 默认 | 说明 |
| --- | --- | --- | --- |
| `mode` | `"platform"` | `"embedded"` | `"self-hosted"` | `"platform"` | 操作模式 |
| `memoryMode` | `"hybrid"` | `"active"` | `"passive"` | `"hybrid"` | 用于抓取、召回和工具行为的预设 |
| `autoCapture` | 布尔 | 选中的预设 | 覆盖自动对话抓取 |
| `autoRecall` | 布尔 | 选中的预设 | 取代自动召回注射 |
| `toolEnabled` | 布尔 | 选中的预设 | 覆盖 `mem0_memory` 工具注册 |
| `recallFrequency` | `"user-input"` | `"session"` | `"user-input"` | 提醒每个用户输入, 或只提醒每个持续会话的第一个用户输入; 当 `autoRecall` 错误 |
| `apiKey` | 字符串 | —— 说 | 平台或自办API密钥. 支助 `${MEM0_API_KEY}` |
| `baseUrl` | 字符串 | `https://api.mem0.ai` | 平台覆盖; 自托管模式需要 |
| `requestTimeoutMs` | 正整数 | `30000` 交互式/ `120000` 捕获 | 自动托管请求超时和自动抓取等候预算,跨越后端 |
| `userId` | 字符串 | `$USER` 或者说 `"default-user"` | 内存范围界定标识符 |
| `agentId` | 字符串 | —— 说 | 可选代理范围. 支持环境内插 |
| `userIdScope` | `"project"` | `"exact"` | `"project"` | 附加 Cwd 散列或使用 `userId` 逐字记录 |
| `topK` | 整数大于 `0` | `5` | 自动召回的最大结果 `mem0_memory` 搜索; 使用 `autoRecall: false` 以禁用自动召回 |
| `useRegistryKeys` | 布尔 | `true` | OSS 模式是否从 pi 注册中解析密钥 |
| `oss.customInstructions` | 字符串 | —— 说 | 附加的 Mem0 事实提取指令; 不修改 pi 的系统提示 |
| `oss.llm` | 对象 | OpenAI gpt-4.1-nano (英语) | 开放源码软件提取模型 |
| `oss.embedder` | 对象 | OpenAI 文本嵌入-3-小 | 开放源码软件嵌入模型 |
| `oss.vectorStore` | 对象 | `memory` 时间 `<home>/memories/mem0-vectors.db` | 自定义向量存储配置 |
| `oss.historyStore` | 对象 | SQL 打开 `<home>/memories/mem0-history.db` | 自定义 mem0 历史存储配置 |
| `oss.historyDbPath` | 字符串 | `<home>/memories/mem0-history.db` | SQLite 历史 DB 路径快捷键 |
| `oss.disableHistory` | 布尔 | `false` | 禁用 mem0 操作历史 |

嵌入式和自寄模式读取并写入精确 `userId` + 键 `agentId` 范围; 平台模式用 OR 读取用户和代理实体范围,因为 Mem0 平台将它们作为单独的记录存储. 无效的现有记忆 `agent_id` 不自动回填.

## 数据存储

| 模式 | 矢量数据 | 历史 |
| --- | --- | --- |
| 平台 | 梅姆克・云 | 云管理 |
| 嵌入( 默认路径) | `<home>/memories/mem0-vectors.db` | `<home>/memories/mem0-history.db` |
| 嵌入( N)`memory`, (中文(简体) ), `dbPath: ":memory:"`(中文(简体) ) | 进程 - 本地 SQLite; 重新启动时丢失 | `<home>/memories/mem0-history.db` |
| 嵌入 (QDRANT) | Qdrant 服务器 | `<home>/memories/mem0-history.db` |
| 自办 | 远程服务器 | 远程服务器 |

这个 `home` 目录通过 `resolveHome()` 从 `@amaster.ai/pi-shared/settings` (违约) `~/.pi/agent`) (中文(简体) ).

## 提供者绘图

当供应商名称与mem0的内置列表不符时,扩展使用模型注册的 `api` 字段来映射它 :

| 书记官处 `api` 字段 | 安装到 mem0 供应商 |
| --- | --- |
| `openai-completions`, (中文(简体) ), `openai-responses` | `openai` |
| `anthropic-messages` | `anthropic` |
| `azure-*` | `azure_openai` |
| `google-*`, (中文(简体) ), `gemini-*` | `gemini` |

这样做是透明的,只要配置在您 `models.json`。 。 。 .

## 安装注释

默认嵌入式配置取决于 `better-sqlite3` 内在附加、过境依赖 `mem0ai`)用于向量存储和历史。 这对 `dbPath: ":memory:"`:它改变SQLite存储页面的位置,而不是使用哪个向量存储执行.

**对于 Pi 代理用户**皮阿特尔的 `package.json` 包含 `better-sqlite3` 内 `pnpm.onlyBuiltDependencies` 它会自动编译 `pnpm install`。不需要额外的步骤.

**独立用户**: 如果您的工程的 pnpm 配置块构建脚本, 请添加到您的根中 `package.json`数字 :

```json
{
  "pnpm": {
    "onlyBuiltDependencies": ["better-sqlite3"]
  }
}
```

若为 `better-sqlite3` 无法装入( 例如, 由于节点 ABI 不匹配 ), 默认 `memory` 矢量存储无法启动 。 外部向量存储仍然可以使用,历史已禁用或配置到工作提供者.

## 工具

当解决 `toolEnabled` 值是真实的,代理人获得一个动作分配工具:

```
mem0_memory(action="search", query="...")        # Semantic search over memories
mem0_memory(action="add", content="...")         # Store a durable fact
mem0_memory(action="get_all")                    # List every stored memory
mem0_memory(action="delete", memory_id="...")    # Remove a memory by id
```

存储内容是先进行认证的;结果以相同方式返回 `[UNTRUSTED MEMORY DATA]` 包装为被动召回,包括所需的内存编号 `delete`。 。 。 .

平台写入是同步的 : `mem0_memory` 添加和 `/mem0 add` 报告所写的文字已被接受,并在背景中处理。 这不能确认提取已经完成; 记忆可能还不能搜索, 所以不要重试一个接受的书写 。 同步后端报告返回的记忆或明确为空的取出结果;既包括遗留结果阵列,也包括 `{ results: [...] }` 支持信封,包括内存文本 `data.memory`明确 `FAILED` 状态报告为写入失败。 没有取出结果或未决状态的答复作为未知的写出结果报告.

## 图标

```
/mem0 status          # Show current status
/mem0 search <query>  # Semantic search
/mem0 profile         # List all memories
/mem0 add <text>      # Store a memory manually
/mem0 dedup           # Preview exact duplicates in the current scope
/mem0 dedup --apply   # Confirm and remove exact duplicates
/mem0 delete <id>     # Remove a memory by id
```

## 与 pi- memory 的关系

`pi-memory-mem0` 财务报告和审定财务报表 `pi-memory` 运行 **独立平行** 作为单独的扩展:

-   `pi-memory`: Curated memory – 代理通过 `memory_add` 编号 : `memory_replace` 编号 : `memory_remove` 编号 : `memory_read` 工具,当地 `.md` 文件,硬字符限制
-   `pi-memory-mem0`:语义记忆——自动取出/存储和语义回想(被动),外加: `mem0_memory` 代理驱动语义检索工具( 活动); 无容量限制

它们互不干扰,它们的工具名称也不相冲突. `pi-memory-mem0` 以自定义的用户频道消息方式注入重现的文本( 绝不是系统提示); `pi-memory` 单独输入自己的上下文.

## 编目 API

正常的Mem0写作使用推论,因此Mem0自己的重复和冲突处理仍然是首要的保护. 软件包还输出一个单独的维护功能,用于预览或去除遗留的精确重复:

```ts
import { dedupMemories } from "@amaster.ai/pi-memory-mem0/dedup";

const result = await dedupMemories({
  userId: "my-user",
  agentId: "my-agent",
  config: { mode: "platform", apiKey: "..." },
  dryRun: true,
});
// result: { total: 42, duplicatesFound: 3, duplicatesRemoved: 0, deleteFailures: 0 }
```

Dedup 将使用 Unicode NFC 的条目规范化,大小写不敏感比较,并倒塌的白空间,然后保持最新的精确匹配. 平台用户和代理实体范围独立处理;嵌入式和自托管式模式使用精确 `userId` + 键 `agentId` 范围。 平台和嵌入式瞄准镜限为一万个回想;自托管的去向请求服务器最多1000个回想,并在达到这个极限后失效,因此它只适用于被证明最多能包含999个回想的瞄准镜. 无效或重复的ID,空的内存内容,缺失,无效,或绑定的时间戳,不完全的页码,不一致的平台计数,并取消所有失败的关闭;个人删除失败被报告,没有安装自动的背景清理.

## 结构化结果(Pi 0.99+)

`mem0_memory` 声明 `outputSchema`。搜索/获取全部返回 `{ memories, total, truncated }` 包含完整的ID,认证-校正内存文本,以及可用的分数/时间戳. 删除返回 `{ deletedId, truncated }`添加曝光 `writeStatus: "saved" | "pending" | "unknown" | "empty"`;待决/未知结果不授权重试写入. 返回的内存文本是不信任的数据,就像可读结果一样. 失败者返回 `{ error, truncated }` 设置 `isError: true`。 。 。 .

```javascript
const result = await tools.mem0_memory({ action: "search", query: "project language" });
if (result.error) throw new Error(result.error);
text(result.memories.filter(m => (m.score ?? 1) >= 0.7).map(m => ({ id: m.id, memory: m.memory })));
```

已存在的动作仍为搜索/add/get all/删除;此更改不会给Mem0添加更新的API.

结构化输出限于12个KiB,而顶级列表则限于100个完整的记录. `truncated: true` 表示省略的记录; `total` 保留已有的原始数。 超大小记录,带有 `id` 保留完整的ID和小分级元数据,省略大字段,并携带 `truncated: true` 在记录和信封上;呼叫者必须在重新使用内容进行更新之前检查该旗帜。 没有记录ID的超大小结果返回打出输出限制错误,而不是剪接路径或内容. 当发生这种情况时, 写入可能已经完成: 在重试前检查保存状态 。 可读文本和渲染器细节是独立限定的.

自动召回在模型开始前仍然等待匹配的记忆,现有3秒等待预算. 超时,替换,调用取消,会话关闭取消平台和自备后端的等待并中止搜索. 嵌入式SDK无法停止基础搜索,因此自动召回每个扩展实例只允许一次飞行中嵌入式搜索,包括跨会话过渡并跳过新的召回,直到它解决;后期结果不会被注入到另一个即时. 跳过搜索时不会消耗会话提醒允许量或者写会话标记 。 在嵌入式模式下,超时,取消,或失败的提醒也留下会话备抵,供后一提示;即使没有记忆匹配,完成的搜索也会消耗.

自动抓取在发送前使用一个被绑定的发件箱作为自定义的 Pi 会话项持续 。 它最多维持了16个转弯,最多为64,000个综合字符,一次发送一个写出,并在新捕捉超过两个限制时发出警告;原始对话仍然停留在会话史上. 背景写入默认为120秒的预算, 可以通过 `requestTimeoutMs`,并在会话关闭时被取消。 缓慢的无法取消的嵌入式取出在预算之后继续维持其单飞行时段;经证实的后期成功会排出下一个排队的转弯来取出,而不是拖取。 嵌入式写作无法被停止, 因此它们的原始操作仍然是单飞跨会话过渡而不阻断关闭 。 未确认的写入保留在发端会话中,当恢复该会话时,使用相同的后端配置和身份,使用其在平台上的原始观测日期和嵌入后端进行回放. 自办开放源码软件缺乏观测-日期API:新的同UTC-日转会使用其正常的当前日期API,而恢复或跨日转会则明显被存档用于人工恢复,而不是以假日期发送. 存档条目引用了原始可耐用的出箱条目并转出索引,将活动队列释放为活捉而无需复制其有效载荷. 直接日期的写作仍然不支持. 模棱两可的失败会暂停抓取直到恢复;回放至少是一次,并且可以复制服务器在取消前接受的写作. 启动不同的会话不会重放另一个会话的发件箱 .

### 诊断失败

失败的召回会产生一个有限度的“无法重复的回忆”上下文通知,有别于没有匹配的成功搜索。 嵌入式热身失败后仍有资格召回。 自备运输故障保留安全出错类别;无效的JSON单独报告.

## 常见问题

### @amaster\.ai/pi-memory-mem0 是什么？

Mem0 pi的语义记忆——自动捕获,语义回想,以及一个代理可调用的记忆工具\. 平台,嵌入式,或自行托管\.

### 如何安装 @amaster\.ai/pi-memory-mem0？

在项目目录运行 npm install @amaster\.ai/pi-memory-mem0，或使用 pnpm add / yarn add / bun add。

### @amaster\.ai/pi-memory-mem0 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @amaster\.ai/pi-memory-mem0 支持 ESM 还是 CommonJS？

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

### @amaster\.ai/pi-memory-mem0 可以商用吗？

@amaster\.ai/pi-memory-mem0 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @amaster\.ai/pi-memory-mem0 的下载量有多少？

根据 npm 官方下载统计，@amaster\.ai/pi-memory-mem0 在 2026/10/06 – 2026/11/04 这 30 天内被下载 4,454 次，日均约 148 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @amaster\.ai/pi-memory-mem0 还在维护吗？

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

