agentic_huge_data_base / wiki
页面 Mem0 · 12.3 服务端仪表盘·DeepWiki 中文全文译文

12.3 · 服务端仪表盘(Server Dashboard)

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

项目Mem0 章节12.3 状态全文译文 模块认证、权限与安全、系统架构、界面与交互、安装与启动
源码线索
  • 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 后端交互,为核心内存操作提供了一个用户友好的界面。

概述与目的

服务器仪表盘专为开发者和运维人员设计,用于实时监控内存层。它提供了内存提取、存储和检索过程的可视化能力,这对于调试代理行为以及确保自托管部署中的数据质量至关重要 docs/open-source/features/rest-api.mdx:7-14

主要功能
  • 请求日志:API 调用的实时审计日志,包含方法、路径、状态和延迟信息 server/README.md:97-97
  • 内存浏览器:浏览内存,并支持按 user_id 进行筛选 server/README.md:98-98
  • 实体管理:列出并管理 user_idagent_idrun_id 实体,支持级联删除关联内存 server/README.md:99-99
  • API 密钥管理:创建、标记和撤销每个用户的 m0sk_ 密钥 server/README.md:100-100
  • 配置界面:热加载大语言模型(LLM)和嵌入向量的系统设置 server/README.md:101-101

架构与数据流

仪表盘是一个独立的、使用 Next.js 构建的前端应用(运行在 3000 端口),它与 FastAPI 服务器(运行在 8888 端口)进行通信 server/docker-compose.yaml:9-55

系统组件关系

下图展示了仪表盘如何与服务器的内部路由以及底层存储后端进行交互。

仪表盘到代码实体的映射

Mem0 · 系统组件关系 · 图 1
Mem0 · 系统组件关系 · 图 1

来源: server/main.py:153-166, server/server_state.py:34-34, server/main.py:101-112, server/docker-compose.yaml:52-60

核心仪表盘模块

1. 请求日志

仪表盘提供了服务器处理的每个请求的详细审计日志。这由 RequestLog 模型和 requests 路由支持 server/main.py:27-32

  • 排除项:为保持日志整洁,某些路径如 /api/health/docs/openapi.json 会被排除。此外,以 /requests 为前缀的路径也会被跳过,以避免递归记录日志 server/main.py:52-53
  • 实现:每个请求通过 new_request_id() 分配一个唯一的 request_id,并通过 request_id_var ContextVar 进行追踪,确保日志在异步任务中可追溯 server/main.py:17-21
  • 保留策略:日志根据 REQUEST_LOG_RETENTION_DAYS(默认 30 天)进行维护,并可使用 make prune-logs 命令进行清理 server/.env.example:31-33, server/Makefile:55-56
2. 内存浏览器与实体管理

浏览器允许用户以可视化方式执行 searchget_all 操作。它支持 SDK 中提供的全部参数 server/main.py:189-195

仪表盘部分后端模型/路由功能
内存SearchRequest支持 top_kthreshold 参数的语义搜索 server/main.py:189-195, tests/test_server_params.py:61-114
实体entities_router列出所有唯一标识符(user_idagent_idrun_id)及其内存计数 server/main.py:31-31, server/README.md:99-99
操作MemoryCreate使用 infer 模式或自定义 prompt 插入内存 server/main.py:173-182, tests/test_server_params.py:132-166
3. 配置管理

仪表盘允许管理员在运行时查看和更新 MemoryConfig。更改会持久化到应用数据库,并在重启后重新应用,覆盖 .env 中的默认值 server/README.md:101-101

配置数据流

Mem0 · 3. 配置管理 · 图 2
Mem0 · 3. 配置管理 · 图 2

来源: server/server_state.py:34-34, server/main.py:135-136, server/README.md:101-101

安全与认证

仪表盘通过多层认证系统来加强安全性。

  • 登录流程:用户通过 POST /auth/login 进行认证,以获取一个 JWT access_token docs/open-source/features/rest-api.mdx:152-155
  • CORS(跨域资源共享):服务器允许 DASHBOARD_URL(默认为 http://localhost:3000),并支持 allow_credentials=True 以进行会话管理 server/main.py:153-160
  • 敏感数据保护:诸如 admin_api_keyjwt_secretpassword 等密钥在 SENSITIVE_CONFIG_KEYS 中被标识,并会被编辑或过滤,以防止意外泄露 server/main.py:42-51
  • 安全头部:仪表盘设置 X-Frame-Options: DENYContent-Security-Policy: frame-ancestors 'none' 以防止点击劫持 server/README.md:113-122
管理员设置与恢复

首次运行时,如果 User 表中没有用户,服务器会记录一条警告,并提供在 /setup 注册管理员的说明 server/main.py:59-80。管理员可以通过主机 shell 使用 make reset-admin-password 重置忘记的密码 server/README.md:64-73

来源: server/main.py:16-16, server/main.py:162-163, server/README.md:57-63, server/Makefile:50-53