agentic_huge_data_base / wiki
页面 Mem0 · 12 自托管服务端·DeepWiki 中文全文译文

12 · 自托管服务端(Self-Hosted Server)

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

项目Mem0 章节12 状态全文译文 模块安装与启动、界面与交互、配置治理、系统架构
源码线索
  • docs/open-source/features/rest-api.mdx
  • examples/graph-db-demo/alice-memories.png
  • examples/graph-db-demo/memgraph-example.ipynb
  • server/.env.example
  • server/Dockerfile
  • server/Makefile
  • server/README.md
  • server/dev.Dockerfile
  • server/docker-compose.yaml
  • server/main.py
模块标签
  • 安装与启动
  • 界面与交互
  • 配置治理
  • 系统架构
  • 接口与服务契约

章节正文

自托管服务端

自托管服务器

相关源文件

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

  • docs/open-source/features/rest-api.mdx
  • examples/graph-db-demo/alice-memories.png
  • examples/graph-db-demo/memgraph-example.ipynb
  • server/.env.example
  • server/Dockerfile
  • server/Makefile
  • server/README.md
  • server/dev.Dockerfile
  • server/docker-compose.yaml
  • server/main.py
  • server/requirements.txt
  • tests/test_server_auth.py
  • tests/test_server_params.py

Mem0 自托管服务器是一个基于 FastAPI 构建的 REST 层,通过 HTTP 协议暴露 Mem0 的全部功能。它允许团队将 Mem0 记忆层集成到任何应用栈中,无论使用何种编程语言,并提供了内置仪表盘用于记忆管理和监控 docs/open-source/features/rest-api.mdx:7-14

该服务器专为生产环境的高可用性而设计,具备基于 JWT 的认证机制、按用户划分的 API 密钥管理,以及使用 PostgreSQL(含 pgvector 扩展)进行向量嵌入存储、使用 SQLite 进行记忆历史记录存储的健壮数据层 server/main.py:101-109, server/README.md:58-62

系统总览

自托管架构由三个主要组件构成:

  1. FastAPI 服务器:负责处理记忆操作、搜索和配置的核心逻辑 server/main.py:139-149
  2. 仪表盘:基于 Next.js 的 Web 界面,用于管理记忆、查看日志和配置系统 server/README.md:93-103
  3. 数据库层:使用 PostgreSQL(含 pgvector)进行向量存储,使用本地 SQLite 数据库进行历史记录追踪 server/main.py:101-109, server/docker-compose.yaml:32-33
架构图

下图展示了 REST API 端点、内部状态管理以及底层存储后端之间的关系。

服务器实体关系

Mem0 · 架构图 · 图 1
Mem0 · 架构图 · 图 1

来源:server/main.py:162-165, server/main.py:126-132, server/server_state.py:34-34, server/README.md:93-103, server/db.py:26-26

服务器组件

自托管服务器将 Mem0 核心库与多用户环境所需的基础设施捆绑在一起。

核心 API 端点

服务器实现了标准的记忆 CRUD 操作,直接映射到 mem0 库的 Memory 类方法。

端点方法描述库调用
/memoriesPOST从消息中添加新记忆memory.add()
/searchPOST使用过滤器搜索记忆memory.search()
/memories/{id}GET检索特定记忆memory.get()
/memoriesGET列出所有记忆(可带过滤器)memory.get_all()
/resetPOST清除所有记忆memory.reset()

来源:server/main.py:173-200, tests/test_server_params.py:64-160

配置与状态

服务器通过 server_state.py 管理全局状态。启动时,它会使用 DEFAULT_CONFIG 初始化一个 Memory 实例,该配置包含 PostgreSQL 连接详情以及默认的大语言模型(LLM)/嵌入向量(Embedder)设置 server/main.py:113-136

代码映射:API 到库

Mem0 · 配置与状态 · 图 2
Mem0 · 配置与状态 · 图 2

来源:server/main.py:173-195, tests/test_server_params.py:64-143

子页面

服务器设置与部署

涵盖使用 make bootstrap 的启动流程、Docker Compose 编排以及环境变量配置 server/README.md:5-17。详细说明了如何设置 PostgreSQL/pgvector 后端以及处理初始管理员注册 server/docker-compose.yaml:32-50。 *详情请参阅 服务器设置与部署。*

服务器认证与安全

解释自托管服务器的安全模型。这包括仪表盘的 JWT 认证、按用户划分的 X-API-Key 管理(用于程序化访问),以及用于本地开发的 AUTH_DISABLED 标志 server/main.py:139-146, docs/open-source/features/rest-api.mdx:127-138。 *详情请参阅 服务器认证与安全。*

服务器仪表盘

内置管理界面的文档。涵盖按 user_id 浏览记忆、查看实时请求日志以进行审计、管理实体,以及运行时覆盖大语言模型(LLM)和嵌入向量(Embedder)提供商的配置 server/README.md:93-103。 *详情请参阅 服务器仪表盘。*

关键环境变量

服务器的行为主要由 .env 文件中定义的环境变量控制。

变量用途默认值
ADMIN_API_KEY用于程序化访问的旧版主密钥
JWT_SECRET用于签署仪表盘会话令牌的密钥必填
AUTH_DISABLED绕过所有安全机制(仅限开发环境)false
POSTGRES_HOSTpgvector 数据库的主机postgres
MEM0_TELEMETRY选择加入/退出匿名使用统计true

来源:server/main.py:101-112, server/.env.example:14-29, server/main.py:83-87