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

8 · 客户端 SDKs(Client SDKs)

长期记忆与上下文管理 · 本章是 Mem0 DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目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(中文译文)

原始 DeepWiki 页面:https://deepwiki.com/mem0ai/mem0/8-client-sdks
翻译时间:2026-05-27T08:44:58.741Z
翻译模型:deepseek-chat
原文字符数:7762
项目:Mem0 (mem0)

---

客户端 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 组织架构图
graph TB
    subgraph Python["Python SDK (mem0ai)"]
        PyPlatform["MemoryClient<br/>(mem0.client.main.MemoryClient)"]
        PyOSS["Memory<br/>(mem0.memory.main.Memory)"]
        PyClientFile["mem0/client/main.py"]

        PyClientFile --> PyPlatform
    end

    subgraph TypeScript["TypeScript SDK (mem0ai)"]
        TSPlatform["import MemoryClient from 'mem0ai'"]
        TSOSS["import { Memory } from 'mem0ai/oss'"]
        TSClientFile["mem0-ts/src/client/mem0.ts"]

        TSClientFile --> TSPlatform
    end

    subgraph Backend["后端系统"]
        PlatformAPI["Mem0 平台 API<br/>api.mem0.ai"]
        LocalStorage["本地存储<br/>SQLiteManager, VectorStoreBase"]
    end

    PyPlatform -->|"REST API"| PlatformAPI
    TSPlatform -->|"REST API"| PlatformAPI
    PyOSS --> LocalStorage
    TSOSS --> LocalStorage

来源: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 的轻量封装,使用特定端点进行记忆管理。

graph LR
    subgraph SDK["客户端 SDK"]
        MClient["MemoryClient"]
    end

    subgraph Platform["Mem0 平台 API"]
        V1Ping["/v1/ping/"]
        V1Entities["/v1/entities/"]
        V3Add["/v3/memories/add/"]
    end

    MClient -->|"GET"| V1Ping
    MClient -->|"GET"| V1Entities
    MClient -->|"POST"| V3Add

来源: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