agentic_huge_data_base / wiki
页面 Mem0 · 8 客户端 SDKs·DeepWiki 中文全文译文

8 · 客户端 SDKs(Client SDKs)

长期记忆与上下文管理 · 聚焦本章的模块关系、源码依据与实现要点。

项目Mem0 章节8 状态全文译文 模块安装与启动、测试、发布与运维、检索、召回与索引、记忆与上下文
源码线索
  • docs/api-reference/entities/delete-user.mdx
  • docs/api-reference/entities/get-users.mdx
  • docs/api-reference/events/get-event.mdx
  • docs/api-reference/events/get-events.mdx
  • docs/openapi.json
  • docs/platform/quickstart.mdx
  • mem0-ts/package.json
  • mem0-ts/src/client/index.ts
  • mem0-ts/src/client/mem0.ts
  • mem0-ts/src/client/mem0.types.ts
模块标签
  • 安装与启动
  • 测试、发布与运维
  • 检索、召回与索引
  • 记忆与上下文
  • 接口与服务契约

章节正文

客户端 SDKs

客户端 SDK

相关源文件

本章引用的主要源码文件:

  • docs/api-reference/entities/delete-user.mdx
  • docs/api-reference/entities/get-users.mdx
  • docs/api-reference/events/get-event.mdx
  • docs/api-reference/events/get-events.mdx
  • docs/openapi.json
  • docs/platform/quickstart.mdx
  • mem0-ts/package.json
  • mem0-ts/src/client/index.ts
  • mem0-ts/src/client/mem0.ts
  • mem0-ts/src/client/mem0.types.ts
  • mem0-ts/src/client/telemetry.ts
  • mem0-ts/src/client/tests/memoryClient.webhooks.test.ts
  • mem0/client/main.py

本文档概述了 Mem0 为 Python 和 TypeScript/JavaScript 提供的客户端 SDK。内容涵盖安装方式、包结构、部署模式及基本使用模式。详细的 API 参考和语言特定功能,请参见 Python SDKTypeScript/JavaScript SDK

Mem0 客户端 SDK 提供两种部署模式:

  • 平台模式:使用 MemoryClient 连接到托管在 https://api.mem0.ai 的 Mem0 平台 API。mem0/client/main.py:97-97mem0-ts/src/client/mem0.ts:104-104
  • 开源模式:使用 Memory 类配合自托管的存储组件在本地运行记忆系统。

安装

两种 SDK 都通过标准包管理器分发。

Python
pip install mem0ai

环境要求:Python 3.10 或更高版本。docs/platform/quickstart.mdx:14-14

TypeScript/JavaScript
npm install mem0ai

环境要求:Node.js 18 或更高版本。mem0-ts/package.json:129-131

TypeScript SDK 使用对等依赖(peer dependencies)来集成各个提供商(例如 openai@qdrant/js-client-restbetter-sqlite3)。请仅安装特定配置所需的依赖。mem0-ts/package.json:108-128

包结构

两种 SDK 都将导出内容组织到平台模式和开源模式各自的命名空间中。

SDK 组织架构图
Mem0 · SDK 组织架构图 · 图 1
Mem0 · SDK 组织架构图 · 图 1

来源:mem0/client/main.py:62-62mem0-ts/src/client/mem0.ts:81-81mem0-ts/package.json:18-29

包导出
语言导入路径模式
Pythonmem0.MemoryClientMemoryClient平台(同步)
Pythonmem0.AsyncMemoryClientAsyncMemoryClient平台(异步)
TypeScriptmem0aiMemoryClient平台
TypeScriptmem0ai/ossMemory开源

来源:mem0/client/main.py:62-62mem0-ts/package.json:18-29

部署模式对比

平台模式架构

在平台模式下,SDK 作为 Mem0 REST API 的轻量封装,使用特定端点进行记忆管理。

Mem0 · 平台模式架构 · 图 2
Mem0 · 平台模式架构 · 图 2

来源:mem0/client/main.py:144-144mem0-ts/src/client/mem0.ts:216-216docs/openapi.json:25-89

模式对比表
特性平台模式开源模式
认证API 密钥(令牌)本地配置
初始化MemoryClient(api_key="...")Memory(config={...})
遥测capture_client_eventcapture_event
异步支持AsyncMemoryClient(Python)/ 原生(TypeScript)AsyncMemory(Python)/ 原生(TypeScript)
实体作用域user_idagent_idapp_idrun_iduser_idagent_idapp_idrun_id

来源:mem0/client/main.py:33-33mem0-ts/src/client/mem0.ts:39-48docs/platform/quickstart.mdx:32-54mem0/client/main.py:23-23

配置模式

平台模式配置

两种 SDK 都需要 API 密钥。初始化时会执行 ping() 操作来验证密钥并获取项目元数据,例如 org_idproject_idmem0/client/main.py:140-153mem0-ts/src/client/mem0.ts:214-249

Python:

from mem0 import MemoryClient
client = MemoryClient(api_key="your-api-key")

TypeScript:

import MemoryClient from 'mem0ai';
const client = new MemoryClient({ apiKey: 'your-api-key' });

来源:mem0/client/main.py:75-126mem0-ts/src/client/mem0.ts:102-122docs/platform/quickstart.mdx:32-43

核心 API 一致性

两种 SDK 都提供一致的记忆操作接口。

通用方法
  • add(messages, ...):从消息历史中提取并存储事实。mem0/client/main.py:164-164mem0-ts/src/client/mem0.ts:251-251
  • search(query, ...):基于自然语言查询检索相关记忆。mem0/client/main.py:235-235mem0-ts/src/client/mem0.ts:316-316
  • get(memory_id):通过 UUID 检索特定记忆。mem0/client/main.py:202-202mem0-ts/src/client/mem0.ts:291-291
  • get_all() / getAll():列出记忆,支持可选过滤和分页。mem0/client/main.py:277-277mem0-ts/src/client/mem0.ts:344-344
  • update(memory_id, ...):手动更新记忆内容或元数据。mem0/client/main.py:335-335mem0-ts/src/client/mem0.ts:265-265
  • delete(memory_id):删除特定记忆。mem0/client/main.py:382-382mem0-ts/src/client/mem0.ts:376-376
  • history(memory_id):检索记忆的修订历史。mem0/client/main.py:417-417mem0-ts/src/client/mem0.ts:393-393
实体作用域与过滤

操作支持通过 user_idagent_idapp_idrun_id 进行作用域限定。在平台 SDK 中,这些参数必须严格通过 filters 对象或特定的关键字参数传递,以防止顶层参数污染。mem0/client/main.py:33-33mem0-ts/src/client/mem0.ts:39-48

后续步骤

有关每个 SDK 的详细用法:

  • Python SDK — 全面的 Python SDK 文档:MemoryClientAsyncMemoryClientMemoryAsyncMemory
  • TypeScript/JavaScript SDK — TypeScript SDK 文档:@mem0ai 包、客户端和开源模式、类型定义
  • Vercel AI SDK 提供商 — 文档说明 @mem0/vercel-ai-provider 集成、createMem0、增强记忆的大语言模型(LLM)调用

来源:mem0/client/main.py:32-33mem0-ts/src/client/mem0.ts:38-48