@amaster.ai/pi-memory-mem0

中文文档
0.1.37发布于 2026/11/09Apache-2.0TypeScriptES Module近 30 天下载 4454

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

中文使用文档
文档目录23 节
  1. 如何运作
  2. 模式
  3. 后端模式
  4. 内存模式
  5. 结构( 嵌入模式)
  6. 快速启动
  7. 平台模式
  8. 嵌入模式( 建议)
  9. 自控模式
  10. 自定义提供者
  11. 额外的 OpenAI 请求参数(嵌入)
  12. 完全本地( 奥拉姆)
  13. 外部向量存储器( 如 Qdrant)
  14. 配置参考
  15. 数据存储
  16. 提供者绘图
  17. 安装注释
  18. 工具
  19. 图标
  20. 与 pi- memory 的关系
  21. 编目 API
  22. 结构化结果(Pi 0.99+)
  23. 诊断失败

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

pi-memory-mem0 preview

语义内存扩展由 记忆,带有平台,嵌入式,以及自办后端和三种内存模式(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快速启动, 多设备同步
embeddedMem0 OSS 向量存储管理病媒储存LLM + 嵌入 API数据隐私, 无 Mem0 Cloud
self-hostedMem0 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 工具表面; 全自动内存

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

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

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

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

{
  "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};因此,以下环境支持的例子属于用户或代理环境.

平台模式

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

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

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

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

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

{
  "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 路径.

{
  "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",可以直接使用:

{
  "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 请求参数(嵌入)

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

{
  "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/[email protected] 当将Mem0升级到具有同等支持的上游版本时.

完全本地( 奥拉姆)

{
  "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 服务器.

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

{
  "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整数大于 05自动召回的最大结果 mem0_memory 搜索; 使用 autoRecall: false 以禁用自动召回
useRegistryKeys布尔trueOSS 模式是否从 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.dbSQLite 历史 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-responsesopenai
anthropic-messagesanthropic
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数字 :

{
  "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自己的重复和冲突处理仍然是首要的保护. 软件包还输出一个单独的维护功能,用于预览或去除遗留的精确重复:

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。 。 。 .

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 共发布 105 个版本,首次发布于 2026/06/11;过去 12 个月发布了 105 个版本。

版本发布日期距今
0.1.37latest2026/11/09今天
0.1.2-beta.91beta2026/11/072 天前
0.1.2-beta.902026/11/062 天前
0.1.2-beta.892026/11/053 天前
0.1.2-beta.882026/11/054 天前
0.1.362026/11/054 天前

关于 @amaster.ai/pi-memory-mem0 的常见问题

@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 和提交记录判断。