{
  "canonical_name": "mem0ai/mem0",
  "compilation_id": "pack_6017d71ad1c94ba980152df1e3099d03",
  "created_at": "2026-05-11T08:47:46.281209+00:00",
  "created_by": "project-pack-compiler",
  "feedback": {
    "carrier_selection_notes": [
      "viable_asset_types=skill, recipe, host_instruction, eval, preflight",
      "recommended_asset_types=skill, recipe, host_instruction, eval, preflight"
    ],
    "evidence_delta": {
      "confirmed_claims": [
        "identity_anchor_present",
        "capability_and_host_targets_present",
        "install_path_declared_or_better"
      ],
      "missing_required_fields": [],
      "must_verify_forwarded": [
        "Run or inspect `pip install mem0ai` in an isolated environment.",
        "Confirm the project exposes the claimed capability to at least one target host."
      ],
      "quickstart_execution_scope": "allowlisted_sandbox_smoke",
      "sandbox_command": "pip install mem0ai",
      "sandbox_container_image": "python:3.12-slim",
      "sandbox_execution_backend": "docker",
      "sandbox_planner_decision": "llm_execute_isolated_install",
      "sandbox_validation_id": "sbx_0a6e8be374c64e2fbc867aedf29f9ca4"
    },
    "feedback_event_type": "project_pack_compilation_feedback",
    "learning_candidate_reasons": [],
    "template_gaps": []
  },
  "identity": {
    "canonical_id": "project_705bceae51896b86302dd8a2c6555df9",
    "canonical_name": "mem0ai/mem0",
    "homepage_url": null,
    "license": "unknown",
    "repo_url": "https://github.com/mem0ai/mem0",
    "slug": "mem0",
    "source_packet_id": "phit_ceee1cd37c374289a51aac4615bd36ea",
    "source_validation_id": "dval_6c80ffb7d0c04b96bdb9f585b93e58b2"
  },
  "merchandising": {
    "best_for": "需要个人工作台能力，并使用 chatgpt的用户",
    "github_forks": 6316,
    "github_stars": 55547,
    "one_liner_en": "Universal memory layer for AI Agents",
    "one_liner_zh": "Universal memory layer for AI Agents",
    "primary_category": {
      "category_id": "personal-workspace",
      "confidence": "medium",
      "name_en": "Personal Workspace",
      "name_zh": "个人工作台",
      "reason": "matched_keywords:memory"
    },
    "target_user": "使用 chatgpt 等宿主 AI 的用户",
    "title_en": "mem0",
    "title_zh": "mem0 能力包",
    "visible_tags": [
      {
        "label_en": "Browser Agents",
        "label_zh": "浏览器 Agent",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "product_domain-browser-agents",
        "type": "product_domain"
      },
      {
        "label_en": "Web Task Automation",
        "label_zh": "网页任务自动化",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "user_job-web-task-automation",
        "type": "user_job"
      },
      {
        "label_en": "Browser Automation",
        "label_zh": "浏览器自动化",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "core_capability-browser-automation",
        "type": "core_capability"
      },
      {
        "label_en": "Checkpoint Resume",
        "label_zh": "断点恢复流程",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "workflow_pattern-checkpoint-resume",
        "type": "workflow_pattern"
      },
      {
        "label_en": "Evaluation Suite",
        "label_zh": "评测体系",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "selection_signal-evaluation-suite",
        "type": "selection_signal"
      }
    ]
  },
  "packet_id": "phit_ceee1cd37c374289a51aac4615bd36ea",
  "page_model": {
    "artifacts": {
      "artifact_slug": "mem0",
      "files": [
        "PROJECT_PACK.json",
        "QUICK_START.md",
        "PROMPT_PREVIEW.md",
        "HUMAN_MANUAL.md",
        "AI_CONTEXT_PACK.md",
        "BOUNDARY_RISK_CARD.md",
        "PITFALL_LOG.md",
        "REPO_INSPECTION.json",
        "REPO_INSPECTION.md",
        "CAPABILITY_CONTRACT.json",
        "EVIDENCE_INDEX.json",
        "CLAIM_GRAPH.json"
      ],
      "required_files": [
        "PROJECT_PACK.json",
        "QUICK_START.md",
        "PROMPT_PREVIEW.md",
        "HUMAN_MANUAL.md",
        "AI_CONTEXT_PACK.md",
        "BOUNDARY_RISK_CARD.md",
        "PITFALL_LOG.md",
        "REPO_INSPECTION.json"
      ]
    },
    "detail": {
      "capability_source": "Project Hit Packet + DownstreamValidationResult",
      "commands": [
        {
          "command": "pip install mem0ai",
          "label": "Python / pip · 官方安装入口",
          "source": "https://github.com/mem0ai/mem0#readme",
          "verified": true
        }
      ],
      "display_tags": [
        "浏览器 Agent",
        "网页任务自动化",
        "浏览器自动化",
        "断点恢复流程",
        "评测体系"
      ],
      "eyebrow": "个人工作台",
      "glance": [
        {
          "body": "判断自己是不是目标用户。",
          "label": "最适合谁",
          "value": "需要个人工作台能力，并使用 chatgpt的用户"
        },
        {
          "body": "先理解能力边界，再决定是否继续。",
          "label": "核心价值",
          "value": "Universal memory layer for AI Agents"
        },
        {
          "body": "未完成验证前保持审慎。",
          "label": "继续前",
          "value": "publish to Doramagic.ai project surfaces"
        }
      ],
      "guardrail_source": "Boundary & Risk Card",
      "guardrails": [
        {
          "body": "Prompt Preview 只展示流程，不证明项目已安装或运行。",
          "label": "Check 1",
          "value": "不要把试用当真实运行"
        },
        {
          "body": "chatgpt",
          "label": "Check 2",
          "value": "确认宿主兼容"
        },
        {
          "body": "publish to Doramagic.ai project surfaces",
          "label": "Check 3",
          "value": "先隔离验证"
        }
      ],
      "mode": "skill, recipe, host_instruction, eval, preflight",
      "pitfall_log": {
        "items": [
          {
            "body": "README/documentation is current enough for a first validation pass.",
            "category": "能力坑",
            "evidence": [
              "capability.assumptions | github_repo:656099147 | https://github.com/mem0ai/mem0 | README/documentation is current enough for a first validation pass."
            ],
            "severity": "medium",
            "suggested_check": "将假设转成下游验证清单。",
            "title": "能力判断依赖假设",
            "user_impact": "假设不成立时，用户拿不到承诺的能力。"
          },
          {
            "body": "未记录 last_activity_observed。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | last_activity_observed missing"
            ],
            "severity": "medium",
            "suggested_check": "补 GitHub 最近 commit、release、issue/PR 响应信号。",
            "title": "维护活跃度未知",
            "user_impact": "新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。"
          },
          {
            "body": "no_demo",
            "category": "安全/权限坑",
            "evidence": [
              "downstream_validation.risk_items | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium"
            ],
            "severity": "medium",
            "suggested_check": "进入安全/权限治理复核队列。",
            "title": "下游验证发现风险项",
            "user_impact": "下游已经要求复核，不能在页面中弱化。"
          },
          {
            "body": "no_demo",
            "category": "安全/权限坑",
            "evidence": [
              "risks.scoring_risks | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium"
            ],
            "severity": "medium",
            "suggested_check": "把风险写入边界卡，并确认是否需要人工复核。",
            "title": "存在评分风险",
            "user_impact": "风险会影响是否适合普通用户安装。"
          },
          {
            "body": "issue_or_pr_quality=unknown。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | issue_or_pr_quality=unknown"
            ],
            "severity": "low",
            "suggested_check": "抽样最近 issue/PR，判断是否长期无人处理。",
            "title": "issue/PR 响应质量未知",
            "user_impact": "用户无法判断遇到问题后是否有人维护。"
          },
          {
            "body": "release_recency=unknown。",
            "category": "维护坑",
            "evidence": [
              "evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | release_recency=unknown"
            ],
            "severity": "low",
            "suggested_check": "确认最近 release/tag 和 README 安装命令是否一致。",
            "title": "发布节奏不明确",
            "user_impact": "安装命令和文档可能落后于代码，用户踩坑概率升高。"
          }
        ],
        "source": "ProjectPitfallLog + ProjectHitPacket + validation + community signals",
        "summary": "发现 6 个潜在踩坑项，其中 0 个为 high/blocking；最高优先级：能力坑 - 能力判断依赖假设。",
        "title": "踩坑日志"
      },
      "snapshot": {
        "contributors": 313,
        "forks": 6316,
        "license": "unknown",
        "note": "GitHub API 快照，非实时质量证明；用于开工前背景判断。",
        "stars": 55547,
        "open_issues": 341,
        "pushed_at": "2026-05-12T20:29:47.000Z"
      },
      "source_url": "https://github.com/mem0ai/mem0",
      "steps": [
        {
          "body": "不安装项目，先体验能力节奏。",
          "code": "preview",
          "title": "先试 Prompt"
        },
        {
          "body": "理解输入、输出、失败模式和边界。",
          "code": "manual",
          "title": "读说明书"
        },
        {
          "body": "把上下文交给宿主 AI 继续工作。",
          "code": "context",
          "title": "带给 AI"
        },
        {
          "body": "进入主力环境前先完成安装入口与风险边界验证。",
          "code": "verify",
          "title": "沙箱验证"
        }
      ],
      "subtitle": "Universal memory layer for AI Agents",
      "title": "mem0 能力包",
      "trial_prompt": "# mem0 - Prompt Preview\n\n> 复制下面这段 Prompt 到你常用的 AI，先试一次，不需要安装。\n> 它的目标是让你直接体验这个项目的服务方式，而不是阅读项目介绍。\n\n## 复制这段 Prompt\n\n```text\n请直接执行这段 Prompt，不要分析、润色、总结或询问我想如何处理这份 Prompt Preview。\n\n你现在扮演 mem0 的“安装前体验版”。\n这不是项目介绍、不是评价报告、不是 README 总结。你的任务是让我用最小成本体验它的核心服务。\n\n我的试用任务：我想用它完成一个真实的个人工作台任务。\n我常用的宿主 AI：chatgpt\n\n【体验目标】\n围绕我的真实任务，现场演示这个项目如何把输入转成 步骤建议, 检查清单, 专业工作流。重点是让我感受到工作方式，而不是给我项目背景。\n\n【业务流约束】\n- 你必须像一个正在提供服务的项目能力包，而不是像一个讲解员。\n- 每一轮只推进一个步骤；提出问题后必须停下来等我回答。\n- 每一步都必须让我感受到一个具体服务动作：澄清、整理、规划、检查、判断或收尾。\n- 每一步都要说明：当前目标、你需要我提供什么、我回答后你会产出什么。\n- 不要安装、不要运行命令、不要写代码、不要声称测试通过、不要声称已经修改文件。\n- 需要真实安装或宿主加载后才能验证的内容，必须明确说“这一步需要安装后验证”。\n- 如果我说“用示例继续”，你可以用虚构示例推进，但仍然不能声称真实执行。\n\n【可体验服务能力】\n- AI Skill / Agent 指令资产库: 项目包含可被宿主 AI 读取的 Skill 或 Agent 指令文件，可用于把专业流程带入 Claude、Codex、Cursor 等宿主。 输入：用户任务, 宿主 AI 对话上下文, 项目内 Skill/Agent 文档；输出：步骤建议, 检查清单, 专业工作流。\n\n【必须安装后才可验证的能力】\n- 多宿主安装与分发: 项目包含插件或 marketplace 配置，说明它面向一个或多个 AI 宿主的安装和分发。 输入：宿主 AI 工具, 插件配置, 安装命令；输出：宿主内可发现的插件/技能集合。\n- 命令行启动或安装流程: 项目文档中存在可执行命令，真实使用需要在本地或宿主环境中运行这些命令。 输入：终端环境, 包管理器, 项目依赖；输出：安装结果, 列表/更新/运行结果。\n\n【核心服务流】\n请严格按这个顺序带我体验。不要一次性输出完整流程：\n1. page-introduction：Mem0 简介。围绕“Mem0 简介”模拟一次用户任务，不展示安装或运行结果。\n2. page-installation：安装与配置。围绕“安装与配置”模拟一次用户任务，不展示安装或运行结果。\n3. page-architecture：系统架构。围绕“系统架构”模拟一次用户任务，不展示安装或运行结果。\n4. page-core-components：核心组件详解。围绕“核心组件详解”模拟一次用户任务，不展示安装或运行结果。\n5. page-memory-operations：记忆操作API。围绕“记忆操作API”模拟一次用户任务，不展示安装或运行结果。\n\n【核心能力体验剧本】\n每一步都必须按“输入 -> 服务动作 -> 中间产物”执行。不要只说流程名：\n1. page-introduction\n输入：用户提供的“Mem0 简介”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n2. page-installation\n输入：用户提供的“安装与配置”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n3. page-architecture\n输入：用户提供的“系统架构”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n4. page-core-components\n输入：用户提供的“核心组件详解”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n5. page-memory-operations\n输入：用户提供的“记忆操作API”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n【项目服务规则】\n这些规则决定你如何服务用户。不要解释规则本身，而要在每一步执行时遵守：\n- 先确认用户任务、输入材料和成功标准，再模拟项目能力。\n- 每一步都必须形成可检查的小产物，并等待用户确认后再继续。\n- 凡是需要安装、调用工具或访问外部服务的能力，都必须标记为安装后验证。\n\n【每一步的服务约束】\n- Step 1 / page-introduction：Step 1 必须围绕“Mem0 简介”形成一个小中间产物，并等待用户确认。\n- Step 2 / page-installation：Step 2 必须围绕“安装与配置”形成一个小中间产物，并等待用户确认。\n- Step 3 / page-architecture：Step 3 必须围绕“系统架构”形成一个小中间产物，并等待用户确认。\n- Step 4 / page-core-components：Step 4 必须围绕“核心组件详解”形成一个小中间产物，并等待用户确认。\n- Step 5 / page-memory-operations：Step 5 必须围绕“记忆操作API”形成一个小中间产物，并等待用户确认。\n\n【边界与风险】\n- 不要声称已经安装、运行、调用 API、读写本地文件或完成真实任务。\n- 安装前预览只能展示工作方式，不能证明兼容性、性能或输出质量。\n- 涉及安装、插件加载、工具调用或外部服务的能力必须安装后验证。\n\n【可追溯依据】\n这些路径只用于你内部校验或在我追问“依据是什么”时简要引用。不要在首次回复主动展开：\n- https://github.com/mem0ai/mem0\n- https://github.com/mem0ai/mem0#readme\n- mem0-plugin/skills/mem0/SKILL.md\n- mem0-plugin/skills/mem0-mcp/SKILL.md\n- openclaw/skills/memory-dream/SKILL.md\n- openclaw/skills/memory-triage/SKILL.md\n- skills/mem0/SKILL.md\n- skills/mem0-cli/SKILL.md\n- skills/mem0-integrate/SKILL.md\n- skills/mem0-test-integration/SKILL.md\n- skills/mem0-vercel-ai-sdk/SKILL.md\n- README.md\n\n【首次问题规则】\n- 首次三问必须先确认用户目标、成功标准和边界，不要提前进入工具、安装或实现细节。\n- 如果后续需要技术条件、文件路径或运行环境，必须等用户确认目标后再追问。\n\n首次回复必须只输出下面 4 个部分：\n1. 体验开始：用 1 句话说明你将带我体验 mem0 的核心服务。\n2. 当前步骤：明确进入 Step 1，并说明这一步要解决什么。\n3. 你会如何服务我：说明你会先改变我完成任务的哪个动作。\n4. 只问我 3 个问题，然后停下等待回答。\n\n首次回复禁止输出：后续完整流程、证据清单、安装命令、项目评价、营销文案、已经安装或运行的说法。\n\nStep 1 / brainstorming 的二轮协议：\n- 我回答首次三问后，你仍然停留在 Step 1 / brainstorming，不要进入 Step 2。\n- 第二次回复必须产出 6 个部分：澄清后的任务定义、成功标准、边界条件、\n  2-3 个可选方案、每个方案的权衡、推荐方案。\n- 第二次回复最后必须问我是否确认推荐方案；只有我明确确认后，才能进入下一步。\n- 第二次回复禁止输出 git worktree、代码计划、测试文件、命令或真实执行结果。\n\n后续对话规则：\n- 我回答后，你先完成当前步骤的中间产物并等待确认；只有我确认后，才能进入下一步。\n- 每一步都要生成一个小的中间产物，例如澄清后的目标、计划草案、测试意图、验证清单或继续/停止判断。\n- 所有演示都写成“我会建议/我会引导/这一步会形成”，不要写成已经真实执行。\n- 不要声称已经测试通过、文件已修改、命令已运行或结果已产生。\n- 如果某个能力必须安装后验证，请直接说“这一步需要安装后验证”。\n- 如果证据不足，请明确说“证据不足”，不要补事实。\n```\n",
      "voices": [
        {
          "body": "来源平台：github。github/github_issue: Add boto3 timeout configuration support for AWS Bedrock client（https://github.com/mem0ai/mem0/issues/3825）；github/github_issue: feat(openclaw): expose Qdrant payload filter in recall path for category（https://github.com/mem0ai/mem0/issues/5063）；github/github_issue: Type-Aware Memory Retrieval with Support for Deterministic (Persistent) （https://github.com/mem0ai/mem0/issues/4926）；github/github_issue: Why has the Dockerhub Image for the OSS Rest API not been updated（https://github.com/mem0ai/mem0/issues/5090）；github/github_release: Mem0 Python SDK (v2.0.2)（https://github.com/mem0ai/mem0/releases/tag/v2.0.2）；github/github_release: Mem0 Node SDK (v3.0.2)（https://github.com/mem0ai/mem0/releases/tag/ts-v3.0.3）；github/github_release: Mem0 OpenClaw Plugin (v1.0.11)（https://github.com/mem0ai/mem0/releases/tag/openclaw-v1.0.11）；github/github_release: Mem0 Python SDK (v2.0.1)（https://github.com/mem0ai/mem0/releases/tag/v2.0.1）；github/github_release: Mem0 Node SDK (v3.0.2)（https://github.com/mem0ai/mem0/releases/tag/ts-v3.0.2）；github/github_release: Mem0 OpenClaw Plugin (v1.0.10)（https://github.com/mem0ai/mem0/releases/tag/openclaw-v1.0.10）；github/github_release: Mem0 OpenClaw Plugin (v1.0.9)（https://github.com/mem0ai/mem0/releases/tag/openclaw-v1.0.9）；github/github_release: Mem0 OpenClaw Plugin (v1.0.8)（https://github.com/mem0ai/mem0/releases/tag/openclaw-v1.0.8）。这些是项目级外部声音，不作为单独质量证明。",
          "items": [
            {
              "kind": "github_issue",
              "source": "github",
              "title": "Add boto3 timeout configuration support for AWS Bedrock client",
              "url": "https://github.com/mem0ai/mem0/issues/3825"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "feat(openclaw): expose Qdrant payload filter in recall path for category",
              "url": "https://github.com/mem0ai/mem0/issues/5063"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "Type-Aware Memory Retrieval with Support for Deterministic (Persistent) ",
              "url": "https://github.com/mem0ai/mem0/issues/4926"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "Why has the Dockerhub Image for the OSS Rest API not been updated",
              "url": "https://github.com/mem0ai/mem0/issues/5090"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Mem0 Python SDK (v2.0.2)",
              "url": "https://github.com/mem0ai/mem0/releases/tag/v2.0.2"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Mem0 Node SDK (v3.0.2)",
              "url": "https://github.com/mem0ai/mem0/releases/tag/ts-v3.0.3"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Mem0 OpenClaw Plugin (v1.0.11)",
              "url": "https://github.com/mem0ai/mem0/releases/tag/openclaw-v1.0.11"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Mem0 Python SDK (v2.0.1)",
              "url": "https://github.com/mem0ai/mem0/releases/tag/v2.0.1"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Mem0 Node SDK (v3.0.2)",
              "url": "https://github.com/mem0ai/mem0/releases/tag/ts-v3.0.2"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Mem0 OpenClaw Plugin (v1.0.10)",
              "url": "https://github.com/mem0ai/mem0/releases/tag/openclaw-v1.0.10"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Mem0 OpenClaw Plugin (v1.0.9)",
              "url": "https://github.com/mem0ai/mem0/releases/tag/openclaw-v1.0.9"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Mem0 OpenClaw Plugin (v1.0.8)",
              "url": "https://github.com/mem0ai/mem0/releases/tag/openclaw-v1.0.8"
            }
          ],
          "status": "已收录 12 条来源",
          "title": "社区讨论"
        }
      ]
    },
    "homepage_card": {
      "category": "个人工作台",
      "desc": "Universal memory layer for AI Agents",
      "effort": "安装已验证",
      "forks": 6263,
      "icon": "notebook",
      "name": "mem0 能力包",
      "risk": "可发布",
      "slug": "mem0",
      "stars": 55263,
      "tags": [
        "浏览器 Agent",
        "网页任务自动化",
        "浏览器自动化",
        "断点恢复流程",
        "评测体系"
      ],
      "thumb": "blue",
      "type": "Skill Pack"
    },
    "manual": {
      "markdown": "# https://github.com/mem0ai/mem0 项目说明书\n\n生成时间：2026-05-11 07:44:39 UTC\n\n## 目录\n\n- [Mem0 简介](#page-introduction)\n- [安装与配置](#page-installation)\n- [系统架构](#page-architecture)\n- [核心组件详解](#page-core-components)\n- [记忆操作API](#page-memory-operations)\n- [实体提取与链接](#page-entity-extraction)\n- [LLM模型集成](#page-llm-integrations)\n- [向量数据库支持](#page-vector-stores)\n- [嵌入模型配置](#page-embeddings)\n- [智能体框架集成](#page-agent-integrations)\n\n<a id='page-introduction'></a>\n\n## Mem0 简介\n\n### 相关页面\n\n相关主题：[安装与配置](#page-installation), [系统架构](#page-architecture)\n\n<minimax:tool_call>\n<invoke name=\"browser_google_search\">\n<parameter name=\"query\">mem0ai/mem0 github repository documentation</parameter>\n<parameter name=\"top_n\">10</parameter>\n<parameter name=\"recency_days\">-1</parameter>\n</invoke>\n</minimax:tool_call>\n\n---\n\n<a id='page-installation'></a>\n\n## 安装与配置\n\n### 相关页面\n\n相关主题：[Mem0 简介](#page-introduction)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/__init__.py)\n- [mem0/embeddings/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/__init__.py)\n- [mem0/vector_stores/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/vector_stores/__init__.py)\n- [mem0/memory/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/__init__.py)\n- [mem0-ts/package.json](https://github.com/mem0ai/mem0/blob/main/mem0-ts/package.json)\n- [docs/open-source/setup.mdx](https://github.com/mem0ai/mem0/blob/main/docs/open-source/setup.mdx)\n- [docs/open-source/python-quickstart.mdx](https://github.com/mem0ai/mem0/blob/main/docs/open-source/python-quickstart.mdx)\n- [.env.example](https://github.com/mem0ai/mem0/blob/main/.env.example)\n</details>\n\n# 安装与配置\n\nmem0 是一个开源的 AI 记忆层平台，为大型语言模型（LLM）应用提供智能记忆管理能力。本页面详细说明 mem0 的安装过程、环境配置以及各项参数的配置方法。\n\n## 前置条件\n\n在安装 mem0 之前，请确保系统满足以下要求：\n\n| 组件 | 最低版本 | 说明 |\n|------|----------|------|\n| Python | 3.9+ | mem0 主 SDK 需要 Python 运行环境 |\n| pip | 21.0+ | Python 包管理工具 |\n| Node.js | 18.0+ | mem0-ts 运行所需（可选） |\n| 向量数据库 | 见下方 | 至少配置一种向量存储后端 |\n\n### 支持的向量数据库\n\nmem0 支持多种向量数据库作为记忆存储后端：\n\n- **Qdrant**：高性能向量相似度搜索引擎\n- **Chroma**：轻量级嵌入式向量数据库\n- **Weaviate**：云原生的向量搜索引擎\n- **Milvus**：分布式向量数据库\n- **pgvector**：PostgreSQL 向量扩展\n- **Redis**：支持向量相似度搜索\n- **LanceDB**：嵌入式向量数据库\n- **AstraDB**：DataStax 的云数据库服务\n\n### 支持的嵌入模型\n\nmem0 支持多种嵌入模型用于记忆向量化：\n\n- OpenAI Embeddings\n- Azure OpenAI Embeddings\n- LangChain 集成支持的所有嵌入模型\n- 自定义嵌入接口\n\n## 安装方式\n\n### Python SDK 安装\n\nmem0 Python SDK 可以通过 pip 直接安装：\n\n```bash\npip install mem0ai\n```\n\n如需安装包含所有可选依赖的完整版本：\n\n```bash\npip install mem0ai[all]\n```\n\n### TypeScript/Node.js SDK 安装\n\nmem0 还提供了 TypeScript/Node.js 版本的客户端库：\n\n```bash\nnpm install mem0ai\n```\n\n或使用其他包管理器：\n\n```bash\nyarn add mem0ai\npnpm add mem0ai\n```\n\n## 环境变量配置\n\nmem0 使用环境变量管理敏感配置和 API 密钥。建议创建 `.env` 文件进行配置：\n\n```bash\ncp .env.example .env\n```\n\n### 必需的环境变量\n\n| 变量名 | 描述 | 必需 | 示例值 |\n|--------|------|------|--------|\n| `OPENAI_API_KEY` | OpenAI API 密钥 | 是（使用 OpenAI 时） | `sk-...` |\n| `AZURE_OPENAI_API_KEY` | Azure OpenAI API 密钥 | 是（使用 Azure 时） | `...` |\n| `AZURE_OPENAI_ENDPOINT` | Azure OpenAI 端点 | 是（使用 Azure 时） | `https://xxx.openai.azure.com/` |\n| `AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT` | Azure Embeddings 部署名 | 是（使用 Azure 时） | `text-embedding-ada-002` |\n\n### 向量存储配置\n\n根据选择的向量存储后端，需要配置相应的环境变量：\n\n```bash\n# Qdrant 配置\nQDRANT_HOST=localhost\nQDRANT_PORT=6333\nQDRANT_COLLECTION_NAME=mem0\n\n# Chroma 配置\nCHROMA_DB_IMPL=chromadb.db.duckdb.DuckDB\nCHROMA_DATA_PATH=./chroma_data\n\n# Redis 配置\nREDIS_HOST=localhost\nREDIS_PORT=6379\n```\n\n## Python SDK 配置\n\n### 基础配置初始化\n\nmem0 Python SDK 的核心配置通过 `Mem0` 类进行管理：\n\n```python\nfrom mem0 import Mem0\n\n# 使用 OpenAI 和默认向量存储\nclient = Mem0()\n\n# 自定义配置\nclient = Mem0(\n    api_key=\"your-api-key\",\n    model=\"gpt-4\",\n    temperature=0.7,\n    max_tokens=1000\n)\n```\n\n### 嵌入模型配置\n\nmem0 支持自定义嵌入模型配置：\n\n```python\nfrom mem0.embeddings import OpenAIEmbedding\n\n# 配置自定义嵌入\nembedding_model = OpenAIEmbedding(\n    api_key=\"your-api-key\",\n    model=\"text-embedding-3-small\",\n    dimensions=1536\n)\n\nclient = Mem0(embedding_model=embedding_model)\n```\n\n### 向量存储配置\n\n```python\nfrom mem0.vector_stores import Qdrant\n\n# 配置 Qdrant 向量存储\nvector_store = Qdrant(\n    host=\"localhost\",\n    port=6333,\n    collection_name=\"mem0_memory\"\n)\n\nclient = Mem0(vector_store=vector_store)\n```\n\n## TypeScript SDK 配置\n\nmem0-ts 的初始化配置：\n\n```typescript\nimport { Mem0 } from 'mem0ai';\n\nconst client = new Mem0({\n  apiKey: 'your-api-key',\n  model: 'gpt-4'\n});\n```\n\n### TypeScript 配置参数\n\n| 参数名 | 类型 | 描述 | 默认值 |\n|--------|------|------|--------|\n| `apiKey` | `string` | API 密钥 | - |\n| `model` | `string` | 使用的 LLM 模型 | `gpt-4` |\n| `temperature` | `number` | 生成温度参数 | `0.7` |\n| `maxTokens` | `number` | 最大生成 token 数 | `1000` |\n| `embeddingModel` | `string` | 嵌入模型名称 | - |\n\n## 内存类型配置\n\nmem0 支持多种内存类型，适用于不同的应用场景：\n\n```python\nclient = Mem0(\n    memory_type=\"semantic\",  # 语义记忆（默认）\n    # 或\n    memory_type=\"episodic\",  # 情景记忆\n    # 或\n    memory_type=\"semantic_with_episodic\"  # 混合模式\n)\n```\n\n### 内存类型说明\n\n| 类型 | 描述 | 适用场景 |\n|------|------|----------|\n| `semantic` | 基于语义相似度存储和检索 | 通用知识问答 |\n| `episodic` | 基于时间序列的情景记忆 | 对话历史记录 |\n| `semantic_with_episodic` | 语义和情景记忆混合 | 复杂对话应用 |\n\n## 配置验证\n\n安装完成后，可以通过以下方式验证配置是否正确：\n\n```python\nfrom mem0 import Mem0\n\n# 初始化客户端\nclient = Mem0()\n\n# 测试添加记忆\nresult = client.add(\"这是我的第一条记忆\")\n\n# 验证记忆检索\nmemories = client.search(\"我的记忆\")\nprint(f\"找到 {len(memories)} 条相关记忆\")\n```\n\n## 常见配置问题\n\n### API 密钥问题\n\n如果遇到认证错误，请检查：\n\n1. 环境变量是否正确设置\n2. API 密钥是否有效且未过期\n3. 密钥是否有足够的配额\n\n### 向量存储连接问题\n\n1. 确认向量数据库服务已启动\n2. 检查端口配置是否正确\n3. 验证网络连接是否畅通\n\n### 嵌入模型问题\n\n如果嵌入结果不符合预期：\n\n1. 检查嵌入模型版本是否最新\n2. 确认维度设置与向量存储匹配\n3. 考虑使用更高质量的嵌入模型\n\n## 部署架构\n\nmem0 的典型部署架构如下：\n\n```mermaid\ngraph TD\n    A[应用层] --> B[mem0 SDK]\n    B --> C[记忆处理引擎]\n    C --> D{记忆类型}\n    D --> E[语义记忆]\n    D --> F[情景记忆]\n    E --> G[向量存储层]\n    F --> G\n    G --> H[Qdrant / Chroma / Redis / ...]\n    C --> I[LLM 层]\n    I --> J[OpenAI / Azure OpenAI / 本地模型]\n```\n\n## 进阶配置\n\n### 日志配置\n\n```python\nimport logging\n\nlogging.basicConfig(level=logging.DEBUG)\nclient = Mem0()\n```\n\n### 自定义 LLM 提供商\n\n```python\nfrom mem0 import Mem0\n\nclient = Mem0(\n    llm_provider=\"custom\",\n    llm_endpoint=\"http://localhost:8000/v1\",\n    llm_api_key=\"your-key\"\n)\n```\n\n### 记忆保留策略\n\n```python\nclient = Mem0(\n    retention_policy=\"smart\",  # 智能保留\n    max_memories=1000,         # 最大记忆数量\n    ttl_days=30               # 记忆过期天数\n)\n```\n\n## 下一步\n\n- [快速开始指南](docs/open-source/python-quickstart.mdx)\n- [API 参考文档](docs/open-source/api-reference.mdx)\n- [生产环境部署](docs/open-source/deployment.mdx)\n\n---\n\n<a id='page-architecture'></a>\n\n## 系统架构\n\n### 相关页面\n\n相关主题：[核心组件详解](#page-core-components), [记忆操作API](#page-memory-operations)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/memory/main.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/main.py)\n- [mem0/memory/base.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/base.py)\n- [mem0/memory/storage.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/storage.py)\n- [mem0/memory/graphs.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/graphs.py)\n- [mem0/vector_stores/qdrant.py](https://github.com/mem0ai/mem0/blob/main/mem0/vector_stores/qdrant.py)\n- [mem0/vector_stores/chroma.py](https://github.com/mem0ai/mem0/blob/main/mem0/vector_stores/chroma.py)\n- [mem0/embeddings/factory.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/factory.py)\n- [mem0/configs/mem0.py](https://github.com/mem0ai/mem0/blob/main/mem0/configs/mem0.py)\n- [docs/open-source/features/overview.mdx](https://github.com/mem0ai/mem0/blob/main/docs/open-source/features/overview.mdx)\n</details>\n\n# 系统架构\n\n## 1. 概述\n\nMem0 是一个为 AI 应用设计的智能记忆层基础设施，旨在解决 AI 应用中的长期记忆、用户偏好学习和上下文理解问题。该平台采用模块化架构设计，支持多种向量存储后端、嵌入模型和 LLM 提供商，能够灵活适应不同的部署场景。资料来源：[docs/open-source/features/overview.mdx:1]()\n\nMem0 的核心价值在于为 AI 系统提供持久化、可检索的记忆能力，使 AI 应用能够记住用户偏好、历史交互和重要信息，从而提供更加个性化和连贯的用户体验。资料来源：[mem0/memory/base.py:1-20]()\n\n## 2. 架构分层\n\nMem0 采用三层架构设计，从上到下依次为接口层、核心处理层和存储层。这种分层设计确保了各层之间的职责明确，便于维护和扩展。资料来源：[mem0/memory/main.py:1-50]()\n\n```mermaid\ngraph TD\n    A[接口层 - Mem0 主类] --> B[核心处理层]\n    A --> C[记忆管理层]\n    B --> D[向量存储层]\n    B --> E[嵌入层]\n    C --> F[关系图谱层]\n    D --> G[向量数据库]\n    E --> H[嵌入模型]\n    F --> I[图数据库]\n```\n\n### 2.1 接口层\n\n接口层是用户与 Mem0 系统交互的入口点，主要通过 `Mem0` 主类暴露所有核心功能。该层负责接收用户请求、参数验证和结果格式化，是整个系统的对外窗口。资料来源：[mem0/memory/main.py:20-80]()\n\n**核心类：`Mem0`**\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `provider` | str | LLM 提供商类型，如 \"openai\"、\"azure\"、\"anthropic\" 等 |\n| `model` | str | 具体的模型标识符 |\n| `vector_store` | str | 向量存储后端类型 |\n| `vector_store_config` | dict | 向量存储的详细配置 |\n| `embedding_model` | str | 嵌入模型的名称或路径 |\n| `graph_store` | str | 图数据库后端类型 |\n| `graph_store_config` | dict | 图数据库的详细配置 |\n\n资料来源：[mem0/memory/main.py:40-70]()\n\n### 2.2 核心处理层\n\n核心处理层负责执行记忆的核心操作逻辑，包括记忆的添加、搜索、更新和删除。该层协调嵌入模型、向量存储和图存储之间的交互，实现语义搜索和关系推理。资料来源：[mem0/memory/base.py:30-100]()\n\n```mermaid\ngraph LR\n    A[用户输入] --> B[文本预处理]\n    B --> C[嵌入生成]\n    C --> D[向量索引]\n    C --> E[关系抽取]\n    E --> F[图谱更新]\n    D --> G[向量存储]\n    G --> H[相似度检索]\n    F --> I[图谱存储]\n    I --> J[关系查询]\n    H --> K[结果聚合]\n    J --> K\n    K --> L[结果输出]\n```\n\n### 2.3 存储层\n\n存储层负责数据的持久化，包括向量存储和图存储两大类。向量存储用于存储嵌入向量，支持语义相似度搜索；图存储用于存储实体之间的复杂关系。资料来源：[mem0/memory/storage.py:1-50]()\n\n## 3. 核心组件\n\n### 3.1 记忆管理模块\n\n记忆管理模块是 Mem0 的核心组件，封装了所有记忆操作的方法。该模块继承自 `MemoryBase` 基类，提供了标准化的接口实现。资料来源：[mem0/memory/base.py:50-150]()\n\n**主要功能：**\n\n| 功能 | 方法 | 说明 |\n|------|------|------|\n| 添加记忆 | `add()` | 将新的记忆信息添加到存储系统 |\n| 搜索记忆 | `search()` | 基于语义相似度检索相关记忆 |\n| 获取历史 | `get_all()` | 检索特定用户或会话的所有记忆 |\n| 更新记忆 | `update()` | 修改已有记忆的内容 |\n| 删除记忆 | `delete()` | 从存储系统中移除记忆 |\n| 重置记忆 | `reset()` | 清空所有记忆数据 |\n\n资料来源：[mem0/memory/main.py:80-200]()\n\n**记忆数据结构：**\n\n```python\nMemoryEntry {\n    id: str,              # 记忆唯一标识符\n    data: str,            # 记忆内容文本\n    user_id: str,         # 用户标识符\n    agent_id: str,        # 代理标识符\n    session_id: str,      # 会话标识符\n    metadata: dict,        # 元数据信息\n    created_at: datetime, # 创建时间戳\n    vector: list[float]   # 嵌入向量\n}\n```\n\n资料来源：[mem0/memory/storage.py:20-60]()\n\n### 3.2 向量存储模块\n\n向量存储模块负责存储和检索嵌入向量，是实现语义搜索的关键组件。Mem0 支持多种向量存储后端，用户可以根据性能、成本和部署环境选择合适的选项。资料来源：[mem0/vector_stores/qdrant.py:1-30]()\n\n**支持的向量存储：**\n\n| 存储后端 | 配置参数 | 适用场景 |\n|----------|----------|----------|\n| Qdrant | `host`, `port`, `collection_name` | 高性能生产环境 |\n| Chroma | `collection_name`, `persist_directory` | 本地开发和测试 |\n| pgvector | `host`, `port`, `database`, `user`, `password` | PostgreSQL 现有部署 |\n| Pinecone | `api_key`, `index_name`, `environment` | 云原生部署 |\n| Weaviate | `url`, `index_name` | 混合云部署 |\n\n资料来源：[mem0/vector_stores/chroma.py:1-40]()\n\n**向量存储配置示例：**\n\n```python\nvector_store_config = {\n    \"provider\": \"qdrant\",\n    \"config\": {\n        \"host\": \"localhost\",\n        \"port\": 6333,\n        \"collection_name\": \"mem0_memory\",\n        \"embedding_model_dims\": 1536\n    }\n}\n```\n\n资料来源：[mem0/configs/mem0.py:1-50]()\n\n### 3.3 嵌入层\n\n嵌入层负责将文本转换为高维向量表示，是实现语义理解的基础。Mem0 使用工厂模式管理嵌入模型，支持多种嵌入提供者和模型。资料来源：[mem0/embeddings/factory.py:1-60]()\n\n**支持的嵌入模型：**\n\n| 模型类型 | 提供商 | 维度 |\n|----------|--------|------|\n| text-embedding-ada-002 | OpenAI | 1536 |\n| text-embedding-3-small | OpenAI | 1536/512 |\n| text-embedding-3-large | OpenAI | 3072/1024/256 |\n| VoyageAI | Voyage | 1024 |\n| HuggingFace | 本地/云端 | 可变 |\n\n资料来源：[mem0/embeddings/factory.py:20-80]()\n\n### 3.4 关系图谱模块\n\n关系图谱模块用于存储和管理实体之间的复杂关系，支持多跳推理和关系路径查询。该模块基于图数据结构，能够高效处理实体间的关联查询。资料来源：[mem0/memory/graphs.py:1-50]()\n\n**图数据结构：**\n\n```mermaid\ngraph TD\n    A[用户: Alice] -->|喜欢| B[电影: 盗梦空间]\n    A -->|不喜欢| C[电影: 变形金刚]\n    A -->|收藏| D[音乐: 古典乐]\n    B -->|类型| E[类型: 科幻]\n    C -->|类型| E\n    E -->|包含| F[元素: 梦境]\n```\n\n**图存储配置：**\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `provider` | str | 图数据库提供者 |\n| `graph_name` | str | 图数据库名称 |\n| `host` | str | 服务器地址 |\n| `port` | int | 服务端口 |\n\n资料来源：[mem0/memory/graphs.py:50-100]()\n\n## 4. 工作流程\n\n### 4.1 添加记忆流程\n\n当用户添加新记忆时，Mem0 执行以下处理流程：资料来源：[mem0/memory/main.py:100-150]()\n\n```mermaid\ngraph TD\n    A[add 用户输入] --> B{记忆类型}\n    B -->|消息记忆| C[调用 add 方法]\n    B -->|偏好记忆| D[调用 add Preference 方法]\n    B -->|事实记忆| E[调用 add Fact 方法]\n    C --> F[文本预处理]\n    D --> F\n    E --> F\n    F --> G[生成嵌入向量]\n    G --> H[提取实体关系]\n    H --> I[存储到向量库]\n    H --> J[更新关系图谱]\n    I --> K[返回记忆 ID]\n    J --> K\n```\n\n### 4.2 搜索记忆流程\n\n搜索操作通过向量相似度匹配实现语义检索，支持多维度过滤和结果排序。资料来源：[mem0/memory/storage.py:50-100]()\n\n```mermaid\ngraph TD\n    A[search 查询输入] --> B[生成查询嵌入]\n    B --> C[向量相似度搜索]\n    C --> D{过滤条件}\n    D -->|有过滤| E[应用元数据过滤]\n    D -->|无过滤| F[直接返回结果]\n    E --> G[结果排序]\n    F --> H[结果排序]\n    G --> I[返回 Top-K 结果]\n    H --> I\n    I --> J[格式化输出]\n```\n\n## 5. 配置体系\n\n### 5.1 配置结构\n\nMem0 使用分层配置管理，支持环境变量、配置文件和代码参数三种配置方式。配置优先级从高到低依次为：代码参数 > 环境变量 > 配置文件 > 默认值。资料来源：[mem0/configs/mem0.py:1-100]()\n\n**配置参数表：**\n\n| 配置项 | 环境变量 | 默认值 | 说明 |\n|--------|----------|--------|------|\n| `llm_provider` | `MEM0_LLM_PROVIDER` | openai | LLM 提供商 |\n| `llm_api_key` | `MEM0_LLM_API_KEY` | - | API 密钥 |\n| `vector_store` | `MEM0_VECTOR_STORE` | chroma | 向量存储后端 |\n| `embedding_model` | `MEM0_EMBEDDING_MODEL` | text-embedding-ada-002 | 嵌入模型 |\n| `graph_store` | `MEM0_GRAPH_STORE` | networkx | 图存储后端 |\n\n### 5.2 初始化配置示例\n\n```python\nfrom mem0 import Mem0\n\n# 基础配置\nclient = Mem0(api_key=\"your-api-key\")\n\n# 高级配置\nclient = Mem0(\n    provider=\"openai\",\n    model=\"gpt-4\",\n    vector_store=\"qdrant\",\n    vector_store_config={\n        \"host\": \"qdrant.example.com\",\n        \"port\": 6333,\n        \"collection_name\": \"production_memory\"\n    },\n    embedding_model=\"text-embedding-3-large\",\n    graph_store=\"neo4j\",\n    graph_store_config={\n        \"url\": \"bolt://localhost:7687\",\n        \"username\": \"neo4j\",\n        \"password\": \"password\"\n    }\n)\n```\n\n资料来源：[mem0/memory/main.py:30-80]()\n\n## 6. 扩展机制\n\n### 6.1 自定义向量存储\n\nMem0 提供了标准化的向量存储接口，开发者可以通过实现 `VectorStoreBase` 基类来添加新的向量存储后端。资料来源：[mem0/vector_stores/qdrant.py:1-20]()\n\n**接口要求：**\n\n```python\nclass VectorStoreBase:\n    def create_collection(self, name: str, dim: int): ...\n    def insert(self, vectors: list, payloads: list, ids: list): ...\n    def search(self, query: str, limit: int = 5) -> list: ...\n    def delete(self, id: str): ...\n    def get(self, id: str) -> dict: ...\n    def update(self, id: str, vector: list, payload: dict): ...\n```\n\n### 6.2 自定义嵌入模型\n\n通过实现 `EmbeddingBase` 接口，可以集成任何自定义的嵌入模型。资料来源：[mem0/embeddings/factory.py:1-30]()\n\n## 7. 数据流\n\n### 7.1 完整数据流图\n\n```mermaid\ngraph LR\n    subgraph 输入层\n        A[用户消息]\n        B[偏好信息]\n        C[事实陈述]\n    end\n    \n    subgraph 处理层\n        D[预处理模块]\n        E[嵌入生成器]\n        F[关系抽取器]\n        G[意图识别器]\n    end\n    \n    subgraph 存储层\n        H[向量数据库]\n        I[关系图谱]\n        J[键值存储]\n    end\n    \n    subgraph 输出层\n        K[检索结果]\n        L[推理结果]\n        M[上下文增强]\n    end\n    \n    A --> D\n    B --> D\n    C --> D\n    D --> E\n    D --> F\n    E --> H\n    F --> I\n    G --> J\n    H --> K\n    I --> L\n    J --> M\n```\n\n## 8. 部署架构\n\n### 8.1 生产环境推荐架构\n\nMem0 支持多种部署模式以适应不同的业务需求和技术栈。资料来源：[docs/open-source/features/overview.mdx:1-50]()\n\n**云原生部署：**\n\n| 组件 | 推荐方案 | 说明 |\n|------|----------|------|\n| Mem0 API | Kubernetes + Docker | 容器化部署，自动扩缩容 |\n| 向量存储 | Qdrant Cloud / Pinecone | 托管向量数据库服务 |\n| 图存储 | Neo4j Aura | 云原生图数据库 |\n| LLM | OpenAI / Azure OpenAI | OpenAI API 服务 |\n\n**本地部署：**\n\n| 组件 | 推荐方案 | 说明 |\n|------|----------|------|\n| Mem0 | pip install + Python | 直接安装运行 |\n| 向量存储 | Chroma / Qdrant (本地) | 本地向量数据库 |\n| 图存储 | NetworkX / Neo4j | 本地图数据库 |\n\n## 9. 总结\n\nMem0 的系统架构采用模块化、分层设计，核心优势包括：\n\n- **灵活性**：支持多种向量存储、嵌入模型和 LLM 提供商，可根据需求灵活选择\n- **可扩展性**：标准化的接口设计便于集成新的存储后端和模型\n- **可靠性**：三层架构确保职责分离，便于维护和升级\n- **性能优化**：向量检索和图查询相结合，提供高效的语义搜索能力\n\n资料来源：[mem0/memory/base.py:1-20]()\n\n---\n\n<a id='page-core-components'></a>\n\n## 核心组件详解\n\n### 相关页面\n\n相关主题：[系统架构](#page-architecture), [LLM模型集成](#page-llm-integrations), [向量数据库支持](#page-vector-stores)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/memory/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/__init__.py)\n- [mem0/llms/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/__init__.py)\n- [mem0/embeddings/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/__init__.py)\n- [mem0/vector_stores/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/vector_stores/__init__.py)\n- [mem0-ts/src/client/mem0.ts](https://github.com/mem0ai/mem0/blob/main/mem0-ts/src/client/mem0.ts)\n</details>\n\n# 核心组件详解\n\n## 概述\n\nmem0是一个专为AI应用设计的智能记忆层（Intelligent Memory Layer），旨在为AI代理和助手提供持久化、可检索的记忆能力。该项目通过模块化的架构设计，将记忆管理、LLM集成、向量嵌入和存储系统解耦，实现了灵活的配置和扩展能力。mem0的核心价值在于简化AI应用的状态管理，使开发者能够专注于业务逻辑，而无需关心记忆存储和检索的底层实现。\n\nmem0的设计理念强调自适应性和上下文理解能力。系统能够自动识别和存储重要的交互信息，同时支持多种向量存储后端和多语言模型集成。这种设计使得mem0能够适应从个人助手到企业级AI系统的各种应用场景。\n\n## 架构概览\n\nmem0采用分层架构设计，各层之间通过明确定义的接口进行通信。这种设计确保了系统的高度可扩展性和可维护性。\n\n```mermaid\ngraph TD\n    A[用户应用层] --> B[mem0 API 层]\n    B --> C[记忆管理层]\n    C --> D[嵌入生成层]\n    C --> E[向量存储层]\n    C --> F[LLM 推理层]\n    D --> G[嵌入模型提供方]\n    E --> H[向量数据库]\n    F --> I[LLM 提供方]\n```\n\n从上述架构图可以看出，mem0的核心组件包括：记忆管理层（Memory）、嵌入生成层（Embeddings）、向量存储层（Vector Stores）和LLM推理层（LLMs）。每一层都设计了标准化的接口，支持多种后端实现，用户可以根据实际需求选择合适的组件组合。\n\n## 核心组件详解\n\n### 1. 记忆管理层（Memory）\n\n记忆管理层是mem0的核心模块，负责管理AI应用的所有记忆操作。该模块提供了统一的API接口，封装了底层的向量存储、嵌入生成和LLM调用逻辑，为用户提供简洁易用的记忆管理功能。\n\n#### 1.1 主要功能\n\n记忆管理层支持以下核心操作：\n\n- **记忆添加**：将新的信息存储到记忆系统中，支持自动嵌入生成和元数据管理\n- **记忆检索**：基于语义相似度搜索相关记忆，返回排序后的结果列表\n- **记忆更新**：修改已存储记忆的内容和关联元数据\n- **记忆删除**：从系统中移除指定的记忆条目\n- **记忆重置**：清空特定用户或会话的所有记忆\n\n#### 1.2 API 接口规范\n\n| 方法 | 参数 | 返回值 | 说明 |\n|------|------|--------|------|\n| `add` | content, user_id, metadata | MemoryEntry | 添加新记忆 |\n| `search` | query, user_id, limit | List[MemoryEntry] | 语义检索记忆 |\n| `update` | memory_id, content | MemoryEntry | 更新记忆内容 |\n| `delete` | memory_id | bool | 删除指定记忆 |\n| `reset` | user_id | bool | 重置用户记忆 |\n\n资料来源：[mem0/memory/__init__.py]()\n\n#### 1.3 记忆数据结构\n\n记忆条目采用结构化数据模型，包含以下关键字段：\n\n```python\nclass MemoryEntry:\n    id: str              # 唯一标识符\n    content: str         # 记忆内容文本\n    user_id: str         # 关联用户ID\n    metadata: dict       # 扩展元数据\n    created_at: datetime # 创建时间戳\n    updated_at: datetime # 更新时间戳\n    embedding: List[float] # 向量表示（可选）\n```\n\n这种数据结构设计确保了每条记忆都能够独立追踪和管理，同时保留了足够的灵活性以适应不同的应用场景需求。\n\n### 2. LLM 推理层（LLMs）\n\nLLM层是mem0的智能核心，负责与大语言模型进行交互。该模块抽象了不同LLM提供方的接口差异，提供统一的调用方式，同时支持模型配置、热插拔和多供应商备份等企业级功能。\n\n#### 2.1 支持的模型提供商\n\nmem0的LLM层原生支持多种主流大语言模型提供商：\n\n| 提供商 | 模型示例 | 配置方式 |\n|--------|----------|----------|\n| OpenAI | GPT-4, GPT-3.5-turbo | API Key |\n| Anthropic | Claude-3, Claude-2 | API Key |\n| Azure OpenAI | GPT-4, GPT-35-turbo | Azure Endpoint |\n| Google | Gemini Pro, PaLM | API Key |\n| Ollama | Llama2, Mistral | 本地服务 |\n\n资料来源：[mem0/llms/__init__.py]()\n\n#### 2.2 LLM 客户端接口\n\n```typescript\ninterface LLMClient {\n  // 基础文本生成\n  complete(prompt: string, options?: GenerationOptions): Promise<GenerationResult>;\n  \n  // 流式文本生成\n  stream(prompt: string, options?: GenerationOptions): AsyncGenerator<string>;\n  \n  // 结构化输出生成\n  structuredComplete(\n    prompt: string, \n    schema: OutputSchema,\n    options?: GenerationOptions\n  ): Promise<StructuredOutput>;\n}\n```\n\n资料来源：[mem0-ts/src/client/mem0.ts]()\n\n#### 2.3 配置管理\n\nLLM模块支持细粒度的配置控制，主要配置参数包括：\n\n- `model`: 指定使用的模型名称\n- `temperature`: 控制输出的随机性（0.0-2.0）\n- `max_tokens`: 限制生成的最大token数\n- `top_p`: 核采样概率阈值\n- `api_base`: 自定义API端点（用于代理或自托管模型）\n- `api_key`: 身份验证密钥\n\n### 3. 嵌入生成层（Embeddings）\n\n嵌入层负责将文本内容转换为高维向量表示，这是实现语义搜索能力的基础。该模块支持多种嵌入模型，并提供了统一的接口以便于扩展新的嵌入提供方。\n\n#### 3.1 嵌入模型选择\n\nmem0的嵌入层支持多种预训练嵌入模型：\n\n- **OpenAI Embeddings**: text-embedding-ada-002, text-embedding-3-small, text-embedding-3-large\n- **Cohere Embeddings**: embed-english-v3.0, embed-multilingual-v3.0\n- **HuggingFace Embeddings**: 支持所有sentence-transformers模型\n- **本地模型**: 支持Ollama和本地部署的嵌入模型\n\n资料来源：[mem0/embeddings/__init__.py]()\n\n#### 3.2 嵌入配置参数\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | string | \"text-embedding-ada-002\" | 嵌入模型名称 |\n| `dimensions` | int | 1536 | 向量维度 |\n| `batch_size` | int | 100 | 批处理大小 |\n| `normalize` | bool | true | 是否归一化向量 |\n| `encoding_format` | string | \"float\" | 编码格式 |\n\n#### 3.3 嵌入生成流程\n\n```mermaid\ngraph LR\n    A[文本输入] --> B[预处理]\n    B --> C[分词处理]\n    C --> D[模型推理]\n    D --> E[向量输出]\n    E --> F[后处理]\n    F --> G[归一化向量]\n```\n\n该流程确保了嵌入向量的一致性和可比性，为后续的向量检索提供了可靠的数据基础。\n\n### 4. 向量存储层（Vector Stores）\n\n向量存储层是mem0的记忆持久化核心，负责存储和管理所有记忆的向量表示。该模块采用了适配器模式，支持多种向量数据库后端，使得用户能够根据数据规模、性能需求和成本预算选择最合适的存储方案。\n\n#### 4.1 支持的向量数据库\n\n| 数据库 | 适用场景 | 特点 |\n|--------|----------|------|\n| Chroma | 原型开发、小规模 | 轻量级、易用、本地运行 |\n| Qdrant | 生产环境 | 高性能、分布式、云原生 |\n| Weaviate | 混合搜索 | 原生支持混合搜索能力 |\n| Milvus | 超大规模数据 | 高吞吐量、水平扩展 |\n| Pinecone | 云托管服务 | 全托管、免运维 |\n| Redis | 低延迟场景 | 内存级速度、丰富数据结构 |\n\n资料来源：[mem0/vector_stores/__init__.py]()\n\n#### 4.2 向量存储接口\n\n```python\nclass VectorStoreAdapter(ABC):\n    \"\"\"向量存储适配器基类\"\"\"\n    \n    @abstractmethod\n    def add(\n        self, \n        vectors: List[Vector], \n        metadatas: List[Metadata],\n        ids: Optional[List[str]] = None\n    ) -> List[str]:\n        \"\"\"添加向量到存储\"\"\"\n        pass\n    \n    @abstractmethod\n    def search(\n        self, \n        query_vector: Vector, \n        top_k: int = 5,\n        filters: Optional[Filter] = None\n    ) -> List[SearchResult]:\n        \"\"\"执行向量相似度搜索\"\"\"\n        pass\n    \n    @abstractmethod\n    def update(\n        self, \n        id: str, \n        vector: Vector, \n        metadata: Metadata\n    ) -> bool:\n        \"\"\"更新指定向量\"\"\"\n        pass\n    \n    @abstractmethod\n    def delete(\n        self, \n        ids: List[str],\n        delete_all: bool = False\n    ) -> bool:\n        \"\"\"删除向量\"\"\"\n        pass\n```\n\n#### 4.3 索引策略\n\n向量存储层支持多种索引策略以优化检索性能：\n\n- **HNSW（Hierarchical Navigable Small World）**: 图索引，适合高精度场景\n- **IVF（Inverted File Index）**: 倒排索引，适合大规模数据\n- **PQ（Product Quantization）**: 产品量化，适合内存受限场景\n- **SCANN**: 专利算法，Google出品，性能优异\n\n### 5. TypeScript 客户端（mem0-ts）\n\nmem0-ts是mem0的TypeScript/JavaScript客户端实现，提供了与Python版本功能对等的API接口。该客户端采用现代化的设计模式，支持服务端渲染和前端直接调用。\n\n#### 5.1 客户端初始化\n\n```typescript\nimport { Mem0Client } from \"@mem0/nodejs-client\";\n\nconst client = new Mem0Client({\n  apiKey: process.env.MEM0_API_KEY,\n  orgId: \"your-org-id\",      // 可选：组织ID\n  projectId: \"your-project\", // 可选：项目ID\n  baseUrl: \"https://api.mem0.ai\", // 可选：自定义API端点\n});\n```\n\n资料来源：[mem0-ts/src/client/mem0.ts]()\n\n#### 5.2 异步操作支持\n\nTypeScript客户端全面支持异步操作模式，提供了Promise和AsyncIterator两种消费方式：\n\n```typescript\n// 使用 Promise\nconst memory = await client.add({\n  content: \"用户偏好深色主题\",\n  user_id: \"user-123\",\n});\n\n// 使用 AsyncIterator 处理流式响应\nfor await (const chunk of client.searchStream({\n  query: \"用户的界面偏好是什么\",\n  user_id: \"user-123\"\n})) {\n  console.log(chunk);\n}\n```\n\n#### 5.3 错误处理机制\n\n客户端实现了完善的错误处理机制，包括：\n\n- **重试逻辑**: 自动重试失败的请求（可配置重试次数和间隔）\n- **超时控制**: 防止请求无限等待\n- **熔断器**: 连续失败时自动触发熔断保护\n- **降级策略**: 主服务不可用时尝试降级方案\n\n## 数据流与处理流程\n\n### 记忆添加流程\n\n当用户向mem0添加记忆时，系统会执行以下处理流程：\n\n```mermaid\ngraph TD\n    A[用户请求添加记忆] --> B{验证输入参数}\n    B -->|参数无效| C[返回错误信息]\n    B -->|参数有效| D[文本预处理]\n    D --> E[调用嵌入模型]\n    E --> F[生成向量表示]\n    F --> G[构建元数据]\n    G --> H[写入向量存储]\n    H --> I[记录操作日志]\n    I --> J[返回添加结果]\n```\n\n整个流程设计遵循了可靠性和可追溯性原则，每一步操作都有完善的日志记录，便于后续的问题排查和性能分析。\n\n### 记忆检索流程\n\n记忆检索是mem0最核心的功能之一，其处理流程如下：\n\n```mermaid\ngraph TD\n    A[用户查询请求] --> B[查询文本预处理]\n    B --> C[调用嵌入模型]\n    C --> D[生成查询向量]\n    D --> E[执行向量相似度搜索]\n    E --> F[应用过滤条件]\n    F --> G[重排序结果]\n    G --> H[组装响应数据]\n    H --> I[返回检索结果]\n```\n\n检索流程中引入了重排序（Reranking）机制，可以在初步向量搜索的基础上进一步优化结果的相关性排序，提升用户体验。\n\n## 配置与集成\n\n### 环境变量配置\n\nmem0支持通过环境变量进行全局配置：\n\n```bash\n# API 配置\nMEM0_API_KEY=your-api-key\n\n# LLM 配置\nOPENAI_API_KEY=sk-xxx\nANTHROPIC_API_KEY=sk-ant-xxx\n\n# 向量存储配置\nQDRANT_HOST=localhost\nQDRANT_PORT=6333\n\n# 嵌入模型配置\nEMBEDDING_MODEL=text-embedding-3-small\nEMBEDDING_DIMENSIONS=1536\n```\n\n### 快速开始示例\n\nPython环境下的基本使用示例：\n\n```python\nfrom mem0 import Memory\n\n# 初始化记忆客户端\nmemory = Memory()\n\n# 添加记忆\nresult = memory.add(\n    content=\"用户喜欢在周末骑自行车锻炼\",\n    user_id=\"user-123\",\n    metadata={\"source\": \"onboarding\"}\n)\n\n# 检索相关记忆\nresults = memory.search(\n    query=\"用户的运动习惯是什么\",\n    user_id=\"user-123\",\n    limit=5\n)\n\n# 更新记忆\nmemory.update(\n    memory_id=result[\"id\"],\n    content=\"用户喜欢在周末骑自行车锻炼，每天早晨跑步\"\n)\n\n# 删除记忆\nmemory.delete(memory_id=result[\"id\"])\n```\n\n资料来源：[mem0/memory/__init__.py]()\n\n## 总结\n\nmem0的核心组件设计体现了现代AI应用开发的最佳实践，通过清晰的模块划分和标准化的接口定义，实现了高度的可扩展性和灵活性。记忆管理层作为核心模块，封装了复杂的业务逻辑；LLM层提供了统一的模型调用接口；嵌入层确保了语义理解能力的基础；而向量存储层则提供了可靠的记忆持久化机制。\n\n这种分层架构使得开发者可以根据具体需求选择和替换各层的实现组件，无需修改上层代码。例如，当需要处理更大规模的数据时，可以将向量存储从Chroma迁移到Qdrant或Milvus；当需要使用特定领域优化的嵌入模型时，只需替换嵌入层的实现而不影响其他模块。\n\nmem0-ts客户端的存在进一步扩展了项目的适用范围，使得JavaScript和TypeScript生态系统的开发者也能便捷地使用mem0的记忆能力。通过统一的API设计，两种语言的客户端保持了功能对等性，降低了多语言项目的开发复杂度。\n\n---\n\n<a id='page-memory-operations'></a>\n\n## 记忆操作API\n\n### 相关页面\n\n相关主题：[实体提取与链接](#page-entity-extraction), [系统架构](#page-architecture)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/memory/main.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/main.py)\n- [docs/core-concepts/memory-operations/add.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/add.mdx)\n- [docs/core-concepts/memory-operations/search.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/search.mdx)\n- [docs/core-concepts/memory-operations/delete.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/delete.mdx)\n- [docs/core-concepts/memory-operations/update.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/update.mdx)\n- [cli/README.md](https://github.com/mem0ai/mem0/blob/main/cli/README.md)\n- [cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n- [mem0-plugin/README.md](https://github.com/mem0ai/mem0/blob/main/mem0-plugin/README.md)\n- [vercel-ai-sdk/README.md](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/README.md)\n</details>\n\n# 记忆操作API\n\n## 概述\n\nMem0的记忆操作API是智能体长期记忆管理的核心接口，提供了完整的记忆生命周期管理能力。该API支持四种基础操作：**添加（Add）**、**搜索（Search）**、**更新（Update）**、**删除（Delete）**，简称ASUD操作。资料来源：[mem0/memory/main.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/main.py)\n\nMem0的API设计遵循实体隔离原则，通过`user_id`、`agent_id`、`app_id`、`run_id`四个维度标识记忆的归属范围。这种多层级标识系统使得同一项目中的不同用户、代理和应用可以拥有独立的记忆空间，同时支持跨实体的记忆共享场景。资料来源：[vercel-ai-sdk/README.md](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/README.md)\n\n## 架构概览\n\n```mermaid\ngraph TD\n    A[客户端应用] --> B[Mem0 API层]\n    B --> C{操作类型}\n    C -->|Add| D[记忆提取器]\n    C -->|Search| E[向量检索引擎]\n    C -->|Update| F[记忆更新器]\n    C -->|Delete| G[记忆删除器]\n    D --> H[向量数据库]\n    E --> H\n    F --> H\n    G --> H\n    H --> I[(持久化存储)]\n```\n\n## 核心操作\n\n### 添加记忆\n\n添加操作是记忆系统的入口点，负责从用户输入中提取有价值的信息并存储到向量数据库中。Mem0使用大语言模型进行事实提取，能够自动识别对话中的关键信息并结构化存储。资料来源：[docs/core-concepts/memory-operations/add.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/add.mdx)\n\n#### Python SDK添加示例\n\n```python\nfrom mem0 import Memory\n\nclient = Memory()\nresponse = client.add(\n    messages=[\n        {\"role\": \"user\", \"content\": \"我叫张三，喜欢喝咖啡\"},\n        {\"role\": \"assistant\", \"content\": \"好的张三，我已经记住你喜欢咖啡\"}\n    ],\n    user_id=\"zhangsan\"\n)\n```\n\n#### CLI添加命令\n\n```bash\nmem0 add \"我偏好深烘焙咖啡豆\" --user-id zhangsan\necho \"新地址是朝阳区\" | mem0 add --user-id zhangsan\nmem0 add --file conversation.json --user-id zhangsan\n```\n\n资料来源：[cli/README.md](https://github.com/mem0ai/mem0/blob/main/cli/README.md)\n\n### 搜索记忆\n\n搜索操作支持语义向量检索，能够根据自然语言查询找到语义相关的记忆内容。该操作支持多种过滤条件，包括时间范围、实体标识和元数据过滤。资料来源：[docs/core-concepts/memory-operations/search.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/search.mdx)\n\n#### 搜索参数说明\n\n| 参数名 | 类型 | 必需 | 默认值 | 说明 |\n|--------|------|------|--------|------|\n| `query` | string | 是 | - | 自然语言搜索查询 |\n| `user_id` | string | 否 | - | 用户唯一标识 |\n| `agent_id` | string | 否 | - | 代理唯一标识 |\n| `top_k` | int | 否 | 30 | 返回结果数量上限 |\n| `version` | string | 否 | - | Mem0版本标识 |\n| `category` | string | 否 | - | 记忆类别过滤 |\n\n#### 搜索响应结构\n\n```json\n{\n  \"results\": [\n    {\n      \"id\": \"mem_xxx\",\n      \"memory\": \"用户偏好深烘焙咖啡豆\",\n      \"hash\": \"a1b2c3d4\",\n      \"created_at\": \"2024-01-15T10:30:00Z\",\n      \"updated_at\": \"2024-01-15T10:30:00Z\",\n      \"metadata\": {\n        \"category\": \"user_preferences\",\n        \"source\": \"direct_input\"\n      }\n    }\n  ],\n  \"total_count\": 1\n}\n```\n\n### 更新记忆\n\n更新操作用于修改已有记忆的文本内容或元数据。更新时需要指定记忆的唯一标识符（memory_id），可以同时更新文本和元数据，也可以单独更新其中一项。资料来源：[docs/core-concepts/memory-operations/update.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/update.mdx)\n\n#### 更新方法签名\n\n```python\nclient.update(\n    memory_id=\"mem_xxx\",          # 必需：记忆唯一标识\n    data=\"新的记忆内容\",            # 可选：新的记忆文本\n    metadata={\"key\": \"value\"}      # 可选：新的元数据\n)\n```\n\n#### CLI更新命令\n\n```bash\nmem0 update <memory-id> \"更新后的记忆内容\"\nmem0 update <memory-id> --metadata '{\"priority\": \"high\"}'\n```\n\n资料来源：[cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n\n### 删除记忆\n\n删除操作支持三种粒度：单个记忆删除、基于过滤条件的批量删除、以及实体级别的完全删除。删除操作支持预览模式（dry-run），可在执行前查看将被删除的内容。资料来源：[docs/core-concepts/memory-operations/delete.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/delete.mdx)\n\n#### 删除选项矩阵\n\n| 场景 | 命令格式 | 说明 |\n|------|----------|------|\n| 删除单个记忆 | `mem0 delete <memory-id>` | 根据记忆ID精确删除 |\n| 删除用户所有记忆 | `mem0 delete --all --user-id alice` | 删除指定用户的所有记忆 |\n| 删除实体及关联记忆 | `mem0 delete --entity --user-id alice` | 删除用户实体及其所有记忆 |\n| 删除项目级所有记忆 | `mem0 delete --all --project` | 删除当前项目下的全部记忆 |\n| 预览删除内容 | `mem0 delete --all --user-id alice --dry-run` | 不实际执行，显示将被删除的内容 |\n| 跳过确认提示 | `mem0 delete --all --user-id alice --force` | 直接执行，不显示确认提示 |\n\n## MCP工具接口\n\nMem0提供Model Context Protocol（MCP）工具接口，支持AI代理通过标准化的工具调用与记忆系统交互。这些工具封装了底层的REST API调用，提供类型安全的接口契约。资料来源：[mem0-plugin/README.md](https://github.com/mem0ai/mem0/blob/main/mem0-plugin/README.md)\n\n### MCP工具列表\n\n| 工具名称 | 功能描述 | 输入参数 |\n|----------|----------|----------|\n| `add_memory` | 保存文本或对话历史 | messages/text, user_id, metadata |\n| `search_memories` | 语义搜索记忆 | query, filters, limit |\n| `get_memories` | 列出记忆列表 | filters, pagination |\n| `get_memory` | 获取特定记忆 | memory_id |\n| `update_memory` | 更新记忆文本 | memory_id, text |\n| `delete_memory` | 删除单个记忆 | memory_id |\n| `delete_all_memories` | 批量删除记忆 | filters |\n| `delete_entities` | 删除实体及其记忆 | entity_type, entity_id |\n| `list_entities` | 列出实体类型 | entity_type |\n\n## 命令行接口\n\nMem0 CLI提供完整的命令行工具集，支持快速操作和自动化脚本集成。所有命令支持全局`--agent`标志，以JSON格式输出结果，适合AI代理工具循环调用。资料来源：[cli/README.md](https://github.com/mem0ai/mem0/blob/main/cli/README.md)\n\n### 核心命令速查\n\n```bash\n# 初始化配置\nmem0 init --api-key <key> --user-id <user>\n\n# 记忆操作\nmem0 add \"记忆内容\" --user-id <user>\nmem0 search \"查询内容\" --user-id <user>\nmem0 list --user-id <user>\nmem0 get <memory-id>\nmem0 update <memory-id> \"新内容\"\nmem0 delete <memory-id>\n\n# 批量操作\nmem0 import data.json --user-id <user>\nmem0 delete --all --user-id <user> --force\n\n# 配置与状态\nmem0 config show\nmem0 entity list users\nmem0 event list\nmem0 status\n```\n\n### Agent模式\n\n在agent模式下，命令输出被优化为机器可解析的JSON格式，适合集成到AI工作流中：\n\n```bash\nmem0 --agent search \"用户偏好\" --user-id alice\nmem0 --agent add \"用户喜欢深色主题\" --user-id alice\nmem0 --agent list --user-id alice\n```\n\n## 实体管理\n\nMem0通过实体系统组织记忆，支持四种实体类型：用户（users）、代理（agents）、应用（apps）、运行实例（runs）。实体管理提供独立的命名空间，便于在复杂系统中隔离和管理记忆。资料来源：[cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n\n### 实体操作命令\n\n```bash\n# 列出所有用户\nmem0 entity list users\n\n# 列出所有代理（JSON格式）\nmem0 entity list agents --output json\n\n# 删除用户及其所有关联记忆\nmem0 entity delete --user-id alice --force\n```\n\n## 事件系统\n\n对于异步操作（如批量删除、大量添加任务），Mem0提供事件系统追踪后台处理状态。事件对象包含处理状态、进度信息和结果摘要。资料来源：[cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n\n```bash\n# 列出最近的事件\nmem0 event list\n\n# 查询特定事件状态\nmem0 event status <event-id>\n```\n\n## 实验运行参数\n\n在评估和实验场景中，Mem0支持通过参数控制记忆操作行为。这些参数通过命令行传入`run_experiments.py`脚本。资料来源：[evaluation/README.md](https://github.com/mem0ai/mem0/blob/main/evaluation/README.md)\n\n### 可配置参数\n\n| 参数名 | 说明 | 默认值 |\n|--------|------|--------|\n| `--technique_type` | 记忆技术类型：mem0/rag/langmem | mem0 |\n| `--method` | 操作方法：add/search | add |\n| `--chunk_size` | 处理分块大小 | 1000 |\n| `--top_k` | 检索返回的记忆数量 | 30 |\n| `--filter_memories` | 是否启用记忆过滤 | False |\n| `--is_graph` | 是否启用图搜索 | False |\n| `--num_chunks` | RAG处理的块数量 | 1 |\n\n### 实验执行命令\n\n```bash\n# 添加记忆实验\npython run_experiments.py --technique_type mem0 --method add\n\n# 搜索记忆实验\npython run_experiments.py --technique_type mem0 --method search --top_k 50\n```\n\n## 最佳实践\n\n### 标识符使用建议\n\n始终为每次交互提供唯一的`user_id`标识，以确保持久化记忆的正确关联。对于涉及多个代理的系统，建议同时设置`agent_id`，以便追踪不同代理的学习成果。资料来源：[vercel-ai-sdk/README.md](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/README.md)\n\n```python\n# 推荐：为每个用户和代理都设置标识\nclient.add(\n    messages=[...],\n    user_id=\"unique_user_id\",\n    agent_id=\"unique_agent_id\"  # 可选但推荐\n)\n```\n\n### 错误处理\n\n实现重试机制和优雅的错误处理，特别是在网络调用场景中：\n\n```python\ntry:\n    result = client.add(messages=[...], user_id=\"user1\")\nexcept RateLimitError:\n    # 实现退避重试\n    time.sleep(60)\n    result = client.add(messages=[...], user_id=\"user1\")\n```\n\n### 记忆清理策略\n\n定期清理不再需要的记忆以优化存储和检索性能。使用`--dry-run`参数预览删除影响后再执行实际操作。资料来源：[cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n\n## 评估指标\n\nMem0提供内置评估脚本计算记忆操作的效果指标：\n\n```bash\n# 执行评估\npython evals.py --input_file results.json --output_file scores.json\n\n# 生成最终评分\npython generate_scores.py\n```\n\n评估脚本自动计算BLEU分数、F1分数和LLM评判分数，并按类别汇总统计。资料来源：[evaluation/README.md](https://github.com/mem0ai/mem0/blob/main/evaluation/README.md)\n\n---\n\n<a id='page-entity-extraction'></a>\n\n## 实体提取与链接\n\n### 相关页面\n\n相关主题：[记忆操作API](#page-memory-operations), [LLM模型集成](#page-llm-integrations)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0-ts/src/oss/src/utils/entity_extraction.ts](https://github.com/mem0ai/mem0/blob/main/mem0-ts/src/oss/src/utils/entity_extraction.ts)\n- [mem0/utils/entity_extraction.py](https://github.com/mem0ai/mem0/blob/main/mem0/utils/entity_extraction.py)\n- [mem0/utils/lemmatization.py](https://github.com/mem0ai/mem0/blob/main/mem0/utils/lemmatization.py)\n- [mem0/utils/scoring.py](https://github.com/mem0ai/mem0/blob/main/mem0/utils/scoring.py)\n</details>\n\n# 实体提取与链接\n\n## 概述\n\n实体提取与链接（Entity Extraction and Linking）是Mem0记忆系统中用于从用户输入和对话历史中识别、分类和关联关键信息片段的核心组件。该系统能够自动识别文本中的人名、组织名、地点、时间表达式以及复合术语，并将这些实体与记忆系统中的其他相关信息进行关联，形成结构化的知识网络。\n\nMem0的实体提取模块采用混合策略，结合正则表达式模式匹配、词典匹配和启发式规则来实现高精度的实体识别。该模块是Mem0实现\"智能记忆\"的关键基础，使系统能够理解用户提及的具体实体，并基于实体关系进行更精准的记忆检索和推理。\n\n## 系统架构\n\n### 整体架构图\n\n```mermaid\ngraph TD\n    A[用户输入文本] --> B[文本预处理]\n    B --> C[实体提取引擎]\n    C --> D[实体类型分类]\n    C --> E[复合词识别]\n    C --> F[实体规范化]\n    D --> G[实体链接模块]\n    E --> G\n    F --> G\n    G --> H[记忆存储层]\n    H --> I[向量嵌入生成]\n    I --> J[记忆检索引擎]\n    \n    subgraph 实体类型识别\n        D --> D1[PERSON - 人名]\n        D --> D2[ORG - 组织机构]\n        D --> D3[LOCATION - 地点]\n        D --> D4[TIME - 时间表达式]\n    end\n    \n    subgraph 复合词处理\n        E --> E1[COMPOUND - 复合术语]\n        E1 --> E2[Machine Learning]\n        E1 --> E2[Deep Learning]\n    end\n```\n\n### 模块职责\n\n| 模块名称 | 职责描述 | 核心文件 |\n|---------|---------|---------|\n| 文本预处理 | 分词、清洗、标准化 | `lemmatization.py` |\n| 实体提取引擎 | 正则匹配、模式识别 | `entity_extraction.py` / `entity_extraction.ts` |\n| 实体分类器 | 实体类型判定与标注 | `entity_extraction.ts` |\n| 复合词识别器 | 多词术语检测与合并 | `entity_extraction.ts` |\n| 实体规范化 | 词形还原、去重、标准化 | `lemmatization.py` |\n| 评分引擎 | 实体重要性评估与排序 | `scoring.py` |\n\n## 实体类型系统\n\nMem0定义了以下核心实体类型，用于对识别的实体进行语义分类：\n\n```mermaid\ngraph LR\n    A[识别结果] --> B[PERSON]\n    A --> C[ORG]\n    A --> D[LOCATION]\n    A --> E[TIME]\n    A --> F[COMPOUND]\n    \n    B --> B1[人名实体]\n    C --> C1[组织机构]\n    D --> D1[地理/虚拟位置]\n    E --> E1[时间表达式]\n    F --> F1[复合术语短语]\n    \n    style B fill:#e1f5fe\n    style C fill:#fff3e0\n    style D fill:#e8f5e9\n    style E fill:#fce4ec\n    style F fill:#f3e5f5\n```\n\n### 实体类型详细说明\n\n| 类型标识 | 类型名称 | 识别模式 | 示例 |\n|---------|---------|---------|------|\n| PERSON | 人名 | 正则匹配 + 词典 | \"John Smith\", \"Alice\" |\n| ORG | 组织机构 | 正则匹配 + 词典 | \"Google\", \"MIT\" |\n| LOCATION | 地点 | 正则匹配 + 词典 | \"San Francisco\", \"Paris\" |\n| TIME | 时间表达式 | 正则匹配 | \"2024-01-15\", \"last Monday\" |\n| COMPOUND | 复合术语 | 词组模式匹配 | \"machine learning\", \"deep learning\" |\n\n### PERSON 类型识别\n\n人名实体识别基于以下策略组合：\n\n1. **首字母大写模式**：识别以大写字母开头的连续单词序列\n2. **已知人名词典**：通过预定义词典匹配常见人名\n3. **上下文信号**：结合动词和介词的上下文关系辅助判断\n\n```typescript\n// 参考: mem0-ts/src/oss/src/utils/entity_extraction.ts\nconst personNamePattern = /\\b([A-Z][a-z]+(?:\\s+[A-Z][a-z]+)+)\\b/g;\n```\n\n### ORG 类型识别\n\n组织机构识别涵盖以下类别：\n\n- **公司企业**：如 \"OpenAI\", \"Microsoft\", \"Tesla\"\n- **学术机构**：如 \"MIT\", \"Stanford University\", \"Oxford\"\n- **非营利组织**：如 \"World Health Organization\"\n\n组织机构识别使用正则表达式与词典结合的方式：\n\n```typescript\nconst orgPatterns = [\n  /\\b([A-Z][a-z]*(?:\\s+[A-Z][a-z]*)*\\s+(Inc|Corp|LLC|Ltd|Co)\\.?)\\b/gi,\n  /\\b([A-Z][a-z]*(?:\\s+[A-Z][a-z]*)*\\s+(University|Institute|College)\\b/gi\n];\n```\n\n### LOCATION 类型识别\n\n地点实体识别包括：\n\n- **城市名称**：如 \"Beijing\", \"London\", \"Tokyo\"\n- **国家名称**：如 \"United States\", \"China\", \"Germany\"\n- **地理标识**：如 \"Silicon Valley\", \"the Pacific\"\n\n### TIME 类型识别\n\n时间表达式支持以下格式：\n\n| 格式类型 | 示例 | 正则模式 |\n|---------|------|---------|\n| ISO日期 | 2024-01-15 | `\\d{4}-\\d{2}-\\d{2}` |\n| 美式日期 | 01/15/2024 | `\\d{1,2}/\\d{1,2}/\\d{4}` |\n| 自然语言 | last Monday | 上下文模式匹配 |\n| 相对时间 | two weeks ago | 词汇匹配 |\n\n### COMPOUND 复合术语识别\n\n复合术语是实体提取系统中最复杂的部分，用于识别由多个词组成的专业术语和技术概念。\n\n```mermaid\ngraph TD\n    A[输入文本] --> B[词组模式扫描]\n    B --> C{是否满足复合词条件?}\n    C -->|是| D[词形还原处理]\n    C -->|否| E[丢弃该词组]\n    D --> F{检查内容词}\n    F -->|有内容词| G[去除通用修饰词]\n    F -->|无内容词| E\n    G --> H{剩余词数>=2?}\n    H -->|是| I[标记为COMPOUND]\n    H -->|否| E\n    I --> J[规范化输出]\n```\n\n复合词识别规则：\n\n- **最小长度限制**：词组长度至少2个词，最多4个词\n- **总字符数**：词组总字符数必须大于5\n- **内容词检查**：至少包含一个非通用修饰的内容词\n- **尾部词汇过滤**：排除以通用词结尾的组合\n\n**通用头部词汇集合**（GENERIC_HEADS）：\n\n```typescript\nconst GENERIC_HEADS = new Set([\n  'system', 'platform', 'framework', 'solution', 'service',\n  'model', 'method', 'approach', 'tool', 'application'\n]);\n```\n\n**非特定形容词集合**（NON_SPECIFIC_ADJ）：\n\n```typescript\nconst NON_SPECIFIC_ADJ = new Set([\n  'new', 'old', 'good', 'great', 'best', 'latest', 'current',\n  'advanced', 'modern', 'popular', 'simple', 'basic'\n]);\n```\n\n## 核心算法流程\n\n### 实体提取完整流程\n\n```mermaid\nsequenceDiagram\n    participant U as 用户输入\n    participant T as 文本预处理\n    participant E as 实体提取\n    participant C as 分类器\n    participant L as 链接引擎\n    participant M as 记忆存储\n    \n    U->>T: 原始文本输入\n    T->>T: 分词与标准化\n    T->>E: 预处理后文本\n    E->>E: 正则模式匹配\n    E->>E: 词典匹配\n    E->>E: 复合词检测\n    E->>C: 候选实体列表\n    C->>C: 类型分类\n    C->>C: 置信度评估\n    C->>L: 分类后实体\n    L->>L: 去重处理\n    L->>L: 规范化\n    L->>M: 关联存储\n    M-->>U: 确认存储\n```\n\n### 复合词识别详细算法\n\n复合词识别的核心算法伪代码：\n\n```\n函数 extractCompoundEntities(text):\n    1. 初始化空结果列表\n    \n    2. 扫描文本查找 2-4 词的词组组合\n    \n    3. 对每个候选词组:\n       a. 检查总字符数 > 5\n       b. 获取词组最后一个词 (head)\n       c. 检查 head 是否在 GENERIC_HEADS 中\n       d. 如果在，则跳过该候选\n       e. 检查词组是否全为通用词\n       f. 如果全为通用词，则跳过\n       \n    4. 对通过初步检查的候选词组:\n       a. 过滤掉 NON_SPECIFIC_ADJ 中的词\n       b. 去除通用结尾词\n       c. 如果剩余词数 >= 2\n          则添加到结果列表\n          \n    5. 返回实体列表，每个实体包含:\n       - type: \"COMPOUND\"\n       - text: 规范化后的词组文本\n```\n\n### 实体链接机制\n\n实体链接模块负责将提取的实体与现有记忆进行关联：\n\n1. **共现分析**：检测实体在相同上下文中出现的频率\n2. **关系推断**：基于动词和介词推断实体间关系类型\n3. **时间关联**：关联具有时间属性的实体到对应时间点\n4. **层级关系**：识别实体间的上下级关系\n\n## API 与配置\n\n### Python SDK 接口\n\nMem0的Python SDK提供以下实体提取相关接口：\n\n```python\nfrom mem0 import Memory\n\n# 初始化记忆客户端\nmemory = Memory()\n\n# 添加包含实体的记忆\nresult = memory.add(\n    messages=[\n        {\"role\": \"user\", \"content\": \"Alice works at Google in San Francisco\"}\n    ],\n    user_id=\"user123\"\n)\n\n# 搜索相关记忆\nresults = memory.search(\n    query=\"Who works at Google?\",\n    user_id=\"user123\"\n)\n```\n\n### 配置参数\n\n| 参数名称 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `embedding_model` | string | \"text-embedding-3-small\" | 向量嵌入模型 |\n| `llm_model` | string | \"gpt-4\" | 用于实体提取的LLM模型 |\n| `entity_types` | list | [\"PERSON\", \"ORG\", \"LOCATION\", \"TIME\", \"COMPOUND\"] | 要识别的实体类型 |\n| `enable_graph` | bool | false | 启用图结构实体关联 |\n| `similarity_threshold` | float | 0.7 | 实体相似度匹配阈值 |\n\n### TypeScript SDK 接口\n\n```typescript\nimport { Memory } from 'mem0-ts';\n\nconst memory = new Memory({\n  embedder: {\n    provider: 'openai',\n    config: {\n      apiKey: process.env.OPENAI_API_KEY,\n      model: 'text-embedding-3-small'\n    }\n  },\n  llm: {\n    config: {\n      apiKey: process.env.OPENAI_API_KEY,\n      model: 'gpt-4'\n    }\n  }\n});\n\n// 添加记忆并触发实体提取\nawait memory.add('John visited the Stanford University campus yesterday');\n\n// 检索相关实体记忆\nconst results = await memory.search('Who did John visit?');\n```\n\n## 规范化与评分\n\n### 词形还原（Lemmatization）\n\n词形还原模块负责将提取的实体还原为其标准形式：\n\n```mermaid\ngraph LR\n    A[原始形式] --> B[词性标注]\n    B --> C{词性判断}\n    C -->|名词| D[名词还原规则]\n    C -->|动词| E[动词还原规则]\n    C -->|形容词| F[形容词还原规则]\n    D --> G[标准形式输出]\n    E --> G\n    F --> G\n```\n\n词形还原规则示例：\n\n| 原始形式 | 词性 | 还原后 |\n|---------|------|--------|\n| working | 动词 | work |\n| mice | 名词 | mouse |\n| better | 形容词 | good |\n| studies | 动词 | study |\n\n### 实体评分系统\n\n评分模块用于评估实体的重要性，影响记忆的优先级和检索排序：\n\n| 评分维度 | 权重 | 计算方式 |\n|---------|------|---------|\n| 出现频率 | 0.3 | 实体在历史中出现的次数 |\n| 上下文相关性 | 0.25 | 与当前查询的语义相似度 |\n| 时间新鲜度 | 0.2 | 最近提及距今的时间 |\n| 实体类型重要性 | 0.15 | 预定义的类型权重 |\n| 唯一性 | 0.1 | 实体在知识库中的稀有程度 |\n\n## CLI 工具支持\n\nMem0 CLI提供完整的实体管理命令：\n\n```bash\n# 查看用户相关的所有实体\nmem0 entity list users\n\n# 查看代理实体\nmem0 entity list agents --output json\n\n# 删除特定用户及其关联的所有实体\nmem0 entity delete --user-id alice --force\n\n# 搜索包含特定实体的记忆\nmem0 search \"Google\" --user-id alice --output json\n\n# 列出特定用户的记忆\nmem0 list --user-id alice --category preferences\n```\n\n## 使用最佳实践\n\n### 提高实体识别准确率\n\n1. **提供明确的上下文**：在输入中包含清晰的实体上下文信息\n2. **使用标准命名**：遵循一致的命名约定（如首字母大写）\n3. **避免歧义**：对于可能产生歧义的实体，提供额外的限定词\n\n### 复合术语识别优化\n\n1. **使用标准术语**：采用业界通用的复合术语命名\n2. **避免过度缩写**：完整术语比缩写更容易被识别\n3. **分隔符使用**：使用空格分隔复合词，避免连字符或无分隔符\n\n### 性能优化建议\n\n| 场景 | 优化策略 |\n|------|---------|\n| 大量实体处理 | 启用批量处理模式 |\n| 实时应用 | 启用缓存机制 |\n| 高精度需求 | 使用更大的LLM模型 |\n| 成本敏感 | 使用轻量级模型配合规则引擎 |\n\n## 技术限制与已知问题\n\n### 当前限制\n\n1. **嵌套实体**：暂不支持嵌套实体结构的识别\n2. **跨语言实体**：主要针对英语文本优化，其他语言支持有限\n3. **歧义消解**：实体消歧能力依赖于上下文信息丰富度\n4. **动态实体**：实时更新的实体（如新闻事件）识别存在延迟\n\n### 未来改进方向\n\n- 增强多语言支持能力\n- 引入更先进的命名实体识别模型\n- 支持自定义实体类型和识别规则\n- 改进跨文档实体追踪能力\n\n## 相关文档\n\n- [Mem0 Python SDK 文档](../sdks/python/README.md)\n- [Mem0 TypeScript SDK 文档](../sdks/typescript/README.md)\n- [记忆检索系统](./memory_retrieval.md)\n- [向量存储架构](./vector_store.md)\n\n---\n\n<a id='page-llm-integrations'></a>\n\n## LLM模型集成\n\n### 相关页面\n\n相关主题：[嵌入模型配置](#page-embeddings), [向量数据库支持](#page-vector-stores)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/llms/openai.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/openai.py)\n- [mem0/llms/anthropic.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/anthropic.py)\n- [mem0/llms/azure_openai.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/azure_openai.py)\n- [mem0/llms/base.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/base.py)\n- [docs/components/llms/overview.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/llms/overview.mdx)\n- [docs/components/llms/models/openai.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/llms/models/openai.mdx)\n</details>\n\n# LLM模型集成\n\n## 概述\n\nmem0 平台提供了灵活的 LLM（大语言模型）集成框架，允许用户连接不同的 LLM 提供商来处理记忆检索、生成和推理任务。通过统一的抽象接口设计，mem0 支持 OpenAI、Anthropic (Claude)、Azure OpenAI 等主流 LLM 服务商，用户可以根据需求选择和切换不同的模型。\n\n## 架构设计\n\nmem0 的 LLM 集成采用**基类继承 + 具体实现**的设计模式。`BaseLlm` 作为所有 LLM 提供商的抽象基类，定义了统一的接口规范，各具体 LLM 类继承该基类并实现特定平台的调用逻辑。\n\n```mermaid\ngraph TD\n    A[用户配置] --> B[Config 配置类]\n    B --> C{LLM 提供商类型}\n    C -->|OpenAI| D[OpenAILlm]\n    C -->|Anthropic| E[AnthropicLlm]\n    C -->|Azure| F[AzureOpenAILlm]\n    D --> G[BaseLlm 抽象基类]\n    E --> G\n    F --> G\n    G --> H[generate 方法]\n    G --> I[generate_response 方法]\n```\n\n所有 LLM 实现类均继承自 `BaseLlm`，继承关系如下：\n\n```mermaid\ngraph TD\n    A[BaseLlm] --> B[OpenAILlm]\n    A --> C[AnthropicLlm]\n    A --> D[AzureOpenAILlm]\n```\n\n资料来源：[mem0/llms/base.py:1-50]()\n\n## BaseLlm 抽象基类\n\n`BaseLlm` 定义了 LLM 集成的核心接口规范，包含以下关键方法：\n\n| 方法名 | 功能描述 | 返回类型 |\n|--------|----------|----------|\n| `generate` | 根据提示词生成文本响应 | `str` |\n| `generate_response` | 生成结构化响应对象 | 响应对象 |\n\n资料来源：[mem0/llms/base.py:1-50]()\n\n### 基类核心属性\n\n```python\nclass BaseLlm:\n    def __init__(self, model: str = None, temperature: float = None, **kwargs):\n        self.model = model\n        self.temperature = temperature\n```\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | `str` | `None` | 模型名称/标识符 |\n| `temperature` | `float` | `None` | 生成温度参数 (0.0-1.0) |\n| `**kwargs` | `dict` | - | 其他提供商特定参数 |\n\n## OpenAI 集成\n\n`OpenAILlm` 类实现了 OpenAI API 的集成，支持 GPT-4、GPT-3.5-Turbo 等模型。\n\n### 初始化配置\n\n```python\nfrom mem0.llms.openai import OpenAILlm\n\nllm = OpenAILlm(\n    model=\"gpt-4\",\n    temperature=0.7,\n    api_key=\"your-api-key\"  # 可通过环境变量 OPENAI_API_KEY 设置\n)\n```\n\n资料来源：[mem0/llms/openai.py:1-100]()\n\n### 环境变量配置\n\n| 环境变量 | 说明 |\n|----------|------|\n| `OPENAI_API_KEY` | OpenAI API 密钥 |\n| `OPENAI_API_BASE` | API 基础 URL（可选，用于代理或自定义端点） |\n\n## Anthropic (Claude) 集成\n\n`AnthropicLlm` 类实现了 Anthropic Claude 模型的集成。\n\n### 初始化配置\n\n```python\nfrom mem0.llms.anthropic import AnthropicLlm\n\nllm = AnthropicLlm(\n    model=\"claude-3-opus-20240229\",\n    temperature=0.7,\n    api_key=\"your-api-key\"  # 可通过环境变量 ANTHROPIC_API_KEY 设置\n)\n```\n\n资料来源：[mem0/llms/anthropic.py:1-100]()\n\n### 环境变量配置\n\n| 环境变量 | 说明 |\n|----------|------|\n| `ANTHROPIC_API_KEY` | Anthropic API 密钥 |\n| `ANTHROPIC_API_BASE` | API 基础 URL（可选） |\n\n## Azure OpenAI 集成\n\n`AzureOpenAILlm` 类实现了 Azure OpenAI Service 的集成，适用于企业级部署场景。\n\n### 初始化配置\n\n```python\nfrom mem0.llms.azure_openai import AzureOpenAILlm\n\nllm = AzureOpenAILlm(\n    model=\"gpt-4\",\n    temperature=0.7,\n    api_key=\"your-api-key\",\n    api_base=\"https://your-resource.openai.azure.com\",\n    api_version=\"2024-02-01\"  # Azure API 版本\n)\n```\n\n资料来源：[mem0/llms/azure_openai.py:1-100]()\n\n### Azure 特定配置参数\n\n| 参数 | 说明 | 必需 |\n|------|------|------|\n| `api_base` | Azure 资源端点 URL | 是 |\n| `api_version` | Azure API 版本号 | 是 |\n| `api_type` | 固定值 `azure` | 是 |\n\n## 使用流程\n\nmem0 中 LLM 的典型使用流程如下：\n\n```mermaid\ngraph LR\n    A[创建 Config] --> B[初始化 LLM 实例]\n    B --> C[调用 generate/generate_response]\n    C --> D[返回结果]\n```\n\n### 完整使用示例\n\n```python\nfrom mem0.llms.openai import OpenAILlm\n\n# 方式一：直接初始化\nllm = OpenAILlm(model=\"gpt-4\", temperature=0.0)\n\n# 方式二：通过配置初始化\nllm = OpenAILlm.from_config({\n    \"model\": \"gpt-4\",\n    \"temperature\": 0.7\n})\n\n# 调用生成方法\nresponse = llm.generate(\"What is the capital of France?\")\n```\n\n## 配置管理\n\nmem0 支持通过配置文件或代码方式管理 LLM 配置。\n\n### 配置优先级\n\n```\n环境变量 > 代码参数 > 配置文件默认值\n```\n\n### 常用配置模板\n\n| 提供商 | 推荐模型 | 适用场景 |\n|--------|----------|----------|\n| OpenAI | `gpt-4` / `gpt-3.5-turbo` | 通用场景、高质量生成 |\n| Anthropic | `claude-3-opus` / `claude-3-sonnet` | 长文本理解、复杂推理 |\n| Azure OpenAI | `gpt-4` (企业部署) | 企业合规、数据隐私 |\n\n## 模型参数说明\n\n### Temperature 参数\n\n| 值范围 | 行为特征 | 适用场景 |\n|--------|----------|----------|\n| 0.0 - 0.3 | 确定性强、一致性高 | 事实问答、结构化输出 |\n| 0.4 - 0.7 | 平衡创造性与准确性 | 通用对话、内容生成 |\n| 0.8 - 1.0 | 高度创造性、多样性强 | 创意写作、头脑风暴 |\n\n## 扩展新的 LLM 提供商\n\n如需集成新的 LLM 提供商，需遵循以下步骤：\n\n```mermaid\ngraph TD\n    A[创建新文件如 mem0/llms/new_provider.py] --> B[继承 BaseLlm 类]\n    B --> C[实现 generate 方法]\n    C --> D[实现 generate_response 方法]\n    D --> E[添加环境变量支持]\n    E --> F[更新文档和导出]\n```\n\n```python\nfrom mem0.llms.base import BaseLlm\n\nclass NewProviderLlm(BaseLlm):\n    def __init__(self, model: str = None, **kwargs):\n        super().__init__(model=model, **kwargs)\n    \n    def generate(self, prompt: str) -> str:\n        # 实现提供商特定的调用逻辑\n        pass\n```\n\n## 常见问题\n\n### Q: 如何选择合适的 LLM 提供商？\n\n**A**: 根据以下因素选择：\n\n- **数据隐私要求**：企业场景优先选择 Azure OpenAI\n- **成本控制**：GPT-3.5-Turbo 成本较低，适合大量调用\n- **任务复杂度**：复杂推理任务推荐 Claude-3-Opus 或 GPT-4\n\n### Q: API 密钥如何安全配置？\n\n**A**: 推荐使用环境变量方式配置，避免在代码中硬编码密钥：\n\n```bash\nexport OPENAI_API_KEY=\"sk-...\"\nexport ANTHROPIC_API_KEY=\"sk-ant-...\"\n```\n\n## 相关资源\n\n- [LLM 概述文档](https://github.com/mem0ai/mem0/blob/main/docs/components/llms/overview.mdx)\n- [OpenAI 详细配置](https://github.com/mem0ai/mem0/blob/main/docs/components/llms/models/openai.mdx)\n- [mem0 源码仓库](https://github.com/mem0ai/mem0)\n\n---\n\n<a id='page-vector-stores'></a>\n\n## 向量数据库支持\n\n### 相关页面\n\n相关主题：[嵌入模型配置](#page-embeddings)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [evaluation/README.md](https://github.com/mem0ai/mem0/blob/main/evaluation/README.md)\n- [server/dashboard/src/app/(root)/dashboard/configuration/page.tsx](https://github.com/mem0ai/mem0/blob/main/server/dashboard/src/app/(root)/dashboard/configuration/page.tsx)\n- [cli/node/README.md](https://github.com/mem0ai/mem0/blob/main/cli/node/README.md)\n- [cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n- [docs/components/vectordbs/overview.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/vectordbs/overview.mdx)\n</details>\n\n# 向量数据库支持\n\n## 概述\n\nMem0 平台提供了灵活的向量数据库集成能力，支持多种向量存储后端以满足不同的部署需求和性能要求。向量数据库在 Mem0 架构中承担着核心角色，负责存储和检索记忆（Memories）的高维向量嵌入表示，从而实现语义化的记忆搜索功能。\n\n向量数据库支持使 Mem0 能够：\n\n- **存储语义向量**：将记忆内容转换为高维向量进行高效存储\n- **语义相似度搜索**：基于向量距离算法返回相关内容\n- **可扩展部署**：支持本地和云端等多种部署方案 资料来源：[evaluation/README.md]()\n\n## 架构设计\n\nMem0 的向量数据库支持采用模块化的设计理念，通过统一的抽象接口连接不同的向量存储后端。\n\n```mermaid\ngraph TD\n    A[用户请求] --> B[Mem0 Core]\n    B --> C{向量存储层}\n    C --> D[Pinecone]\n    C --> E[Qdrant]\n    C --> F[Chroma]\n    C --> G[Weaviate]\n    C --> H[FAISS 本地]\n    D --> I[云端向量数据库]\n    E --> J[自托管 / 云端]\n    H --> K[本地文件系统]\n```\n\n### 核心组件\n\n| 组件 | 职责 | 支持类型 |\n|------|------|---------|\n| **向量存储抽象层** | 定义统一的向量操作接口 | BaseVectorStore |\n| **嵌入模型配置** | 管理文本到向量的转换 | OpenAI、Aziere、Cohere 等 |\n| **查询路由** | 根据配置选择合适的存储后端 | 动态路由 |\n| **元数据管理** | 处理记忆的附加属性 | 标签、来源、时间戳 |\n\n资料来源：[server/dashboard/src/app/(root)/dashboard/configuration/page.tsx]()\n\n## 嵌入模型配置\n\nMem0 支持配置多种嵌入模型来生成向量表示。嵌入模型的选择直接影响记忆检索的质量和性能。\n\n### 配置参数\n\n| 参数 | 说明 | 默认值 |\n|------|------|--------|\n| `EMBEDDING_MODEL` | 嵌入模型名称 | text-embedding-3-small |\n| `embedder_provider` | 嵌入服务提供商 | OpenAI |\n| `embedder_model` | 具体模型标识 | text-embedding-3-small |\n\n### 支持的嵌入提供商\n\nMem0 平台原生支持以下嵌入服务提供商：\n\n- **OpenAI**：使用 text-embedding-3-small 或 text-embedding-ada-002\n- **Azure OpenAI**：通过 Azure 平台部署的 OpenAI 模型\n- **Cohere**：支持 Cohere Embed 系列产品\n- **自定义提供商**：支持扩展其他嵌入服务\n\n配置示例（来自评估脚本）：\n\n```bash\nexport EMBEDDING_MODEL=\"text-embedding-3-small\"  # 或您偏好的嵌入模型\n```\n\n资料来源：[evaluation/README.md:1-5]()\n\n## 向量存储后端\n\n### 云端向量数据库\n\n#### Pinecone\n\nPinecone 是 Mem0 推荐的生产环境向量存储方案之一，提供完全托管的向量数据库服务。\n\n**特点**：\n\n- 无服务器架构，自动扩缩容\n- 支持毫秒级查询延迟\n- 内置高可用性和灾备机制\n\n#### Qdrant\n\nQdrant 是开源的向量相似度搜索引擎，支持自托管和云端部署。\n\n**特点**：\n\n- 支持元数据过滤\n- 提供 gRPC 和 RESTful API\n- 支持混合搜索（稀疏 + 密集向量）\n\n### 本地向量数据库\n\n对于开发和测试场景，Mem0 支持使用本地向量数据库：\n\n| 后端 | 适用场景 | 特点 |\n|------|---------|------|\n| FAISS | 小规模数据 | 高性能、内存密集 |\n| Chroma | 原型开发 | 简单易用、Python 原生 |\n| SQLite (向量扩展) | 轻量级应用 | 零依赖、嵌入式 |\n\n资料来源：[cli/python/README.md]()\n\n## 配置管理\n\n### 通过 Dashboard 配置\n\nMem0 Dashboard 提供了图形化的配置界面，可以配置 LLM 模型和嵌入模型：\n\n```typescript\n// 配置卡片组件结构\ninterface ConfigCard {\n  provider: Select;  // 提供商选择\n  model: Input;      // 模型名称输入\n  apiKey: Input;     // API 密钥（受保护）\n}\n```\n\n配置路径：`Dashboard > Configuration > Embedding Model`\n\n### 通过 CLI 配置\n\nMem0 CLI 提供了命令行配置管理功能：\n\n```bash\n# 查看当前配置\nmem0 config show\n\n# 获取特定配置项\nmem0 config get api_key\n\n# 设置配置值\nmem0 config set user_id alice\n```\n\n资料来源：[cli/node/README.md]()\n资料来源：[cli/python/README.md]()\n\n## 使用流程\n\n### 添加记忆到向量存储\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant M as Mem0\n    participant E as 嵌入模型\n    participant V as 向量数据库\n    \n    U->>M: 添加记忆\n    M->>E: 发送文本\n    E-->>M: 返回向量嵌入\n    M->>V: 存储向量 + 元数据\n    V-->>M: 确认存储\n    M-->>U: 返回记忆 ID\n```\n\n### 搜索记忆\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant M as Mem0\n    participant E as 嵌入模型\n    participant V as 向量数据库\n    \n    U->>M: 语义搜索查询\n    M->>E: 查询文本\n    E-->>M: 返回查询向量\n    M->>V: 相似度搜索\n    V-->>M: 返回相关记忆\n    M-->>U: 返回结果列表\n```\n\n## 实验与评估\n\nMem0 提供了完整的评估框架，支持对不同向量数据库配置进行性能对比：\n\n```bash\n# Mem0 实验\nmake run-mem0-add         # 使用 Mem0 添加记忆\nmake run-mem0-search      # 使用 Mem0 搜索记忆\n\n# Mem0+ 实验（带图搜索）\nmake run-mem0-plus-add    # Mem0+ 添加\nmake run-mem0-plus-search # Mem0+ 搜索\n\n# RAG 对比实验\nmake run-rag              # 标准 RAG（块大小 500）\nmake run-full-context     # 全上下文 RAG\n```\n\n### 实验参数\n\n| 参数 | 说明 | 默认值 |\n|------|------|--------|\n| `--technique_type` | 记忆技术类型 | mem0 |\n| `--method` | 操作方法 | add |\n| `--chunk_size` | 处理块大小 | 1000 |\n| `--top_k` | 返回结果数量 | - |\n\n资料来源：[evaluation/README.md:30-50]()\n\n## 扩展新的向量数据库\n\nMem0 的向量存储层设计为可扩展的，要添加新的向量数据库后端，需要：\n\n1. **实现基类接口**：继承 `BaseVectorStore` 抽象类\n2. **实现核心方法**：\n   - `add_vectors()` - 添加向量\n   - `search()` - 相似度搜索\n   - `delete()` - 删除向量\n3. **配置支持**：在配置系统中注册新的存储类型\n\n## 注意事项\n\n- 嵌入模型的选择直接影响检索质量，建议在生产环境使用经过验证的模型（如 OpenAI text-embedding-3-small）\n- 云端向量数据库（如 Pinecone）需要配置相应的 API 密钥\n- 本地向量数据库适合开发和测试，生产环境建议使用托管服务\n- Mem0 支持扩展其他 Python 包来增加新的提供商支持\n\n资料来源：[server/dashboard/src/app/(root)/dashboard/configuration/page.tsx]()\n\n## 相关资源\n\n- [向量数据库概述](../vectordbs/overview.mdx)\n- [Pinecone 配置指南](../vectordbs/dbs/pinecone.mdx)\n- [Mem0 官方文档](https://docs.mem0.ai)\n\n---\n\n<a id='page-embeddings'></a>\n\n## 嵌入模型配置\n\n### 相关页面\n\n相关主题：[LLM模型集成](#page-llm-integrations), [向量数据库支持](#page-vector-stores)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/embeddings/openai.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/openai.py)\n- [mem0/embeddings/huggingface.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/huggingface.py)\n- [mem0/embeddings/base.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/base.py)\n- [docs/components/embedders/overview.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/embedders/overview.mdx)\n- [docs/components/embedders/models/openai.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/embedders/models/openai.mdx)\n</details>\n\n# 嵌入模型配置\n\n## 概述\n\n嵌入模型（Embedding Model）是 Mem0 记忆系统的核心组件之一，负责将文本内容转换为高维向量表示，以便进行语义搜索和相似度匹配。Mem0 支持多种嵌入模型提供商，包括 OpenAI、Hugging Face、Ollama 等。\n\n嵌入模型的主要作用包括：\n- 将用户消息、记忆内容转换为向量表示\n- 支持语义相似度搜索\n- 驱动记忆检索的准确性\n- 提供可插拔的嵌入提供商架构\n\n资料来源：[evaluation/README.md](https://github.com/mem0ai/mem0/blob/main/evaluation/README.md)\n\n## 架构设计\n\nMem0 采用模块化的嵌入模型架构，核心组件如下：\n\n```mermaid\ngraph TD\n    A[用户消息] --> B[嵌入模型接口]\n    B --> C{提供商选择}\n    C -->|OpenAI| D[OpenAI 嵌入]\n    C -->|HuggingFace| E[HuggingFace 嵌入]\n    C -->|Ollama| F[Ollama 嵌入]\n    C -->|其他| G[自定义提供者]\n    D --> H[向量存储]\n    E --> H\n    F --> H\n    G --> H\n```\n\n### 基类设计\n\n所有嵌入模型都继承自 `BaseEmbedder` 基类，定义统一的接口规范：\n\n```mermaid\nclassDiagram\n    class BaseEmbedder {\n        <<abstract>>\n        +embed(text: str) List[float]\n        +embed_batch(texts: List[str]) List[List[float]]\n        +get_vector_dimension() int\n    }\n    \n    class OpenAIEmbedder {\n        +embed(text: str) List[float]\n        +embed_batch(texts: List[str]) List[List[float]]\n    }\n    \n    class HuggingFaceEmbedder {\n        +embed(text: str) List[float]\n        +embed_batch(texts: List[str]) List[List[float]]\n    }\n    \n    BaseEmbedder <|-- OpenAIEmbedder\n    BaseEmbedder <|-- HuggingFaceEmbedder\n```\n\n资料来源：[mem0/embeddings/base.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/base.py)\n\n## 支持的嵌入模型提供商\n\n### OpenAI\n\nOpenAI 提供高性能的嵌入模型，适合生产环境使用。\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | string | `text-embedding-3-small` | 嵌入模型名称 |\n| `api_key` | string | 环境变量 | OpenAI API 密钥 |\n| `base_url` | string | `https://api.openai.com/v1` | API 基础 URL |\n\n常用模型：\n- `text-embedding-3-small`：性价比最高，适合大多数场景\n- `text-embedding-3-large`：精度更高，维度更大\n- `text-embedding-ada-002`：经典模型，兼容性最好\n\n资料来源：[docs/components/embedders/models/openai.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/embedders/models/openai.mdx)\n\n### Hugging Face\n\nHugging Face 提供开源嵌入模型，支持本地部署。\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | string | 必需 | 模型名称或路径 |\n| `api_key` | string | 环境变量 | Hugging Face API 密钥 |\n| `device` | string | `cpu` | 运行设备 |\n\n资料来源：[mem0/embeddings/huggingface.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/huggingface.py)\n\n### Ollama\n\nOllama 支持本地运行的 LLM 和嵌入模型，适合隐私敏感场景。\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | string | `nomic-embed-text` | Ollama 模型名称 |\n| `base_url` | string | `http://localhost:11434` | Ollama 服务地址 |\n\n资料来源：[openmemory/README.md](https://github.com/mem0ai/mem0/blob/main/openmemory/README.md)\n\n## 配置方法\n\n### 环境变量配置\n\nMem0 支持通过环境变量配置嵌入模型：\n\n```bash\n# OpenAI 配置\nEMBEDDER_PROVIDER=openai\nEMBEDDER_MODEL=text-embedding-3-small\nEMBEDDER_API_KEY=sk-...\n\n# Ollama 配置（本地部署）\nEMBEDDER_PROVIDER=ollama\nEMBEDDER_MODEL=nomic-embed-text\nOLLAMA_BASE_URL=http://localhost:11434\n```\n\n### 代码配置\n\n在 Python 代码中配置嵌入模型：\n\n```python\nfrom mem0 import Memory\n\nconfig = {\n    \"embedder\": {\n        \"provider\": \"openai\",\n        \"config\": {\n            \"model\": \"text-embedding-3-small\",\n            \"api_key\": \"sk-...\"\n        }\n    }\n}\n\nmemory = Memory.from_config(config)\n```\n\n### TypeScript 配置\n\nTypeScript 版本的 Mem0 同样支持嵌入模型配置：\n\n```typescript\nimport { Memory } from \"mem0-ts\";\n\nconst memory = new Memory({\n    embedder: {\n        provider: \"openai\",\n        config: {\n            apiKey: process.env.OPENAI_API_KEY,\n            model: \"text-embedding-3-small\"\n        }\n    }\n});\n```\n\n资料来源：[mem0-ts/src/oss/README.md](https://github.com/mem0ai/mem0/blob/main/mem0-ts/src/oss/README.md)\n\n## 仪表盘配置\n\nMem0 Web 仪表盘提供了可视化的嵌入模型配置界面。\n\n### 配置界面路径\n\n`/dashboard/configuration` 页面允许用户配置嵌入模型设置。\n\n### 配置项\n\n| 配置项 | 类型 | 说明 |\n|--------|------|------|\n| Provider | 下拉选择 | 嵌入模型提供商 |\n| Model | 文本输入 | 模型名称，如 `text-embedding-3-small` |\n\n```tsx\n<div className=\"space-y-1\">\n    <Label className=\"text-xs\">Model</Label>\n    <Input\n        placeholder=\"text-embedding-3-small\"\n        value={embedderModel}\n        onChange={(e) => setEmbedderModel(e.target.value)}\n        disabled={!isAdmin}\n    />\n</div>\n```\n\n资料来源：[server/dashboard/src/app/(root)/dashboard/configuration/page.tsx](https://github.com/mem0ai/mem0/blob/main/server/dashboard/src/app/(root)/dashboard/configuration/page.tsx)\n\n## 配置优先级\n\nMem0 按照以下优先级确定嵌入模型配置：\n\n```mermaid\ngraph LR\n    A[代码配置] --> B[最高优先级]\n    C[环境变量] --> D[次优先级]\n    E[默认配置] --> F[最低优先级]\n```\n\n1. **代码配置**：通过 `Memory.from_config()` 或构造函数直接传入\n2. **环境变量**：通过 `EMBEDDER_*` 系列环境变量设置\n3. **默认配置**：使用库内置的默认模型和参数\n\n## 批量嵌入\n\n嵌入模型支持批量处理多个文本，提高处理效率：\n\n```python\nfrom mem0.embeddings.openai import OpenAIEmbedder\n\nembedder = OpenAIEmbedder()\n\n# 单条嵌入\nvector = embedder.embed(\"用户的第一条消息\")\n\n# 批量嵌入\ntexts = [\"消息1\", \"消息2\", \"消息3\"]\nvectors = embedder.embed_batch(texts)\n```\n\n批量嵌入的工作流程：\n\n```mermaid\nsequenceDiagram\n    participant 用户\n    participant Embedder\n    participant API\n    \n    用户->>Embedder: embed_batch([文本列表])\n    Embedder->>Embedder: 分批处理\n    loop 每批最多50条\n        Embedder->>API: 批量请求\n        API-->>Embedder: 向量列表\n    end\n    Embedder-->>用户: 完整向量列表\n```\n\n## 扩展自定义嵌入模型\n\n可以通过实现 `BaseEmbedder` 接口添加新的嵌入模型提供商：\n\n```python\nfrom mem0.embeddings.base import BaseEmbedder\n\nclass CustomEmbedder(BaseEmbedder):\n    def __init__(self, config: dict):\n        self.model = config.get(\"model\")\n        self.api_key = config.get(\"api_key\")\n    \n    def embed(self, text: str) -> List[float]:\n        # 实现嵌入逻辑\n        pass\n    \n    def embed_batch(self, texts: List[str]) -> List[List[float]]:\n        # 实现批量嵌入逻辑\n        pass\n    \n    def get_vector_dimension(self) -> int:\n        return self.dimension\n```\n\n注册自定义嵌入器：\n\n```python\nMemory.register_embedder(\"custom\", CustomEmbedder)\n```\n\n## 最佳实践\n\n### 生产环境建议\n\n| 场景 | 推荐配置 |\n|------|----------|\n| 通用应用 | OpenAI `text-embedding-3-small` |\n| 高精度需求 | OpenAI `text-embedding-3-large` |\n| 隐私敏感 | Ollama + `nomic-embed-text` |\n| 开源项目 | Hugging Face Sentence Transformers |\n\n### 性能优化\n\n1. **选择合适的模型维度**：低维度模型（如 384 维）速度快，高维度模型（如 1536 维）精度高\n2. **使用批量 API**：减少 API 调用次数\n3. **启用缓存**：对于重复的查询启用向量缓存\n4. **本地部署**：Ollama 适合对延迟要求高的场景\n\n### 安全建议\n\n- API 密钥应存储在环境变量或密钥管理服务中\n- 避免在代码中硬编码密钥\n- 定期轮换 API 密钥\n\n## 常见问题\n\n### Q: 如何切换不同的嵌入模型？\n\n可以通过修改配置文件或环境变量来切换嵌入模型：\n\n```python\n# 切换到 HuggingFace\nconfig = {\n    \"embedder\": {\n        \"provider\": \"huggingface\",\n        \"config\": {\n            \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"\n        }\n    }\n}\nmemory = Memory.from_config(config)\n```\n\n### Q: 支持哪些向量维度？\n\n| 模型 | 向量维度 |\n|------|----------|\n| `text-embedding-3-small` | 1536 |\n| `text-embedding-3-large` | 3072 |\n| `text-embedding-ada-002` | 1536 |\n| `nomic-embed-text` | 768 |\n| `all-MiniLM-L6-v2` | 384 |\n\n### Q: 如何处理嵌入模型供应商故障？\n\n建议实现 fallback 机制：\n\n```python\ntry:\n    memory = Memory.from_config(primary_config)\nexcept EmbedderUnavailableError:\n    memory = Memory.from_config(fallback_config)\n\n---\n\n<a id='page-agent-integrations'></a>\n\n## 智能体框架集成\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [skills/mem0/SKILL.md](https://github.com/mem0ai/mem0/blob/main/skills/mem0/SKILL.md)\n- [mem0-plugin/skills/mem0/SKILL.md](https://github.com/mem0ai/mem0/blob/main/mem0-plugin/skills/mem0/SKILL.md)\n- [vercel-ai-sdk/src/mem0-provider.ts](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/src/mem0-provider.ts)\n- [docs/integrations/langgraph.mdx](https://github.com/mem0ai/mem0/blob/main/docs/integrations/langgraph.mdx)\n- [docs/integrations/crewai.mdx](https://github.com/mem0ai/mem0/blob/main/docs/integrations/crewai.mdx)\n- [docs/integrations/llama-index.mdx](https://github.com/mem0ai/mem0/blob/main/docs/integrations/llama-index.mdx)\n</details>\n\n# 智能体框架集成\n\n## 概述\n\nmem0 提供了与多种主流智能体框架的深度集成能力，使 AI 智能体能够具备持久记忆和上下文理解功能。通过这些集成，开发者可以在 LangGraph、CrewAI、LlamaIndex 等框架中无缝使用 mem0 的记忆层，实现跨对话的长期信息保持和个性化交互。\n\nmem0 的智能体框架集成主要解决以下问题：\n- **记忆持久化**：在不同对话轮次间保持用户偏好和历史信息\n- **上下文增强**：为智能体提供相关历史记忆作为上下文补充\n- **多智能体协作**：支持复杂多智能体系统中的记忆共享与隔离\n\n## 集成架构\n\nmem0 与智能体框架的集成采用统一的适配层架构，不同框架通过各自的集成方式与 mem0 的核心记忆功能交互。\n\n```mermaid\ngraph TB\n    subgraph 智能体框架层\n        LG[LangGraph 智能体]\n        CA[CrewAI 智能体]\n        LI[LlamaIndex 智能体]\n        VA[Vercel AI SDK]\n    end\n    \n    subgraph mem0 集成适配层\n        LG_INTEGRATION[LangGraph 集成]\n        CA_INTEGRATION[CrewAI 集成]\n        LI_INTEGRATION[LlamaIndex 集成]\n        MEM0_PROVIDER[Mem0 Provider]\n    end\n    \n    subgraph mem0 核心层\n        MEM0[mem0 记忆管理]\n        GRAPH[向量图谱]\n        STORAGE[持久化存储]\n    end\n    \n    LG --> LG_INTEGRATION\n    CA --> CA_INTEGRATION\n    LI --> LI_INTEGRATION\n    VA --> MEM0_PROVIDER\n    \n    LG_INTEGRATION --> MEM0\n    CA_INTEGRATION --> MEM0\n    LI_INTEGRATION --> MEM0\n    MEM0_PROVIDER --> MEM0\n    \n    MEM0 --> GRAPH\n    MEM0 --> STORAGE\n```\n\n## LangGraph 集成\n\n### 功能描述\n\nLangGraph 是基于 LangChain 构建的图状工作流框架，mem0 提供了专门的 `MemorySaver` 检查点机制和工具函数，用于在 LangGraph 状态机中持久化记忆。资料来源：[docs/integrations/langgraph.mdx:1-50]()\n\n### 核心组件\n\n| 组件名称 | 类型 | 功能说明 |\n|---------|------|----------|\n| MemorySaver | 检查点Saver | 将 mem0 记忆作为 LangGraph 状态检查点持久化 |\n| add_memory | 工具函数 | 向 mem0 添加新的记忆条目 |\n| search_memories | 工具函数 | 搜索相关历史记忆 |\n| get_memory_context | 工具函数 | 获取格式化的记忆上下文 |\n\n### 使用示例\n\n```python\nfrom langgraph.graph import StateGraph, START, END\nfrom langgraph.checkpoint.memory import MemorySaver\nfrom mem0 import Memory\n\n# 初始化 mem0 记忆实例\nmemory = Memory()\n\n# 创建 LangGraph 工作流\nworkflow = StateGraph(state)\n\n# 定义记忆添加工具\n@tool\ndef add_memory_tool(user_id: str, agent_id: str, memory_content: str):\n    \"\"\"将智能体生成的内容添加到记忆\"\"\"\n    memory.add(\n        messages=[{\"role\": \"user\", \"content\": memory_content}],\n        user_id=user_id,\n        agent_id=agent_id\n    )\n    return \"记忆已保存\"\n\n# 定义记忆搜索工具\n@tool  \ndef search_memory_tool(user_id: str, query: str):\n    \"\"\"搜索相关记忆\"\"\"\n    results = memory.search(\n        query=query,\n        user_id=user_id,\n        limit=5\n    )\n    return results\n```\n\n资料来源：[docs/integrations/langgraph.mdx:50-100]()\n\n## CrewAI 集成\n\n### 功能描述\n\nCrewAI 是一个多智能体协作框架，mem0 提供了 CrewAI 工具集成，使智能体能够在执行任务时查询和更新记忆。资料来源：[docs/integrations/crewai.mdx:1-50]()\n\n### 集成方式\n\nmem0 作为 CrewAI 的工具提供者，智能体可以通过调用工具来访问记忆功能：\n\n```python\nfrom crewai import Agent, Task, Crew\nfrom mem0 import Memory\n\nmemory = Memory()\n\n# 创建记忆搜索工具\nsearch_memory = Tool(\n    name=\"SearchMemory\",\n    func=lambda user_id, query: memory.search(\n        query=query,\n        user_id=user_id\n    ),\n    description=\"搜索用户历史记忆\"\n)\n\n# 创建记忆添加工具\nadd_memory = Tool(\n    name=\"AddMemory\", \n    func=lambda user_id, content: memory.add(\n        messages=[{\"role\": \"user\", \"content\": content}],\n        user_id=user_id\n    ),\n    description=\"添加新记忆\"\n)\n\n# 创建智能体\nresearcher = Agent(\n    role=\"研究员\",\n    goal=\"收集相关信息\",\n    backstory=\"专业的研究助手\",\n    tools=[search_memory, add_memory]\n)\n```\n\n### 多智能体记忆共享\n\n在 CrewAI 的多智能体场景中，mem0 支持不同粒度的记忆共享：\n\n| 记忆范围 | 配置参数 | 说明 |\n|---------|---------|------|\n| 用户级记忆 | `user_id` | 所有智能体共享同一用户的记忆 |\n| 智能体级记忆 | `agent_id` | 仅特定智能体可见的记忆 |\n| 团队级记忆 | `collection_name` | 多智能体协作共享的记忆集合 |\n\n资料来源：[docs/integrations/crewai.mdx:50-120]()\n\n## LlamaIndex 集成\n\n### 功能描述\n\nLlamaIndex 是强大的数据索引和检索框架，mem0 与 LlamaIndex 的集成允许将记忆作为索引数据源，供查询引擎使用。资料来源：[docs/integrations/llama-index.mdx:1-50]()\n\n### 集成架构\n\n```mermaid\ngraph LR\n    subgraph 数据输入\n        USER[用户交互]\n        AGENT[智能体执行]\n    end\n    \n    subgraph mem0 处理\n        MEM[记忆存储]\n        VDB[向量数据库]\n    end\n    \n    subgraph LlamaIndex\n        INDEX[索引构建]\n        QUERY[查询引擎]\n        RET[检索器]\n    end\n    \n    USER --> MEM\n    AGENT --> MEM\n    MEM --> VDB\n    VDB --> INDEX\n    INDEX --> RET\n    RET --> QUERY\n```\n\n### 使用方式\n\nmem0 的记忆可以作为 LlamaIndex 的文档源进行索引：\n\n```python\nfrom llama_index.core import VectorStoreIndex\nfrom llama_index.core.retrievers import VectorIndexRetriever\nfrom mem0 import Memory\n\nmemory = Memory()\n\n# 从 mem0 获取记忆作为文档\ndef get_memory_as_documents(user_id: str):\n    \"\"\"将用户记忆转换为 LlamaIndex 文档\"\"\"\n    memories = memory.get_all(user_id=user_id)\n    documents = [doc.text for doc in memories]\n    return documents\n\n# 创建索引\ndocuments = get_memory_as_documents(\"user_123\")\nindex = VectorStoreIndex.from_documents(documents)\n\n# 创建检索器\nretriever = VectorIndexRetriever(\n    index=index,\n    similarity_top_k=5\n)\n```\n\n资料来源：[docs/integrations/llama-index.mdx:50-100]()\n\n## Vercel AI SDK Provider 集成\n\n### 功能描述\n\nmem0 提供了 Vercel AI SDK 的 Provider 实现，允许在 Next.js 和其他支持 Vercel AI SDK 的应用中快速集成记忆功能。资料来源：[vercel-ai-sdk/src/mem0-provider.ts:1-100]()\n\n### Provider 配置\n\n```typescript\nimport { createMem0 } from '@mem0/vercel-ai-provider'\n\nconst mem0 = createMem0({\n  apiKey: process.env.MEM0_API_KEY,\n  userId: 'user_123',\n  agentId: 'agent_001',\n  // 可选配置\n  limit: 10,           // 返回记忆数量限制\n  renderMarkdown: true // 是否渲染 Markdown 格式\n})\n```\n\n### Provider 参数说明\n\n| 参数名 | 类型 | 必填 | 默认值 | 说明 |\n|-------|------|------|-------|------|\n| apiKey | string | 是 | - | mem0 API 密钥 |\n| userId | string | 是 | - | 用户唯一标识 |\n| agentId | string | 否 | - | 智能体标识 |\n| limit | number | 否 | 10 | 单次查询返回的记忆数量 |\n| renderMarkdown | boolean | 否 | false | 返回格式是否渲染 Markdown |\n| categories | string[] | 否 | - | 记忆分类筛选 |\n| seasonal | boolean | 否 | false | 是否启用季节性记忆 |\n\n资料来源：[vercel-ai-sdk/src/mem0-provider.ts:100-150]()\n\n### 与 AI SDK 的集成\n\n```typescript\nimport { generateText } from 'ai'\nimport { openai } from '@ai-sdk/openai'\nimport { createMem0 } from '@mem0/vercel-ai-provider'\n\nconst mem0 = createMem0({\n  apiKey: process.env.MEM0_API_KEY,\n  userId: 'user_123'\n})\n\nconst result = await generateText({\n  model: openai('gpt-4'),\n  messages: [\n    {\n      role: 'user',\n      content: '我之前喜欢的书有哪些？'\n    }\n  ],\n  system: `你是一个助手，可以使用 mem0 工具来访问用户记忆。\n  \n  当前用户ID: user_123`,\n  tools: mem0.tools()\n})\n```\n\n## Skill 机制\n\n### Skill 定义\n\nmem0 通过 Skill 定义来标准化智能体与记忆系统的交互方式。资料来源：[skills/mem0/SKILL.md:1-80]()\n\n### Skill 文件结构\n\n```yaml\nname: mem0\ndescription: mem0 记忆系统 - 为 AI 智能体提供持久记忆能力\nversion: 1.0.0\n\ncapabilities:\n  - id: add_memory\n    name: 添加记忆\n    description: 将交互内容保存到记忆系统\n    parameters:\n      - name: content\n        type: string\n        required: true\n      - name: user_id\n        type: string  \n        required: true\n  \n  - id: search_memory\n    name: 搜索记忆\n    description: 根据查询词检索相关记忆\n    parameters:\n      - name: query\n        type: string\n        required: true\n      - name: user_id\n        type: string\n        required: true\n\n  - id: update_memory\n    name: 更新记忆\n    description: 修改已存在的记忆内容\n    parameters:\n      - name: memory_id\n        type: string\n        required: true\n      - name: content\n        type: string\n        required: true\n\n  - id: delete_memory\n    name: 删除记忆\n    description: 从记忆中移除指定条目\n    parameters:\n      - name: memory_id\n        type: string\n        required: true\n```\n\n### 插件版本 Skill\n\nmem0-plugin 中的 Skill 定义提供了更丰富的配置选项，支持自定义向量存储和检索策略。资料来源：[mem0-plugin/skills/mem0/SKILL.md:1-100]()\n\n| 配置项 | 说明 |\n|-------|------|\n| vector_store | 指定使用的向量存储后端 |\n| embedding_model | 嵌入模型选择 |\n| retrieval_strategy | 检索策略（相似度/混合/重排序） |\n| memory_types | 记忆类型（事实/偏好/会话） |\n\n## 最佳实践\n\n### 智能体记忆管理策略\n\n在设计智能体系统时，建议遵循以下记忆管理策略：\n\n```mermaid\ngraph TD\n    START[用户请求] --> CHECK{记忆是否相关?}\n    CHECK -->|是| GET[获取相关记忆]\n    CHECK -->|否| PROCESS[直接处理]\n    GET --> MERGE[合并上下文]\n    PROCESS --> RESPOND[生成响应]\n    MERGE --> RESPOND\n    RESPOND --> EVAL{需要更新记忆?}\n    EVAL -->|是| ADD[添加新记忆]\n    EVAL -->|否| END[返回结果]\n    ADD --> END\n```\n\n### 记忆分层策略\n\n| 层级 | 内容类型 | 生命周期 | 使用场景 |\n|-----|---------|---------|---------|\n| 工作记忆 | 当前对话上下文 | 会话内 | 问题回答、任务执行 |\n| 短期记忆 | 用户近期偏好 | 1-7天 | 个性化服务 |\n| 长期记忆 | 重要事实、历史 | 长期 | 深度个性化 |\n\n### 性能优化建议\n\n1. **限制检索结果数量**：使用 `limit` 参数控制返回的记忆数量，避免上下文溢出\n2. **分类存储**：使用不同的 `agent_id` 或 `collection_name` 隔离不同用途的记忆\n3. **异步处理**：对于非关键记忆更新，使用异步方式避免阻塞主流程\n4. **缓存策略**：对频繁查询的记忆结果实施本地缓存\n\n## 常见问题\n\n**Q: 多个智能体如何共享记忆？**\n\nA: 使用相同的 `user_id` 和 `collection_name` 即可实现跨智能体的记忆共享。\n\n**Q: 如何处理记忆冲突？**\n\nA: mem0 支持记忆的优先级设置和版本管理，冲突时优先保留更新时间更近的记录。\n\n**Q: 是否支持记忆的导入导出？**\n\nA: 是的，mem0 提供了 `export` 和 `import` 方法用于数据的批量迁移。\n\n资料来源：[skills/mem0/SKILL.md:80-120]()\n\n## 相关资源\n\n- [LangGraph 集成文档](https://github.com/mem0ai/mem0/blob/main/docs/integrations/langgraph.mdx)\n- [CrewAI 集成文档](https://github.com/mem0ai/mem0/blob/main/docs/integrations/crewai.mdx)\n- [LlamaIndex 集成文档](https://github.com/mem0ai/mem0/blob/main/docs/integrations/llama-index.mdx)\n- [Vercel AI SDK Provider](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/src/mem0-provider.ts)\n\n---\n\n---\n\n## Doramagic 踩坑日志\n\n项目：mem0ai/mem0\n\n摘要：发现 6 个潜在踩坑项，其中 0 个为 high/blocking；最高优先级：能力坑 - 能力判断依赖假设。\n\n## 1. 能力坑 · 能力判断依赖假设\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：README/documentation is current enough for a first validation pass.\n- 对用户的影响：假设不成立时，用户拿不到承诺的能力。\n- 建议检查：将假设转成下游验证清单。\n- 防护动作：假设必须转成验证项；没有验证结果前不能写成事实。\n- 证据：capability.assumptions | github_repo:656099147 | https://github.com/mem0ai/mem0 | README/documentation is current enough for a first validation pass.\n\n## 2. 维护坑 · 维护活跃度未知\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：未记录 last_activity_observed。\n- 对用户的影响：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。\n- 建议检查：补 GitHub 最近 commit、release、issue/PR 响应信号。\n- 防护动作：维护活跃度未知时，推荐强度不能标为高信任。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | last_activity_observed missing\n\n## 3. 安全/权限坑 · 下游验证发现风险项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：下游已经要求复核，不能在页面中弱化。\n- 建议检查：进入安全/权限治理复核队列。\n- 防护动作：下游风险存在时必须保持 review/recommendation 降级。\n- 证据：downstream_validation.risk_items | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium\n\n## 4. 安全/权限坑 · 存在评分风险\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：风险会影响是否适合普通用户安装。\n- 建议检查：把风险写入边界卡，并确认是否需要人工复核。\n- 防护动作：评分风险必须进入边界卡，不能只作为内部分数。\n- 证据：risks.scoring_risks | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium\n\n## 5. 维护坑 · issue/PR 响应质量未知\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：issue_or_pr_quality=unknown。\n- 对用户的影响：用户无法判断遇到问题后是否有人维护。\n- 建议检查：抽样最近 issue/PR，判断是否长期无人处理。\n- 防护动作：issue/PR 响应未知时，必须提示维护风险。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | issue_or_pr_quality=unknown\n\n## 6. 维护坑 · 发布节奏不明确\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：release_recency=unknown。\n- 对用户的影响：安装命令和文档可能落后于代码，用户踩坑概率升高。\n- 建议检查：确认最近 release/tag 和 README 安装命令是否一致。\n- 防护动作：发布节奏未知或过期时，安装说明必须标注可能漂移。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | release_recency=unknown\n\n<!-- canonical_name: mem0ai/mem0; human_manual_source: deepwiki_human_wiki -->\n",
      "markdown_key": "mem0",
      "pages": "draft",
      "source_refs": [
        {
          "evidence_id": "github_repo:656099147",
          "kind": "repo",
          "supports_claim_ids": [
            "claim_identity",
            "claim_distribution",
            "claim_capability"
          ],
          "url": "https://github.com/mem0ai/mem0"
        },
        {
          "evidence_id": "art_cca59e4451e14706bc74c915a1ecbf6e",
          "kind": "docs",
          "supports_claim_ids": [
            "claim_identity",
            "claim_distribution",
            "claim_capability"
          ],
          "url": "https://github.com/mem0ai/mem0#readme"
        }
      ],
      "summary": "DeepWiki/Human Wiki 完整输出，末尾追加 Discovery Agent 踩坑日志。",
      "title": "mem0 说明书",
      "toc": [
        "https://github.com/mem0ai/mem0 项目说明书",
        "目录",
        "Mem0 简介",
        "安装与配置",
        "前置条件",
        "安装方式",
        "环境变量配置",
        "Qdrant 配置",
        "Doramagic 踩坑日志"
      ]
    }
  },
  "quality_gate": {
    "blocking_gaps": [],
    "category_confidence": "medium",
    "compile_status": "ready_for_review",
    "five_assets_present": true,
    "install_sandbox_verified": true,
    "missing_evidence": [],
    "next_action": "publish to Doramagic.ai project surfaces",
    "prompt_preview_boundary_ok": true,
    "publish_status": "publishable",
    "quick_start_verified": true,
    "repo_clone_verified": true,
    "repo_commit": "54a03cc7217c22afdc6153a9e61cc6413416001f",
    "repo_inspection_error": null,
    "repo_inspection_files": [
      "pyproject.toml",
      "README.md",
      "docs/integrations.mdx",
      "docs/openapi.json",
      "docs/README.md",
      "docs/api-reference.mdx",
      "docs/docs.json",
      "docs/vibecoding.mdx",
      "docs/introduction.mdx",
      "docs/core-concepts/memory-evaluation.mdx",
      "docs/core-concepts/memory-types.mdx",
      "docs/migration/oss-v2-to-v3.mdx",
      "docs/migration/api-changes.mdx",
      "docs/migration/oss-to-platform.mdx",
      "docs/migration/platform-v2-to-v3.mdx",
      "docs/api-reference/organizations-projects.mdx",
      "docs/platform/contribute.mdx",
      "docs/platform/cli.mdx",
      "docs/platform/faqs.mdx",
      "docs/platform/platform-vs-oss.mdx",
      "docs/platform/mem0-mcp.mdx",
      "docs/platform/quickstart.mdx",
      "docs/platform/overview.mdx",
      "docs/platform/advanced-memory-operations.mdx",
      "docs/contributing/development.mdx",
      "docs/contributing/documentation.mdx",
      "docs/cookbooks/overview.mdx",
      "docs/templates/release_notes_template.mdx",
      "docs/templates/cookbook_template.mdx",
      "docs/templates/migration_guide_template.mdx",
      "docs/templates/concept_guide_template.mdx",
      "docs/templates/parameters_reference_template.mdx",
      "docs/templates/integration_guide_template.mdx",
      "docs/templates/api_reference_template.mdx",
      "docs/templates/operation_guide_template.mdx",
      "docs/templates/feature_guide_template.mdx",
      "docs/templates/troubleshooting_playbook_template.mdx",
      "docs/templates/quickstart_template.mdx",
      "docs/templates/section_overview_template.mdx",
      "docs/changelog/openclaw.mdx"
    ],
    "repo_inspection_verified": true,
    "review_reasons": [],
    "tag_count_ok": true,
    "unsupported_claims": []
  },
  "schema_version": "0.1",
  "user_assets": {
    "ai_context_pack": {
      "asset_id": "ai_context_pack",
      "filename": "AI_CONTEXT_PACK.md",
      "markdown": "# @mem0/cli - Doramagic AI Context Pack\n\n> 定位：安装前体验与判断资产。它帮助宿主 AI 有一个好的开始，但不代表已经安装、执行或验证目标项目。\n\n## 充分原则\n\n- **充分原则，不是压缩原则**：AI Context Pack 应该充分到让宿主 AI 在开工前理解项目价值、能力边界、使用入口、风险和证据来源；它可以分层组织，但不以最短摘要为目标。\n- **压缩策略**：只压缩噪声和重复内容，不压缩会影响判断和开工质量的上下文。\n\n## 给宿主 AI 的使用方式\n\n你正在读取 Doramagic 为 @mem0/cli 编译的 AI Context Pack。请把它当作开工前上下文：帮助用户理解适合谁、能做什么、如何开始、哪些必须安装后验证、风险在哪里。不要声称你已经安装、运行或执行了目标项目。\n\n## Claim 消费规则\n\n- **事实来源**：Repo Evidence + Claim/Evidence Graph；Human Wiki 只提供显著性、术语和叙事结构。\n- **事实最低状态**：`supported`\n- `supported`：可以作为项目事实使用，但回答中必须引用 claim_id 和证据路径。\n- `weak`：只能作为低置信度线索，必须要求用户继续核实。\n- `inferred`：只能用于风险提示或待确认问题，不能包装成项目事实。\n- `unverified`：不得作为事实使用，应明确说证据不足。\n- `contradicted`：必须展示冲突来源，不得替用户强行选择一个版本。\n\n## 它最适合谁\n\n- **AI 研究者或研究型 Agent 构建者**：README 明确围绕研究、实验或论文工作流展开。 证据：`README.md` Claim：`clm_0004` supported 0.86\n- **正在使用 Claude/Codex/Cursor/Gemini 等宿主 AI 的开发者**：README 或插件配置提到多个宿主 AI。 证据：`README.md` Claim：`clm_0005` supported 0.86\n- **希望把专业流程带进宿主 AI 的用户**：仓库包含 Skill 文档。 证据：`mem0-plugin/skills/mem0/SKILL.md`, `mem0-plugin/skills/mem0-mcp/SKILL.md`, `openclaw/skills/memory-dream/SKILL.md`, `openclaw/skills/memory-triage/SKILL.md` 等 Claim：`clm_0006` supported 0.86\n\n## 它能做什么\n\n- **AI Skill / Agent 指令资产库**（可做安装前预览）：项目包含可被宿主 AI 读取的 Skill 或 Agent 指令文件，可用于把专业流程带入 Claude、Codex、Cursor 等宿主。 证据：`mem0-plugin/skills/mem0/SKILL.md`, `mem0-plugin/skills/mem0-mcp/SKILL.md`, `openclaw/skills/memory-dream/SKILL.md`, `openclaw/skills/memory-triage/SKILL.md` 等 Claim：`clm_0001` supported 0.86\n- **多宿主安装与分发**（需要安装后验证）：项目包含插件或 marketplace 配置，说明它面向一个或多个 AI 宿主的安装和分发。 证据：`.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, `mem0-plugin/.claude-plugin/plugin.json` 等 Claim：`clm_0002` supported 0.86\n- **命令行启动或安装流程**（需要安装后验证）：项目文档中存在可执行命令，真实使用需要在本地或宿主环境中运行这些命令。 证据：`AGENTS.md`, `README.md`, `examples/nemoclaw/quickstart.md`, `mem0-plugin/skills/mem0/references/quickstart.md` 等 Claim：`clm_0003` supported 0.86\n\n## 怎么开始\n\n- `pip install mem0ai` 证据：`README.md` Claim：`clm_0007` supported 0.86, `clm_0008` supported 0.86\n- `pip install mem0ai[nlp]` 证据：`README.md` Claim：`clm_0008` supported 0.86\n- `npm install mem0ai` 证据：`README.md` Claim：`clm_0009` supported 0.86\n- `npm install -g @mem0/cli   # or: pip install mem0-cli` 证据：`README.md` Claim：`clm_0010` supported 0.86\n- `npx skills add https://github.com/mem0ai/mem0 --skill mem0` 证据：`README.md` Claim：`clm_0011` supported 0.86, `clm_0012` supported 0.86, `clm_0013` supported 0.86, `clm_0014` supported 0.86 等\n- `npx skills add https://github.com/mem0ai/mem0 --skill mem0-cli` 证据：`README.md` Claim：`clm_0012` supported 0.86\n- `npx skills add https://github.com/mem0ai/mem0 --skill mem0-vercel-ai-sdk` 证据：`README.md` Claim：`clm_0013` supported 0.86\n- `npx skills add https://github.com/mem0ai/mem0 --skill mem0-integrate` 证据：`README.md` Claim：`clm_0014` supported 0.86\n- `npx skills add https://github.com/mem0ai/mem0 --skill mem0-test-integration` 证据：`README.md` Claim：`clm_0015` supported 0.86\n- `curl -fsSL https://raw.githubusercontent.com/mem0ai/mem0/main/examples/nemoclaw/setup-mem0-nemoclaw.sh -o setup-mem0-nemoclaw.sh` 证据：`examples/nemoclaw/quickstart.md` Claim：`clm_0016` unverified 0.25\n\n## 继续前判断卡\n\n- **当前建议**：需要管理员/安全审批\n- **为什么**：继续前可能涉及密钥、账号、外部服务或敏感上下文，建议先经过管理员或安全审批。\n\n### 30 秒判断\n\n- **现在怎么做**：需要管理员/安全审批\n- **最小安全下一步**：先跑 Prompt Preview；若涉及凭证或企业环境，先审批再试装\n- **先别相信**：工具权限边界不能在安装前相信。\n- **继续会触碰**：命令执行、宿主 AI 配置、本地环境或项目文件\n\n### 现在可以相信\n\n- **适合人群线索：AI 研究者或研究型 Agent 构建者**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`README.md` Claim：`clm_0004` supported 0.86\n- **适合人群线索：正在使用 Claude/Codex/Cursor/Gemini 等宿主 AI 的开发者**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`README.md` Claim：`clm_0005` supported 0.86\n- **适合人群线索：希望把专业流程带进宿主 AI 的用户**（supported）：有 supported claim 或项目证据支撑，但仍不等于真实安装效果。 证据：`mem0-plugin/skills/mem0/SKILL.md`, `mem0-plugin/skills/mem0-mcp/SKILL.md`, `openclaw/skills/memory-dream/SKILL.md`, `openclaw/skills/memory-triage/SKILL.md` 等 Claim：`clm_0006` supported 0.86\n- **能力存在：AI Skill / Agent 指令资产库**（supported）：可以相信项目包含这类能力线索；是否适合你的具体任务仍要试用或安装后验证。 证据：`mem0-plugin/skills/mem0/SKILL.md`, `mem0-plugin/skills/mem0-mcp/SKILL.md`, `openclaw/skills/memory-dream/SKILL.md`, `openclaw/skills/memory-triage/SKILL.md` 等 Claim：`clm_0001` supported 0.86\n- **能力存在：多宿主安装与分发**（supported）：可以相信项目包含这类能力线索；是否适合你的具体任务仍要试用或安装后验证。 证据：`.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, `mem0-plugin/.claude-plugin/plugin.json` 等 Claim：`clm_0002` supported 0.86\n- **能力存在：命令行启动或安装流程**（supported）：可以相信项目包含这类能力线索；是否适合你的具体任务仍要试用或安装后验证。 证据：`AGENTS.md`, `README.md`, `examples/nemoclaw/quickstart.md`, `mem0-plugin/skills/mem0/references/quickstart.md` 等 Claim：`clm_0003` supported 0.86\n\n### 现在还不能相信\n\n- **工具权限边界不能在安装前相信。**（unverified）：MCP/tool 类项目通常会触碰文件、网络、浏览器或外部 API，必须真实检查权限和日志。\n- **真实输出质量不能在安装前相信。**（unverified）：Prompt Preview 只能展示引导方式，不能证明真实项目中的结果质量。\n- **宿主 AI 版本兼容性不能在安装前相信。**（unverified）：Claude、Cursor、Codex、Gemini 等宿主加载规则和版本差异必须在真实环境验证。\n- **不会污染现有宿主 AI 行为，不能直接相信。**（inferred）：Skill、plugin、AGENTS/CLAUDE/GEMINI 指令可能改变宿主 AI 的默认行为。 证据：`.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, `AGENTS.md` 等\n- **可安全回滚不能默认相信。**（unverified）：除非项目明确提供卸载和恢复说明，否则必须先在隔离环境验证。\n- **真实安装后是否与用户当前宿主 AI 版本兼容？**（unverified）：兼容性只能通过实际宿主环境验证。 证据：`.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, `mem0-plugin/.claude-plugin/plugin.json` 等\n- **项目输出质量是否满足用户具体任务？**（unverified）：安装前预览只能展示流程和边界，不能替代真实评测。\n- **安装命令是否需要网络、权限或全局写入？**（unverified）：这影响企业环境和个人环境的安装风险。 证据：`README.md`\n\n### 继续会触碰什么\n\n- **命令执行**：包管理器、网络下载、本地插件目录、项目配置或用户主目录。 原因：运行第一条命令就可能产生环境改动；必须先判断是否值得跑。 证据：`AGENTS.md`, `README.md`, `examples/nemoclaw/quickstart.md`, `mem0-plugin/skills/mem0/references/quickstart.md` 等\n- **宿主 AI 配置**：Claude/Codex/Cursor/Gemini/OpenCode 等宿主的 plugin、Skill 或规则加载配置。 原因：宿主配置会改变 AI 后续工作方式，可能和用户已有规则冲突。 证据：`.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, `AGENTS.md` 等\n- **本地环境或项目文件**：安装结果、插件缓存、项目配置或本地依赖目录。 原因：安装前无法证明写入范围和回滚方式，需要隔离验证。 证据：`.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, `AGENTS.md` 等\n- **环境变量 / API Key**：项目入口文档明确出现 API key、token、secret 或账号凭证配置。 原因：如果真实安装需要凭证，应先使用测试凭证并经过权限/合规判断。 证据：`README.md`, `server/auth.py`, `server/main.py`, `tests/test_server_auth.py` 等\n- **宿主 AI 上下文**：AI Context Pack、Prompt Preview、Skill 路由、风险规则和项目事实。 原因：导入上下文会影响宿主 AI 后续判断，必须避免把未验证项包装成事实。\n\n### 最小安全下一步\n\n- **先跑 Prompt Preview**：用安装前交互式试用判断工作方式是否匹配，不需要授权或改环境。（适用：任何项目都适用，尤其是输出质量未知时。）\n- **只在隔离目录或测试账号试装**：避免安装命令污染主力宿主 AI、真实项目或用户主目录。（适用：存在命令执行、插件配置或本地写入线索时。）\n- **先备份宿主 AI 配置**：Skill、plugin、规则文件可能改变 Claude/Cursor/Codex 的默认行为。（适用：存在插件 manifest、Skill 或宿主规则入口时。）\n- **不要使用真实生产凭证**：环境变量/API key 一旦进入宿主或工具链，可能产生账号和合规风险。（适用：出现 API、TOKEN、KEY、SECRET 等环境线索时。）\n- **安装后只验证一个最小任务**：先验证加载、兼容、输出质量和回滚，再决定是否深用。（适用：准备从试用进入真实工作流时。）\n\n### 退出方式\n\n- **保留安装前状态**：记录原始宿主配置和项目状态，后续才能判断是否可恢复。\n- **准备移除宿主 plugin / Skill / 规则入口**：如果试装后行为异常，可以把宿主 AI 恢复到试装前状态。\n- **记录安装命令和写入路径**：没有明确卸载说明时，至少要知道哪些目录或配置需要手动清理。\n- **准备撤销测试 API key 或 token**：测试凭证泄露或误用时，可以快速止损。\n- **如果没有回滚路径，不进入主力环境**：不可回滚是继续前阻断项，不应靠信任或运气继续。\n\n## 哪些只能预览\n\n- 解释项目适合谁和能做什么\n- 基于项目文档演示典型对话流程\n- 帮助用户判断是否值得安装或继续研究\n\n## 哪些必须安装后验证\n\n- 真实安装 Skill、插件或 CLI\n- 执行脚本、修改本地文件或访问外部服务\n- 验证真实输出质量、性能和兼容性\n\n## 边界与风险判断卡\n\n- **把安装前预览误认为真实运行**：用户可能高估项目已经完成的配置、权限和兼容性验证。 处理方式：明确区分 prompt_preview_can_do 与 runtime_required。 Claim：`clm_0024` inferred 0.45\n- **宿主 AI 插件或 Skill 规则冲突**：新规则可能改变用户现有宿主 AI 的工作方式。 处理方式：安装前先检查插件 manifest 和 Skill 文件，必要时隔离测试。 证据：`.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, `mem0-plugin/.claude-plugin/plugin.json` 等 Claim：`clm_0025` supported 0.86\n- **命令执行会修改本地环境**：安装命令可能写入用户主目录、宿主插件目录或项目配置。 处理方式：先在隔离环境或测试账号中运行。 证据：`AGENTS.md`, `README.md`, `examples/nemoclaw/quickstart.md`, `mem0-plugin/skills/mem0/references/quickstart.md` 等 Claim：`clm_0026` supported 0.86\n- **待确认**：真实安装后是否与用户当前宿主 AI 版本兼容？。原因：兼容性只能通过实际宿主环境验证。\n- **待确认**：项目输出质量是否满足用户具体任务？。原因：安装前预览只能展示流程和边界，不能替代真实评测。\n- **待确认**：安装命令是否需要网络、权限或全局写入？。原因：这影响企业环境和个人环境的安装风险。\n\n## 开工前工作上下文\n\n### 加载顺序\n\n- 先读取 how_to_use.host_ai_instruction，建立安装前判断资产的边界。\n- 读取 claim_graph_summary，确认事实来自 Claim/Evidence Graph，而不是 Human Wiki 叙事。\n- 再读取 intended_users、capabilities 和 quick_start_candidates，判断用户是否匹配。\n- 需要执行具体任务时，优先查 role_skill_index，再查 evidence_index。\n- 遇到真实安装、文件修改、网络访问、性能或兼容性问题时，转入 risk_card 和 boundaries.runtime_required。\n\n### 任务路由\n\n- **AI Skill / Agent 指令资产库**：先基于 role_skill_index / evidence_index 帮用户挑选可用角色、Skill 或工作流。 边界：可做安装前 Prompt 体验。 证据：`mem0-plugin/skills/mem0/SKILL.md`, `mem0-plugin/skills/mem0-mcp/SKILL.md`, `openclaw/skills/memory-dream/SKILL.md`, `openclaw/skills/memory-triage/SKILL.md` 等 Claim：`clm_0001` supported 0.86\n- **多宿主安装与分发**：先说明这是安装后验证能力，再给出安装前检查清单。 边界：必须真实安装或运行后验证。 证据：`.agents/plugins/marketplace.json`, `.claude-plugin/marketplace.json`, `.cursor-plugin/marketplace.json`, `mem0-plugin/.claude-plugin/plugin.json` 等 Claim：`clm_0002` supported 0.86\n- **命令行启动或安装流程**：先说明这是安装后验证能力，再给出安装前检查清单。 边界：必须真实安装或运行后验证。 证据：`AGENTS.md`, `README.md`, `examples/nemoclaw/quickstart.md`, `mem0-plugin/skills/mem0/references/quickstart.md` 等 Claim：`clm_0003` supported 0.86\n\n### 上下文规模\n\n- 文件总数：1950\n- 重要文件覆盖：40/1950\n- 证据索引条目：80\n- 角色 / Skill 条目：9\n\n### 证据不足时的处理\n\n- **missing_evidence**：说明证据不足，要求用户提供目标文件、README 段落或安装后验证记录；不要补全事实。\n- **out_of_scope_request**：说明该任务超出当前 AI Context Pack 证据范围，并建议用户先查看 Human Manual 或真实安装后验证。\n- **runtime_request**：给出安装前检查清单和命令来源，但不要替用户执行命令或声称已执行。\n- **source_conflict**：同时展示冲突来源，标记为待核实，不要强行选择一个版本。\n\n## Prompt Recipes\n\n### 适配判断\n\n- 目标：判断这个项目是否适合用户当前任务。\n- 预期输出：适配结论、关键理由、证据引用、安装前可预览内容、必须安装后验证内容、下一步建议。\n\n```text\n请基于 @mem0/cli 的 AI Context Pack，先问我 3 个必要问题，然后判断它是否适合我的任务。回答必须包含：适合谁、能做什么、不能做什么、是否值得安装、证据来自哪里。所有项目事实必须引用 evidence_refs、source_paths 或 claim_id。\n```\n\n### 安装前体验\n\n- 目标：让用户在安装前感受核心工作流，同时避免把预览包装成真实能力或营销承诺。\n- 预期输出：一段带边界标签的体验剧本、安装后验证清单和谨慎建议；不含真实运行承诺或强营销表述。\n\n```text\n请把 @mem0/cli 当作安装前体验资产，而不是已安装工具或真实运行环境。\n\n请严格输出四段：\n1. 先问我 3 个必要问题。\n2. 给出一段“体验剧本”：用 [安装前可预览]、[必须安装后验证]、[证据不足] 三种标签展示它可能如何引导工作流。\n3. 给出安装后验证清单：列出哪些能力只有真实安装、真实宿主加载、真实项目运行后才能确认。\n4. 给出谨慎建议：只能说“值得继续研究/试装”“先补充信息后再判断”或“不建议继续”，不得替项目背书。\n\n硬性边界：\n- 不要声称已经安装、运行、执行测试、修改文件或产生真实结果。\n- 不要写“自动适配”“确保通过”“完美适配”“强烈建议安装”等承诺性表达。\n- 如果描述安装后的工作方式，必须使用“如果安装成功且宿主正确加载 Skill，它可能会……”这种条件句。\n- 体验剧本只能写成“示例台词/假设流程”：使用“可能会询问/可能会建议/可能会展示”，不要写“已写入、已生成、已通过、正在运行、正在生成”。\n- Prompt Preview 不负责给安装命令；如用户准备试装，只能提示先阅读 Quick Start 和 Risk Card，并在隔离环境验证。\n- 所有项目事实必须来自 supported claim、evidence_refs 或 source_paths；inferred/unverified 只能作风险或待确认项。\n\n```\n\n### 角色 / Skill 选择\n\n- 目标：从项目里的角色或 Skill 中挑选最匹配的资产。\n- 预期输出：候选角色或 Skill 列表，每项包含适用场景、证据路径、风险边界和是否需要安装后验证。\n\n```text\n请读取 role_skill_index，根据我的目标任务推荐 3-5 个最相关的角色或 Skill。每个推荐都要说明适用场景、可能输出、风险边界和 evidence_refs。\n```\n\n### 风险预检\n\n- 目标：安装或引入前识别环境、权限、规则冲突和质量风险。\n- 预期输出：环境、权限、依赖、许可、宿主冲突、质量风险和未知项的检查清单。\n\n```text\n请基于 risk_card、boundaries 和 quick_start_candidates，给我一份安装前风险预检清单。不要替我执行命令，只说明我应该检查什么、为什么检查、失败会有什么影响。\n```\n\n### 宿主 AI 开工指令\n\n- 目标：把项目上下文转成一次对话开始前的宿主 AI 指令。\n- 预期输出：一段边界明确、证据引用明确、适合复制给宿主 AI 的开工前指令。\n\n```text\n请基于 @mem0/cli 的 AI Context Pack，生成一段我可以粘贴给宿主 AI 的开工前指令。这段指令必须遵守 not_runtime=true，不能声称项目已经安装、运行或产生真实结果。\n```\n\n\n## 角色 / Skill 索引\n\n- 共索引 9 个角色 / Skill / 项目文档条目。\n\n- **mem0-mcp**（skill）： 激活提示：当用户任务与“mem0-mcp”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`mem0-plugin/skills/mem0-mcp/SKILL.md`\n- **mem0**（skill）： 激活提示：当用户任务与“mem0”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`mem0-plugin/skills/mem0/SKILL.md`\n- **memory-dream**（skill）： 激活提示：当用户任务与“memory-dream”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`openclaw/skills/memory-dream/SKILL.md`\n- **memory-triage**（skill）： 激活提示：当用户任务与“memory-triage”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`openclaw/skills/memory-triage/SKILL.md`\n- **mem0-cli**（skill）： 激活提示：当用户任务与“mem0-cli”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`skills/mem0-cli/SKILL.md`\n- **mem0-integrate**（skill）： 激活提示：当用户任务与“mem0-integrate”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`skills/mem0-integrate/SKILL.md`\n- **mem0-test-integration**（skill）： 激活提示：当用户任务与“mem0-test-integration”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`skills/mem0-test-integration/SKILL.md`\n- **mem0-vercel-ai-sdk**（skill）： 激活提示：当用户任务与“mem0-vercel-ai-sdk”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`skills/mem0-vercel-ai-sdk/SKILL.md`\n- **mem0**（skill）： 激活提示：当用户任务与“mem0”描述的流程高度相关时，先用它做安装前体验，再决定是否安装。 证据：`skills/mem0/SKILL.md`\n\n## 证据索引\n\n- 共索引 80 条证据。\n\n- **Mintlify Starter Kit**（documentation）：Click on Use this template to copy the Mintlify starter kit. The starter kit contains examples including 证据：`docs/README.md`\n- **Contributing to embedchain docs**（documentation）：Install the Mintlify CLI https://www.npmjs.com/package/mintlify to preview the documentation changes locally. To install, use the following command 证据：`embedchain/docs/README.md`\n- **AGENTS.md**（documentation）：This file provides context for AI coding assistants Claude Code, Cursor, GitHub Copilot, Codex, etc. working with the Mem0 repository. 证据：`AGENTS.md`\n- **New Memory Algorithm April 2026**（documentation）：📄 Benchmarking Mem0's token-efficient memory algorithm → 证据：`README.md`\n- **mem0 CLI**（documentation）：The official command-line interface for mem0 https://mem0.ai — the memory layer for AI agents. Works with the Mem0 Platform API. Available in Python and Node.js. 证据：`cli/README.md`\n- **What is Embedchain?**（documentation）：Embedchain is an Open Source Framework for personalizing LLM responses. It makes it easy to create and deploy personalized AI apps. At its core, Embedchain follows the design principle of being \"Conventional but Configurable\" to serve both software engineers and machine learning engineers. 证据：`embedchain/README.md`\n- **Mem0: Building Production‑Ready AI Agents with Scalable Long‑Term Memory**（documentation）：Mem0: Building Production‑Ready AI Agents with Scalable Long‑Term Memory 证据：`evaluation/README.md`\n- **Mem0 Plugin for Claude Code, Claude Cowork, Cursor & Codex**（documentation）：Mem0 Plugin for Claude Code, Claude Cowork, Cursor & Codex 证据：`mem0-plugin/README.md`\n- **Mem0 - The Memory Layer for Your AI Apps**（documentation）：Mem0 - The Memory Layer for Your AI Apps 证据：`mem0-ts/README.md`\n- **@mem0/openclaw-mem0**（documentation）：Long-term memory for OpenClaw https://github.com/openclaw/openclaw agents, powered by Mem0 https://mem0.ai . 证据：`openclaw/README.md`\n- **OpenMemory**（documentation）：⚠️ Sunsetting Notice: OpenMemory is being sunset. For local self-hosted memory with a dashboard, please use the Mem0 self-hosted server https://docs.mem0.ai/open-source/overview instead. Get started with cd server && make bootstrap . See the self-hosted docs https://docs.mem0.ai/open-source/setup for configuration details. 证据：`openmemory/README.md`\n- **Mem0 Self-Hosted Server**（documentation）：Mem0 ships a self-hosted FastAPI server plus a local dashboard. It is secure by default, supports dashboard login and API keys, and exposes OpenAPI docs at /docs . 证据：`server/README.md`\n- **Mem0 Skills for AI Coding Assistants**（documentation）：Mem0 Skills for AI Coding Assistants 证据：`skills/README.md`\n- **Mem0 AI SDK Provider**（documentation）：The Mem0 AI SDK Provider is a community-maintained library developed by Mem0 https://mem0.ai/ to integrate with the Vercel AI SDK. This library brings enhanced AI interaction capabilities to your applications by introducing persistent memory functionality. With Mem0, language model conversations gain memory, enabling more contextualized and personalized responses based on past interactions. 证据：`vercel-ai-sdk/README.md`\n- **mem0 CLI Node.js**（documentation）：The official command-line interface for mem0 https://mem0.ai — the memory layer for AI agents. TypeScript implementation. 证据：`cli/node/README.md`\n- **mem0 CLI Python**（documentation）：The official command-line interface for mem0 https://mem0.ai — the memory layer for AI agents. Python implementation. 证据：`cli/python/README.md`\n- **API Server**（documentation）：This is a docker template to create your own API Server using the embedchain package. To know more about the API Server and how to use it, go here https://docs.embedchain.ai/examples/api server . 证据：`embedchain/examples/api_server/README.md`\n- **Chainlit + Embedchain Demo**（documentation）：In this example, we will learn how to use Chainlit and Embedchain together 证据：`embedchain/examples/chainlit/README.md`\n- **Embedchain Chat with PDF App**（documentation）：You can easily create and deploy your own Chat-with-PDF App using Embedchain. 证据：`embedchain/examples/chat-pdf/README.md`\n- **Discord Bot**（documentation）：This is a docker template to create your own Discord bot using the embedchain package. To know more about the bot and how to use it, go here https://docs.embedchain.ai/examples/discord bot . 证据：`embedchain/examples/discord_bot/README.md`\n- **Streamlit Chat bot App Embedchain + Mistral**（documentation）：Streamlit Chat bot App Embedchain + Mistral 证据：`embedchain/examples/mistral-streamlit/README.md`\n- **Installation**（documentation）：Fork this repo on Github https://github.com/embedchain/embedchain to create your own NextJS discord and slack bot powered by Embedchain app. 证据：`embedchain/examples/nextjs/README.md`\n- **Private AI**（documentation）：In this example, we will create a private AI using embedchain. 证据：`embedchain/examples/private-ai/README.md`\n- **Single command to rule them all,**（documentation）：Single command to rule them all, To run the app locally, Using docker locally , 证据：`embedchain/examples/rest-api/README.md`\n- **Config directory**（documentation）：Here, all the YAML files will get stored. 证据：`embedchain/examples/rest-api/configs/README.md`\n- **Sadhguru AI**（documentation）：This directory contains the code used to implement Sadhguru AI https://sadhguru-ai.streamlit.app/ using Embedchain. It is built on 3K+ videos and 1K+ articles of Sadhguru. You can find the full list of data sources here https://gist.github.com/deshraj/50b0597157e04829bbbb7bc418be6ccb . 证据：`embedchain/examples/sadhguru-ai/README.md`\n- **Telegram Bot**（documentation）：This is a replit template to create your own Telegram bot using the embedchain package. To know more about the bot and how to use it, go here https://docs.embedchain.ai/examples/telegram bot . 证据：`embedchain/examples/telegram_bot/README.md`\n- **Unacademy UPSC AI**（documentation）：This directory contains the code used to implement Unacademy UPSC AI https://unacademy-ai.streamlit.app/ using Embedchain. It is built on 16K+ youtube videos and 800+ course pages from Unacademy website. You can find the full list of data sources here https://gist.github.com/deshraj/7714feadccca13cefe574951652fa9b2 . 证据：`embedchain/examples/unacademy-ai/README.md`\n- **WhatsApp Bot**（documentation）：This is a replit template to create your own WhatsApp bot using the embedchain package. To know more about the bot and how to use it, go here https://docs.embedchain.ai/examples/whatsapp bot . 证据：`embedchain/examples/whatsapp_bot/README.md`\n- **Mem0 Assistant Chrome Extension**（documentation）：A powerful Chrome extension that combines AI chat with your personal knowledge base through mem0. Get instant, personalized answers about video content while leveraging your own knowledge and memories - all without leaving the page. 证据：`examples/yt-assistant-chrome/README.md`\n- **Mem0 Skill for Claude**（documentation）：Add persistent memory to any AI application in minutes using Mem0 Platform https://app.mem0.ai?utm source=oss&utm medium=mem0-plugin-skill-readme . 证据：`mem0-plugin/skills/mem0/README.md`\n- **mem0-ts**（documentation）：A TypeScript implementation of the mem0 memory system, using OpenAI for embeddings and completions. 证据：`mem0-ts/src/oss/README.md`\n- **OpenMemory API**（documentation）：This directory contains the backend API for OpenMemory, built with FastAPI and SQLAlchemy. This also runs the Mem0 MCP Server that you can use with MCP clients to remember things. 证据：`openmemory/api/README.md`\n- **Mem0 CLI Skill for Claude**（documentation）：Manage memories from the terminal using the Mem0 CLI https://docs.mem0.ai/cli . This skill teaches Claude how to use every mem0 command, flag, and output mode -- for both the Node.js and Python implementations. 证据：`skills/mem0-cli/README.md`\n- **mem0-integrate — Pipeline Skill**（documentation）：Wire Mem0 https://mem0.ai into an existing repository end-to-end, using a goal-driven, test-first pipeline. 证据：`skills/mem0-integrate/README.md`\n- **mem0-test-integration — Pipeline Skill**（documentation）：mem0-test-integration — Pipeline Skill 证据：`skills/mem0-test-integration/README.md`\n- **Mem0 Vercel AI SDK Skill for Claude**（documentation）：Mem0 Vercel AI SDK Skill for Claude 证据：`skills/mem0-vercel-ai-sdk/README.md`\n- **Mem0 Skill for Claude**（documentation）：Add persistent memory to any AI application in minutes using Mem0 Platform https://app.mem0.ai?utm source=oss&utm medium=skill-mem0-readme or the open-source self-hosted SDK. 证据：`skills/mem0/README.md`\n- **Package**（package_manifest）：{ \"name\": \"mem0ai\", \"version\": \"3.0.3\", \"description\": \"The Memory Layer For Your AI Apps\", \"main\": \"./dist/index.js\", \"module\": \"./dist/index.mjs\", \"types\": \"./dist/index.d.ts\", \"typesVersions\": { \" \": { \" \": \"./dist/index.d.ts\" , \"oss\": \"./dist/oss/index.d.ts\" } }, \"exports\": { \".\": { \"types\": \"./dist/index.d.ts\", \"require\": \"./dist/index.js\", \"import\": \"./dist/index.mjs\" }, \"./oss\": { \"types\": \"./dist/oss/index.d.ts\", \"require\": \"./dist/oss/index.js\", \"import\": \"./dist/oss/index.mjs\" } }, \"files\": \"dist\" , \"scripts\": { \"clean\": \"rimraf dist\", \"build\": \"npm run clean && npx prettier --check . && npx tsup\", \"dev\": \"npx nodemon\", \"start\": \"pnpm run example memory\", \"example\": \"ts-node src/o… 证据：`mem0-ts/package.json`\n- **Package**（package_manifest）：{ \"name\": \"@mem0/openclaw-mem0\", \"version\": \"1.0.11\", \"type\": \"module\", \"description\": \"Mem0 memory backend for OpenClaw — platform or self-hosted open-source\", \"license\": \"Apache-2.0\", \"repository\": { \"type\": \"git\", \"url\": \"https://github.com/mem0ai/mem0\", \"directory\": \"openclaw\" }, \"keywords\": \"openclaw\", \"plugin\", \"memory\", \"mem0\", \"long-term-memory\" , \"main\": \"./dist/index.js\", \"types\": \"./dist/index.d.ts\", \"exports\": { \".\": { \"types\": \"./dist/index.d.ts\", \"import\": \"./dist/index.js\" } }, \"files\": \"dist\", \"openclaw.plugin.json\", \"skills\" , \"scripts\": { \"build\": \"tsup\", \"test\": \"vitest run\" }, \"dependencies\": { \"@sinclair/typebox\": \"0.34.47\", \"mem0ai\": \"3.0.2\" }, \"openclaw\": { \"extension… 证据：`openclaw/package.json`\n- **Package**（package_manifest）：{ \"name\": \"@mem0/vercel-ai-provider\", \"version\": \"2.0.5\", \"description\": \"Vercel AI Provider for providing memory to LLMs\", \"main\": \"./dist/index.js\", \"module\": \"./dist/index.mjs\", \"types\": \"./dist/index.d.ts\", \"files\": \"dist/ / \" , \"scripts\": { \"build\": \"tsup\", \"clean\": \"rm -rf dist\", \"dev\": \"nodemon\", \"lint\": \"eslint \\\"./ / .ts \\\"\", \"type-check\": \"tsc --noEmit\", \"prettier-check\": \"prettier --check \\\"./ / .ts \\\"\", \"test\": \"jest\", \"test:edge\": \"vitest --config vitest.edge.config.js --run\", \"test:node\": \"vitest --config vitest.node.config.js --run\" }, \"repository\": { \"type\": \"git\", \"url\": \"https://github.com/mem0ai/mem0\", \"directory\": \"vercel-ai-sdk\" }, \"keywords\": \"ai\", \"vercel-ai\" , \"autho… 证据：`vercel-ai-sdk/package.json`\n- **Contributing to mem0**（documentation）：Let us make contribution easy, collaborative and fun. 证据：`CONTRIBUTING.md`\n- **Package**（package_manifest）：{ \"name\": \"@mem0/cli\", \"version\": \"0.2.4\", \"description\": \"The official CLI for mem0 — the memory layer for AI agents\", \"type\": \"module\", \"bin\": { \"mem0\": \"./dist/index.js\" }, \"scripts\": { \"build\": \"tsup\", \"dev\": \"tsx src/index.ts\", \"test\": \"vitest run\", \"test:watch\": \"vitest\", \"lint\": \"biome check src/\", \"lint:fix\": \"biome check --write src/\", \"typecheck\": \"tsc --noEmit\" }, \"engines\": { \"node\": \" =18.0.0\" }, \"license\": \"Apache-2.0\", \"author\": \"mem0.ai \", \"repository\": { \"type\": \"git\", \"url\": \"https://github.com/mem0ai/mem0\", \"directory\": \"cli/node\" }, \"keywords\": \"mem0\", \"memory\", \"ai\", \"agents\", \"cli\" , \"publishConfig\": { \"access\": \"public\" }, \"dependencies\": { \"commander\": \"^12.0.0\", \"ch… 证据：`cli/node/package.json`\n- **Contributing to embedchain**（documentation）：Let us make contribution easy, collaborative and fun. 证据：`embedchain/CONTRIBUTING.md`\n- **Package**（package_manifest）：{ \"name\": \"mem0-demo\", \"version\": \"0.1.0\", \"private\": true, \"scripts\": { \"dev\": \"next dev --turbopack\", \"build\": \"next build\", \"start\": \"next start\", \"lint\": \"next lint\" }, \"dependencies\": { \"@ai-sdk/openai\": \"^1.1.15\", \"@assistant-ui/react\": \"^0.8.2\", \"@assistant-ui/react-ai-sdk\": \"^0.8.0\", \"@assistant-ui/react-markdown\": \"^0.8.0\", \"@mem0/vercel-ai-provider\": \"^1.0.4\", \"@radix-ui/react-alert-dialog\": \"^1.1.6\", \"@radix-ui/react-avatar\": \"^1.1.3\", \"@radix-ui/react-popover\": \"^1.1.6\", \"@radix-ui/react-scroll-area\": \"^1.2.3\", \"@radix-ui/react-slot\": \"^1.1.2\", \"@radix-ui/react-tooltip\": \"^1.1.8\", \"@types/js-cookie\": \"^3.0.6\", \"@types/react-syntax-highlighter\": \"^15.5.13\", \"@types/uuid\": \"^10.0.… 证据：`examples/mem0-demo/package.json`\n- **Package**（package_manifest）：{ \"name\": \"mem0-sdk-chat-bot\", \"private\": true, \"version\": \"0.0.0\", \"type\": \"module\", \"scripts\": { \"dev\": \"vite\", \"build\": \"tsc -b && vite build\", \"lint\": \"eslint .\", \"preview\": \"vite preview\" }, \"dependencies\": { \"@mem0/vercel-ai-provider\": \"0.0.12\", \"@radix-ui/react-avatar\": \"^1.1.1\", \"@radix-ui/react-dialog\": \"^1.1.2\", \"@radix-ui/react-icons\": \"^1.3.1\", \"@radix-ui/react-label\": \"^2.1.0\", \"@radix-ui/react-scroll-area\": \"^1.2.0\", \"@radix-ui/react-select\": \"^2.1.2\", \"@radix-ui/react-slot\": \"^1.1.0\", \"ai\": \"4.1.42\", \"buffer\": \"^6.0.3\", \"class-variance-authority\": \"^0.7.0\", \"clsx\": \"^2.1.1\", \"framer-motion\": \"^11.11.11\", \"lucide-react\": \"^0.454.0\", \"openai\": \"^4.86.2\", \"react\": \"^18.3.1\", \"re… 证据：`examples/multimodal-demo/package.json`\n- **Package**（package_manifest）：{ \"name\": \"openai-inbuilt-tools\", \"version\": \"1.0.0\", \"description\": \"\", \"license\": \"ISC\", \"author\": \"\", \"type\": \"module\", \"main\": \"index.js\", \"scripts\": { \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\", \"start\": \"node index.js\" }, \"packageManager\": \"pnpm@10.5.2+sha512.da9dc28cd3ff40d0592188235ab25d3202add8a207afbedc682220e4a0029ffbff4562102b9e6e46b4e3f9e8bd53e6d05de48544b0c57d4b0179e22c76d1199b\", \"dependencies\": { \"mem0ai\": \"^2.1.2\", \"openai\": \"^4.87.2\", \"zod\": \"^3.24.2\" } } 证据：`examples/openai-inbuilt-tools/package.json`\n- **Package**（package_manifest）：{ \"name\": \"mem0-sdk-chat-bot\", \"private\": true, \"version\": \"0.0.0\", \"type\": \"module\", \"scripts\": { \"dev\": \"vite\", \"build\": \"tsc -b && vite build\", \"lint\": \"eslint .\", \"preview\": \"vite preview\" }, \"dependencies\": { \"@mem0/vercel-ai-provider\": \"0.0.12\", \"@radix-ui/react-avatar\": \"^1.1.1\", \"@radix-ui/react-dialog\": \"^1.1.2\", \"@radix-ui/react-icons\": \"^1.3.1\", \"@radix-ui/react-label\": \"^2.1.0\", \"@radix-ui/react-scroll-area\": \"^1.2.0\", \"@radix-ui/react-select\": \"^2.1.2\", \"@radix-ui/react-slot\": \"^1.1.0\", \"ai\": \"4.1.42\", \"buffer\": \"^6.0.3\", \"class-variance-authority\": \"^0.7.0\", \"clsx\": \"^2.1.1\", \"framer-motion\": \"^11.11.11\", \"lucide-react\": \"^0.454.0\", \"openai\": \"^4.86.2\", \"react\": \"^18.3.1\", \"re… 证据：`examples/vercel-ai-sdk-chat-app/package.json`\n- **Package**（package_manifest）：{ \"name\": \"mem0-assistant\", \"version\": \"1.0.0\", \"description\": \"A Chrome extension that integrates AI chat functionality directly into YouTube and other sites. Get instant answers about video content without leaving the page.\", \"main\": \"background.js\", \"scripts\": { \"build\": \"webpack --config webpack.config.js\", \"watch\": \"webpack --config webpack.config.js --watch\" }, \"keywords\": , \"author\": \"\", \"license\": \"ISC\", \"devDependencies\": { \"@babel/core\": \"^7.22.0\", \"@babel/preset-env\": \"^7.22.0\", \"babel-loader\": \"^9.1.2\", \"css-loader\": \"^7.1.2\", \"style-loader\": \"^4.0.0\", \"webpack\": \"^5.85.0\", \"webpack-cli\": \"^5.1.1\", \"youtube-transcript\": \"^1.0.6\" }, \"dependencies\": { \"mem0ai\": \"^2.1.15\" } } 证据：`examples/yt-assistant-chrome/package.json`\n- **Package**（package_manifest）：{ \"name\": \"@mem0/community\", \"version\": \"0.0.1\", \"description\": \"Community features for Mem0\", \"main\": \"./dist/index.js\", \"module\": \"./dist/index.mjs\", \"types\": \"./dist/index.d.ts\", \"exports\": { \".\": { \"types\": \"./dist/index.d.ts\", \"require\": \"./dist/index.js\", \"import\": \"./dist/index.mjs\" }, \"./langchain\": { \"types\": \"./dist/integrations/langchain/index.d.ts\", \"require\": \"./dist/integrations/langchain/index.js\", \"import\": \"./dist/integrations/langchain/index.mjs\" } }, \"files\": \"dist\" , \"scripts\": { \"clean\": \"rimraf dist\", \"build\": \"npm run clean && npx prettier --check . && npx tsup\", \"dev\": \"npx nodemon\", \"test\": \"jest\", \"test:ts\": \"jest --config jest.config.js\", \"test:watch\": \"jest --con… 证据：`mem0-ts/src/community/package.json`\n- **Package**（package_manifest）：{ \"name\": \"mem0ai-oss\", \"version\": \"1.0.0\", \"description\": \"TypeScript implementation of mem0 memory system\", \"main\": \"dist/index.js\", \"types\": \"dist/index.d.ts\", \"scripts\": { \"build\": \"tsc\", \"test\": \"jest\", \"start\": \"pnpm run example memory\", \"example\": \"ts-node examples/vector-stores/index.ts\", \"clean\": \"rimraf dist\", \"prepare\": \"npm run build\" }, \"dependencies\": { \"@anthropic-ai/sdk\": \"^0.18.0\", \"@google/genai\": \"^0.7.0\", \"@qdrant/js-client-rest\": \"^1.13.0\", \"@types/node\": \"^20.11.19\", \"@types/pg\": \"^8.11.0\", \"@types/redis\": \"^4.0.10\", \"@types/uuid\": \"^9.0.8\", \"cloudflare\": \"^4.2.0\", \"dotenv\": \"^16.4.4\", \"groq-sdk\": \"^0.3.0\", \"openai\": \"^4.28.0\", \"pg\": \"^8.11.3\", \"redis\": \"^4.7.0\", \"bett… 证据：`mem0-ts/src/oss/package.json`\n- **Contributing to OpenMemory**（documentation）：We are a team of developers passionate about the future of AI and open-source software. With years of experience in both fields, we believe in the power of community-driven development and are excited to build tools that make AI more accessible and personalized. 证据：`openmemory/CONTRIBUTING.md`\n- **Package**（package_manifest）：{ \"name\": \"my-v0-project\", \"version\": \"0.1.0\", \"private\": true, \"scripts\": { \"dev\": \"next dev\", \"build\": \"next build\", \"start\": \"next start\", \"lint\": \"next lint\" }, \"dependencies\": { \"@hookform/resolvers\": \"^3.9.1\", \"@radix-ui/react-accordion\": \"^1.2.2\", \"@radix-ui/react-alert-dialog\": \"^1.1.4\", \"@radix-ui/react-aspect-ratio\": \"^1.1.1\", \"@radix-ui/react-avatar\": \"^1.1.2\", \"@radix-ui/react-checkbox\": \"^1.1.3\", \"@radix-ui/react-collapsible\": \"^1.1.2\", \"@radix-ui/react-context-menu\": \"^2.2.4\", \"@radix-ui/react-dialog\": \"^1.1.4\", \"@radix-ui/react-dropdown-menu\": \"^2.1.4\", \"@radix-ui/react-hover-card\": \"^1.1.4\", \"@radix-ui/react-label\": \"^2.1.1\", \"@radix-ui/react-menubar\": \"^1.1.4\", \"@radix-ui/r… 证据：`openmemory/ui/package.json`\n- **Package**（package_manifest）：{ \"name\": \"mem0-dashboard\", \"version\": \"0.1.0\", \"private\": true, \"scripts\": { \"dev\": \"next dev\", \"build\": \"next build\", \"start\": \"next start\", \"lint\": \"prettier --check .\", \"format\": \"prettier --write .\", \"typecheck\": \"tsc --noEmit\" }, \"dependencies\": { \"@hookform/resolvers\": \"^3.6.0\", \"@radix-ui/react-accordion\": \"^1.2.0\", \"@radix-ui/react-alert-dialog\": \"^1.1.4\", \"@radix-ui/react-avatar\": \"^1.0.4\", \"@radix-ui/react-checkbox\": \"^1.0.4\", \"@radix-ui/react-collapsible\": \"^1.1.3\", \"@radix-ui/react-dialog\": \"^1.1.1\", \"@radix-ui/react-dropdown-menu\": \"^2.0.6\", \"@radix-ui/react-hover-card\": \"^1.1.1\", \"@radix-ui/react-icons\": \"^1.3.0\", \"@radix-ui/react-label\": \"^2.1.0\", \"@radix-ui/react-popover\":… 证据：`server/dashboard/package.json`\n- **Mem0 MCP Memory Protocol**（skill_instruction）：You have access to persistent memory via the mem0 MCP tools. Follow this protocol to maintain context across sessions. 证据：`mem0-plugin/skills/mem0-mcp/SKILL.md`\n- **Mem0 Platform Integration**（skill_instruction）：Skill Graph: This skill is part of the Mem0 skill graph: - mem0 this skill -- Platform Client SDK + OSS Python + TypeScript - mem0-cli https://github.com/mem0ai/mem0/tree/main/skills/mem0-cli -- Command-line interface - mem0-vercel-ai-sdk https://github.com/mem0ai/mem0/tree/main/skills/mem0-vercel-ai-sdk -- Vercel AI SDK provider 证据：`mem0-plugin/skills/mem0/SKILL.md`\n- **Memory Consolidation**（skill_instruction）：You are performing a memory consolidation pass. Your goal is to review all stored memories for this user and improve their overall quality. Think of this as compressing raw observations into clean, durable knowledge. 证据：`openclaw/skills/memory-dream/SKILL.md`\n- **Memory Protocol**（skill_instruction）：You have persistent long-term memory powered by mem0. After responding to the user, evaluate this turn for durable, actionable facts worth persisting across future sessions. 证据：`openclaw/skills/memory-triage/SKILL.md`\n- **Mem0 CLI**（skill_instruction）：The official command-line interface for the Mem0 memory platform. Add, search, list, update, and delete memories from the terminal -- for developers, AI agents, and CI/CD pipelines. 证据：`skills/mem0-cli/SKILL.md`\n- **mem0-integrate**（skill_instruction）：Wire Mem0 into an existing repo with a goal-driven, test-first pipeline. Pairs with mem0-test-integration for verification. 证据：`skills/mem0-integrate/SKILL.md`\n- 其余 20 条证据见 `AI_CONTEXT_PACK.json` 或 `EVIDENCE_INDEX.json`。\n\n## 宿主 AI 必须遵守的规则\n\n- **把本资产当作开工前上下文，而不是运行环境。**：AI Context Pack 只包含证据化项目理解，不包含目标项目的可执行状态。 证据：`docs/README.md`, `embedchain/docs/README.md`, `AGENTS.md`\n- **回答用户时区分可预览内容与必须安装后才能验证的内容。**：安装前体验的消费者价值来自降低误装和误判，而不是伪装成真实运行。 证据：`docs/README.md`, `embedchain/docs/README.md`, `AGENTS.md`\n\n## 用户开工前应该回答的问题\n\n- 你准备在哪个宿主 AI 或本地环境中使用它？\n- 你只是想先体验工作流，还是准备真实安装？\n- 你最在意的是安装成本、输出质量、还是和现有规则的冲突？\n\n## 验收标准\n\n- 所有能力声明都能回指到 evidence_refs 中的文件路径。\n- AI_CONTEXT_PACK.md 没有把预览包装成真实运行。\n- 用户能在 3 分钟内看懂适合谁、能做什么、如何开始和风险边界。\n\n---\n\n## Doramagic Context Augmentation\n\n下面内容用于强化 Repomix/AI Context Pack 主体。Human Manual 只提供阅读骨架；踩坑日志会被转成宿主 AI 必须遵守的工作约束。\n\n## Human Manual 骨架\n\n使用规则：这里只是项目阅读路线和显著性信号，不是事实权威。具体事实仍必须回到 repo evidence / Claim Graph。\n\n宿主 AI 硬性规则：\n- 不得把页标题、章节顺序、摘要或 importance 当作项目事实证据。\n- 解释 Human Manual 骨架时，必须明确说它只是阅读路线/显著性信号。\n- 能力、安装、兼容性、运行状态和风险判断必须引用 repo evidence、source path 或 Claim Graph。\n\n- **Mem0 简介**：importance `high`\n  - source_paths: README.md, mem0/__init__.py, docs/introduction.mdx\n- **安装与配置**：importance `high`\n  - source_paths: mem0/__init__.py, mem0-ts/package.json, docs/open-source/setup.mdx, docs/open-source/python-quickstart.mdx\n- **系统架构**：importance `high`\n  - source_paths: mem0/memory/main.py, mem0/memory/base.py, mem0/memory/storage.py, docs/open-source/features/overview.mdx\n- **核心组件详解**：importance `high`\n  - source_paths: mem0/memory/__init__.py, mem0/llms/__init__.py, mem0/embeddings/__init__.py, mem0/vector_stores/__init__.py, mem0-ts/src/client/mem0.ts\n- **记忆操作API**：importance `high`\n  - source_paths: mem0/memory/main.py, docs/core-concepts/memory-operations/add.mdx, docs/core-concepts/memory-operations/search.mdx, docs/core-concepts/memory-operations/delete.mdx, docs/core-concepts/memory-operations/update.mdx\n- **实体提取与链接**：importance `medium`\n  - source_paths: mem0/utils/entity_extraction.py, mem0/utils/lemmatization.py, mem0/utils/scoring.py, mem0-ts/src/oss/src/utils/entity_extraction.ts\n- **LLM模型集成**：importance `high`\n  - source_paths: mem0/llms/openai.py, mem0/llms/anthropic.py, mem0/llms/azure_openai.py, mem0/llms/base.py, docs/components/llms/overview.mdx\n- **向量数据库支持**：importance `high`\n  - source_paths: mem0/vector_stores/pinecone.py, mem0/vector_stores/qdrant.py, mem0/vector_stores/base.py, docs/components/vectordbs/overview.mdx, docs/components/vectordbs/dbs/pinecone.mdx\n\n## Repo Inspection Evidence / 源码检查证据\n\n- repo_clone_verified: true\n- repo_inspection_verified: true\n- repo_commit: `54a03cc7217c22afdc6153a9e61cc6413416001f`\n- inspected_files: `pyproject.toml`, `README.md`, `docs/integrations.mdx`, `docs/openapi.json`, `docs/README.md`, `docs/api-reference.mdx`, `docs/docs.json`, `docs/vibecoding.mdx`, `docs/introduction.mdx`, `docs/core-concepts/memory-evaluation.mdx`, `docs/core-concepts/memory-types.mdx`, `docs/migration/oss-v2-to-v3.mdx`, `docs/migration/api-changes.mdx`, `docs/migration/oss-to-platform.mdx`, `docs/migration/platform-v2-to-v3.mdx`, `docs/api-reference/organizations-projects.mdx`, `docs/platform/contribute.mdx`, `docs/platform/cli.mdx`, `docs/platform/faqs.mdx`, `docs/platform/platform-vs-oss.mdx`\n\n宿主 AI 硬性规则：\n- 没有 repo_clone_verified=true 时，不得声称已经读过源码。\n- 没有 repo_inspection_verified=true 时，不得把 README/docs/package 文件判断写成事实。\n- 没有 quick_start_verified=true 时，不得声称 Quick Start 已跑通。\n\n## Doramagic Pitfall Constraints / 踩坑约束\n\n这些规则来自 Doramagic 发现、验证或编译过程中的项目专属坑点。宿主 AI 必须把它们当作工作约束，而不是普通说明文字。\n\n### Constraint 1: 能力判断依赖假设\n\n- Trigger: README/documentation is current enough for a first validation pass.\n- Host AI rule: 将假设转成下游验证清单。\n- Why it matters: 假设不成立时，用户拿不到承诺的能力。\n- Evidence: capability.assumptions | github_repo:656099147 | https://github.com/mem0ai/mem0 | README/documentation is current enough for a first validation pass.\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 2: 维护活跃度未知\n\n- Trigger: 未记录 last_activity_observed。\n- Host AI rule: 补 GitHub 最近 commit、release、issue/PR 响应信号。\n- Why it matters: 新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。\n- Evidence: evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | last_activity_observed missing\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 3: 下游验证发现风险项\n\n- Trigger: no_demo\n- Host AI rule: 进入安全/权限治理复核队列。\n- Why it matters: 下游已经要求复核，不能在页面中弱化。\n- Evidence: downstream_validation.risk_items | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 4: 存在评分风险\n\n- Trigger: no_demo\n- Host AI rule: 把风险写入边界卡，并确认是否需要人工复核。\n- Why it matters: 风险会影响是否适合普通用户安装。\n- Evidence: risks.scoring_risks | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 5: issue/PR 响应质量未知\n\n- Trigger: issue_or_pr_quality=unknown。\n- Host AI rule: 抽样最近 issue/PR，判断是否长期无人处理。\n- Why it matters: 用户无法判断遇到问题后是否有人维护。\n- Evidence: evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | issue_or_pr_quality=unknown\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n\n### Constraint 6: 发布节奏不明确\n\n- Trigger: release_recency=unknown。\n- Host AI rule: 确认最近 release/tag 和 README 安装命令是否一致。\n- Why it matters: 安装命令和文档可能落后于代码，用户踩坑概率升高。\n- Evidence: evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | release_recency=unknown\n- Hard boundary: 不要把这个坑点包装成已解决、已验证或可忽略，除非后续验证证据明确证明它已经关闭。\n",
      "summary": "给宿主 AI 的上下文和工作边界。",
      "title": "AI Context Pack / 带给我的 AI"
    },
    "boundary_risk_card": {
      "asset_id": "boundary_risk_card",
      "filename": "BOUNDARY_RISK_CARD.md",
      "markdown": "# Boundary & Risk Card / 安装前决策卡\n\n项目：mem0ai/mem0\n\n## Doramagic 试用结论\n\n当前结论：可以进入发布前推荐检查；首次使用仍应从最小权限、临时目录和可回滚配置开始。\n\n## 用户现在可以做\n\n- 可以先阅读 Human Manual，理解项目目的和主要工作流。\n- 可以复制 Prompt Preview 做安装前体验；这只验证交互感，不代表真实运行。\n- 可以把官方 Quick Start 命令放到隔离环境中验证，不要直接进主力环境。\n\n## 现在不要做\n\n- 不要把 Prompt Preview 当成项目实际运行结果。\n- 不要把 metadata-only validation 当成沙箱安装验证。\n- 不要把未验证能力写成“已支持、已跑通、可放心安装”。\n- 不要在首次试用时交出生产数据、私人文件、真实密钥或主力配置目录。\n\n## 安装前检查\n\n- 宿主 AI 是否匹配：chatgpt\n- 官方安装入口状态：已发现官方入口\n- 是否在临时目录、临时宿主或容器中验证：必须是\n- 是否能回滚配置改动：必须能\n- 是否需要 API Key、网络访问、读写文件或修改宿主配置：未确认前按高风险处理\n- 是否记录了安装命令、实际输出和失败日志：必须记录\n\n## 当前阻塞项\n\n- 无阻塞项。\n\n## 项目专属踩坑\n\n- 能力判断依赖假设（medium）：假设不成立时，用户拿不到承诺的能力。 建议检查：将假设转成下游验证清单。\n- 维护活跃度未知（medium）：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。 建议检查：补 GitHub 最近 commit、release、issue/PR 响应信号。\n- 下游验证发现风险项（medium）：下游已经要求复核，不能在页面中弱化。 建议检查：进入安全/权限治理复核队列。\n- 存在评分风险（medium）：风险会影响是否适合普通用户安装。 建议检查：把风险写入边界卡，并确认是否需要人工复核。\n- issue/PR 响应质量未知（low）：用户无法判断遇到问题后是否有人维护。 建议检查：抽样最近 issue/PR，判断是否长期无人处理。\n\n## 风险与权限提示\n\n- no_demo: medium\n\n## 证据缺口\n\n- 暂未发现结构化证据缺口。\n",
      "summary": "安装、权限、验证和推荐前风险。",
      "title": "Boundary & Risk Card / 边界与风险卡"
    },
    "human_manual": {
      "asset_id": "human_manual",
      "filename": "HUMAN_MANUAL.md",
      "markdown": "# https://github.com/mem0ai/mem0 项目说明书\n\n生成时间：2026-05-11 07:44:39 UTC\n\n## 目录\n\n- [Mem0 简介](#page-introduction)\n- [安装与配置](#page-installation)\n- [系统架构](#page-architecture)\n- [核心组件详解](#page-core-components)\n- [记忆操作API](#page-memory-operations)\n- [实体提取与链接](#page-entity-extraction)\n- [LLM模型集成](#page-llm-integrations)\n- [向量数据库支持](#page-vector-stores)\n- [嵌入模型配置](#page-embeddings)\n- [智能体框架集成](#page-agent-integrations)\n\n<a id='page-introduction'></a>\n\n## Mem0 简介\n\n### 相关页面\n\n相关主题：[安装与配置](#page-installation), [系统架构](#page-architecture)\n\n<minimax:tool_call>\n<invoke name=\"browser_google_search\">\n<parameter name=\"query\">mem0ai/mem0 github repository documentation</parameter>\n<parameter name=\"top_n\">10</parameter>\n<parameter name=\"recency_days\">-1</parameter>\n</invoke>\n</minimax:tool_call>\n\n---\n\n<a id='page-installation'></a>\n\n## 安装与配置\n\n### 相关页面\n\n相关主题：[Mem0 简介](#page-introduction)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/__init__.py)\n- [mem0/embeddings/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/__init__.py)\n- [mem0/vector_stores/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/vector_stores/__init__.py)\n- [mem0/memory/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/__init__.py)\n- [mem0-ts/package.json](https://github.com/mem0ai/mem0/blob/main/mem0-ts/package.json)\n- [docs/open-source/setup.mdx](https://github.com/mem0ai/mem0/blob/main/docs/open-source/setup.mdx)\n- [docs/open-source/python-quickstart.mdx](https://github.com/mem0ai/mem0/blob/main/docs/open-source/python-quickstart.mdx)\n- [.env.example](https://github.com/mem0ai/mem0/blob/main/.env.example)\n</details>\n\n# 安装与配置\n\nmem0 是一个开源的 AI 记忆层平台，为大型语言模型（LLM）应用提供智能记忆管理能力。本页面详细说明 mem0 的安装过程、环境配置以及各项参数的配置方法。\n\n## 前置条件\n\n在安装 mem0 之前，请确保系统满足以下要求：\n\n| 组件 | 最低版本 | 说明 |\n|------|----------|------|\n| Python | 3.9+ | mem0 主 SDK 需要 Python 运行环境 |\n| pip | 21.0+ | Python 包管理工具 |\n| Node.js | 18.0+ | mem0-ts 运行所需（可选） |\n| 向量数据库 | 见下方 | 至少配置一种向量存储后端 |\n\n### 支持的向量数据库\n\nmem0 支持多种向量数据库作为记忆存储后端：\n\n- **Qdrant**：高性能向量相似度搜索引擎\n- **Chroma**：轻量级嵌入式向量数据库\n- **Weaviate**：云原生的向量搜索引擎\n- **Milvus**：分布式向量数据库\n- **pgvector**：PostgreSQL 向量扩展\n- **Redis**：支持向量相似度搜索\n- **LanceDB**：嵌入式向量数据库\n- **AstraDB**：DataStax 的云数据库服务\n\n### 支持的嵌入模型\n\nmem0 支持多种嵌入模型用于记忆向量化：\n\n- OpenAI Embeddings\n- Azure OpenAI Embeddings\n- LangChain 集成支持的所有嵌入模型\n- 自定义嵌入接口\n\n## 安装方式\n\n### Python SDK 安装\n\nmem0 Python SDK 可以通过 pip 直接安装：\n\n```bash\npip install mem0ai\n```\n\n如需安装包含所有可选依赖的完整版本：\n\n```bash\npip install mem0ai[all]\n```\n\n### TypeScript/Node.js SDK 安装\n\nmem0 还提供了 TypeScript/Node.js 版本的客户端库：\n\n```bash\nnpm install mem0ai\n```\n\n或使用其他包管理器：\n\n```bash\nyarn add mem0ai\npnpm add mem0ai\n```\n\n## 环境变量配置\n\nmem0 使用环境变量管理敏感配置和 API 密钥。建议创建 `.env` 文件进行配置：\n\n```bash\ncp .env.example .env\n```\n\n### 必需的环境变量\n\n| 变量名 | 描述 | 必需 | 示例值 |\n|--------|------|------|--------|\n| `OPENAI_API_KEY` | OpenAI API 密钥 | 是（使用 OpenAI 时） | `sk-...` |\n| `AZURE_OPENAI_API_KEY` | Azure OpenAI API 密钥 | 是（使用 Azure 时） | `...` |\n| `AZURE_OPENAI_ENDPOINT` | Azure OpenAI 端点 | 是（使用 Azure 时） | `https://xxx.openai.azure.com/` |\n| `AZURE_OPENAI_EMBEDDINGS_DEPLOYMENT` | Azure Embeddings 部署名 | 是（使用 Azure 时） | `text-embedding-ada-002` |\n\n### 向量存储配置\n\n根据选择的向量存储后端，需要配置相应的环境变量：\n\n```bash\n# Qdrant 配置\nQDRANT_HOST=localhost\nQDRANT_PORT=6333\nQDRANT_COLLECTION_NAME=mem0\n\n# Chroma 配置\nCHROMA_DB_IMPL=chromadb.db.duckdb.DuckDB\nCHROMA_DATA_PATH=./chroma_data\n\n# Redis 配置\nREDIS_HOST=localhost\nREDIS_PORT=6379\n```\n\n## Python SDK 配置\n\n### 基础配置初始化\n\nmem0 Python SDK 的核心配置通过 `Mem0` 类进行管理：\n\n```python\nfrom mem0 import Mem0\n\n# 使用 OpenAI 和默认向量存储\nclient = Mem0()\n\n# 自定义配置\nclient = Mem0(\n    api_key=\"your-api-key\",\n    model=\"gpt-4\",\n    temperature=0.7,\n    max_tokens=1000\n)\n```\n\n### 嵌入模型配置\n\nmem0 支持自定义嵌入模型配置：\n\n```python\nfrom mem0.embeddings import OpenAIEmbedding\n\n# 配置自定义嵌入\nembedding_model = OpenAIEmbedding(\n    api_key=\"your-api-key\",\n    model=\"text-embedding-3-small\",\n    dimensions=1536\n)\n\nclient = Mem0(embedding_model=embedding_model)\n```\n\n### 向量存储配置\n\n```python\nfrom mem0.vector_stores import Qdrant\n\n# 配置 Qdrant 向量存储\nvector_store = Qdrant(\n    host=\"localhost\",\n    port=6333,\n    collection_name=\"mem0_memory\"\n)\n\nclient = Mem0(vector_store=vector_store)\n```\n\n## TypeScript SDK 配置\n\nmem0-ts 的初始化配置：\n\n```typescript\nimport { Mem0 } from 'mem0ai';\n\nconst client = new Mem0({\n  apiKey: 'your-api-key',\n  model: 'gpt-4'\n});\n```\n\n### TypeScript 配置参数\n\n| 参数名 | 类型 | 描述 | 默认值 |\n|--------|------|------|--------|\n| `apiKey` | `string` | API 密钥 | - |\n| `model` | `string` | 使用的 LLM 模型 | `gpt-4` |\n| `temperature` | `number` | 生成温度参数 | `0.7` |\n| `maxTokens` | `number` | 最大生成 token 数 | `1000` |\n| `embeddingModel` | `string` | 嵌入模型名称 | - |\n\n## 内存类型配置\n\nmem0 支持多种内存类型，适用于不同的应用场景：\n\n```python\nclient = Mem0(\n    memory_type=\"semantic\",  # 语义记忆（默认）\n    # 或\n    memory_type=\"episodic\",  # 情景记忆\n    # 或\n    memory_type=\"semantic_with_episodic\"  # 混合模式\n)\n```\n\n### 内存类型说明\n\n| 类型 | 描述 | 适用场景 |\n|------|------|----------|\n| `semantic` | 基于语义相似度存储和检索 | 通用知识问答 |\n| `episodic` | 基于时间序列的情景记忆 | 对话历史记录 |\n| `semantic_with_episodic` | 语义和情景记忆混合 | 复杂对话应用 |\n\n## 配置验证\n\n安装完成后，可以通过以下方式验证配置是否正确：\n\n```python\nfrom mem0 import Mem0\n\n# 初始化客户端\nclient = Mem0()\n\n# 测试添加记忆\nresult = client.add(\"这是我的第一条记忆\")\n\n# 验证记忆检索\nmemories = client.search(\"我的记忆\")\nprint(f\"找到 {len(memories)} 条相关记忆\")\n```\n\n## 常见配置问题\n\n### API 密钥问题\n\n如果遇到认证错误，请检查：\n\n1. 环境变量是否正确设置\n2. API 密钥是否有效且未过期\n3. 密钥是否有足够的配额\n\n### 向量存储连接问题\n\n1. 确认向量数据库服务已启动\n2. 检查端口配置是否正确\n3. 验证网络连接是否畅通\n\n### 嵌入模型问题\n\n如果嵌入结果不符合预期：\n\n1. 检查嵌入模型版本是否最新\n2. 确认维度设置与向量存储匹配\n3. 考虑使用更高质量的嵌入模型\n\n## 部署架构\n\nmem0 的典型部署架构如下：\n\n```mermaid\ngraph TD\n    A[应用层] --> B[mem0 SDK]\n    B --> C[记忆处理引擎]\n    C --> D{记忆类型}\n    D --> E[语义记忆]\n    D --> F[情景记忆]\n    E --> G[向量存储层]\n    F --> G\n    G --> H[Qdrant / Chroma / Redis / ...]\n    C --> I[LLM 层]\n    I --> J[OpenAI / Azure OpenAI / 本地模型]\n```\n\n## 进阶配置\n\n### 日志配置\n\n```python\nimport logging\n\nlogging.basicConfig(level=logging.DEBUG)\nclient = Mem0()\n```\n\n### 自定义 LLM 提供商\n\n```python\nfrom mem0 import Mem0\n\nclient = Mem0(\n    llm_provider=\"custom\",\n    llm_endpoint=\"http://localhost:8000/v1\",\n    llm_api_key=\"your-key\"\n)\n```\n\n### 记忆保留策略\n\n```python\nclient = Mem0(\n    retention_policy=\"smart\",  # 智能保留\n    max_memories=1000,         # 最大记忆数量\n    ttl_days=30               # 记忆过期天数\n)\n```\n\n## 下一步\n\n- [快速开始指南](docs/open-source/python-quickstart.mdx)\n- [API 参考文档](docs/open-source/api-reference.mdx)\n- [生产环境部署](docs/open-source/deployment.mdx)\n\n---\n\n<a id='page-architecture'></a>\n\n## 系统架构\n\n### 相关页面\n\n相关主题：[核心组件详解](#page-core-components), [记忆操作API](#page-memory-operations)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/memory/main.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/main.py)\n- [mem0/memory/base.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/base.py)\n- [mem0/memory/storage.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/storage.py)\n- [mem0/memory/graphs.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/graphs.py)\n- [mem0/vector_stores/qdrant.py](https://github.com/mem0ai/mem0/blob/main/mem0/vector_stores/qdrant.py)\n- [mem0/vector_stores/chroma.py](https://github.com/mem0ai/mem0/blob/main/mem0/vector_stores/chroma.py)\n- [mem0/embeddings/factory.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/factory.py)\n- [mem0/configs/mem0.py](https://github.com/mem0ai/mem0/blob/main/mem0/configs/mem0.py)\n- [docs/open-source/features/overview.mdx](https://github.com/mem0ai/mem0/blob/main/docs/open-source/features/overview.mdx)\n</details>\n\n# 系统架构\n\n## 1. 概述\n\nMem0 是一个为 AI 应用设计的智能记忆层基础设施，旨在解决 AI 应用中的长期记忆、用户偏好学习和上下文理解问题。该平台采用模块化架构设计，支持多种向量存储后端、嵌入模型和 LLM 提供商，能够灵活适应不同的部署场景。资料来源：[docs/open-source/features/overview.mdx:1]()\n\nMem0 的核心价值在于为 AI 系统提供持久化、可检索的记忆能力，使 AI 应用能够记住用户偏好、历史交互和重要信息，从而提供更加个性化和连贯的用户体验。资料来源：[mem0/memory/base.py:1-20]()\n\n## 2. 架构分层\n\nMem0 采用三层架构设计，从上到下依次为接口层、核心处理层和存储层。这种分层设计确保了各层之间的职责明确，便于维护和扩展。资料来源：[mem0/memory/main.py:1-50]()\n\n```mermaid\ngraph TD\n    A[接口层 - Mem0 主类] --> B[核心处理层]\n    A --> C[记忆管理层]\n    B --> D[向量存储层]\n    B --> E[嵌入层]\n    C --> F[关系图谱层]\n    D --> G[向量数据库]\n    E --> H[嵌入模型]\n    F --> I[图数据库]\n```\n\n### 2.1 接口层\n\n接口层是用户与 Mem0 系统交互的入口点，主要通过 `Mem0` 主类暴露所有核心功能。该层负责接收用户请求、参数验证和结果格式化，是整个系统的对外窗口。资料来源：[mem0/memory/main.py:20-80]()\n\n**核心类：`Mem0`**\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `provider` | str | LLM 提供商类型，如 \"openai\"、\"azure\"、\"anthropic\" 等 |\n| `model` | str | 具体的模型标识符 |\n| `vector_store` | str | 向量存储后端类型 |\n| `vector_store_config` | dict | 向量存储的详细配置 |\n| `embedding_model` | str | 嵌入模型的名称或路径 |\n| `graph_store` | str | 图数据库后端类型 |\n| `graph_store_config` | dict | 图数据库的详细配置 |\n\n资料来源：[mem0/memory/main.py:40-70]()\n\n### 2.2 核心处理层\n\n核心处理层负责执行记忆的核心操作逻辑，包括记忆的添加、搜索、更新和删除。该层协调嵌入模型、向量存储和图存储之间的交互，实现语义搜索和关系推理。资料来源：[mem0/memory/base.py:30-100]()\n\n```mermaid\ngraph LR\n    A[用户输入] --> B[文本预处理]\n    B --> C[嵌入生成]\n    C --> D[向量索引]\n    C --> E[关系抽取]\n    E --> F[图谱更新]\n    D --> G[向量存储]\n    G --> H[相似度检索]\n    F --> I[图谱存储]\n    I --> J[关系查询]\n    H --> K[结果聚合]\n    J --> K\n    K --> L[结果输出]\n```\n\n### 2.3 存储层\n\n存储层负责数据的持久化，包括向量存储和图存储两大类。向量存储用于存储嵌入向量，支持语义相似度搜索；图存储用于存储实体之间的复杂关系。资料来源：[mem0/memory/storage.py:1-50]()\n\n## 3. 核心组件\n\n### 3.1 记忆管理模块\n\n记忆管理模块是 Mem0 的核心组件，封装了所有记忆操作的方法。该模块继承自 `MemoryBase` 基类，提供了标准化的接口实现。资料来源：[mem0/memory/base.py:50-150]()\n\n**主要功能：**\n\n| 功能 | 方法 | 说明 |\n|------|------|------|\n| 添加记忆 | `add()` | 将新的记忆信息添加到存储系统 |\n| 搜索记忆 | `search()` | 基于语义相似度检索相关记忆 |\n| 获取历史 | `get_all()` | 检索特定用户或会话的所有记忆 |\n| 更新记忆 | `update()` | 修改已有记忆的内容 |\n| 删除记忆 | `delete()` | 从存储系统中移除记忆 |\n| 重置记忆 | `reset()` | 清空所有记忆数据 |\n\n资料来源：[mem0/memory/main.py:80-200]()\n\n**记忆数据结构：**\n\n```python\nMemoryEntry {\n    id: str,              # 记忆唯一标识符\n    data: str,            # 记忆内容文本\n    user_id: str,         # 用户标识符\n    agent_id: str,        # 代理标识符\n    session_id: str,      # 会话标识符\n    metadata: dict,        # 元数据信息\n    created_at: datetime, # 创建时间戳\n    vector: list[float]   # 嵌入向量\n}\n```\n\n资料来源：[mem0/memory/storage.py:20-60]()\n\n### 3.2 向量存储模块\n\n向量存储模块负责存储和检索嵌入向量，是实现语义搜索的关键组件。Mem0 支持多种向量存储后端，用户可以根据性能、成本和部署环境选择合适的选项。资料来源：[mem0/vector_stores/qdrant.py:1-30]()\n\n**支持的向量存储：**\n\n| 存储后端 | 配置参数 | 适用场景 |\n|----------|----------|----------|\n| Qdrant | `host`, `port`, `collection_name` | 高性能生产环境 |\n| Chroma | `collection_name`, `persist_directory` | 本地开发和测试 |\n| pgvector | `host`, `port`, `database`, `user`, `password` | PostgreSQL 现有部署 |\n| Pinecone | `api_key`, `index_name`, `environment` | 云原生部署 |\n| Weaviate | `url`, `index_name` | 混合云部署 |\n\n资料来源：[mem0/vector_stores/chroma.py:1-40]()\n\n**向量存储配置示例：**\n\n```python\nvector_store_config = {\n    \"provider\": \"qdrant\",\n    \"config\": {\n        \"host\": \"localhost\",\n        \"port\": 6333,\n        \"collection_name\": \"mem0_memory\",\n        \"embedding_model_dims\": 1536\n    }\n}\n```\n\n资料来源：[mem0/configs/mem0.py:1-50]()\n\n### 3.3 嵌入层\n\n嵌入层负责将文本转换为高维向量表示，是实现语义理解的基础。Mem0 使用工厂模式管理嵌入模型，支持多种嵌入提供者和模型。资料来源：[mem0/embeddings/factory.py:1-60]()\n\n**支持的嵌入模型：**\n\n| 模型类型 | 提供商 | 维度 |\n|----------|--------|------|\n| text-embedding-ada-002 | OpenAI | 1536 |\n| text-embedding-3-small | OpenAI | 1536/512 |\n| text-embedding-3-large | OpenAI | 3072/1024/256 |\n| VoyageAI | Voyage | 1024 |\n| HuggingFace | 本地/云端 | 可变 |\n\n资料来源：[mem0/embeddings/factory.py:20-80]()\n\n### 3.4 关系图谱模块\n\n关系图谱模块用于存储和管理实体之间的复杂关系，支持多跳推理和关系路径查询。该模块基于图数据结构，能够高效处理实体间的关联查询。资料来源：[mem0/memory/graphs.py:1-50]()\n\n**图数据结构：**\n\n```mermaid\ngraph TD\n    A[用户: Alice] -->|喜欢| B[电影: 盗梦空间]\n    A -->|不喜欢| C[电影: 变形金刚]\n    A -->|收藏| D[音乐: 古典乐]\n    B -->|类型| E[类型: 科幻]\n    C -->|类型| E\n    E -->|包含| F[元素: 梦境]\n```\n\n**图存储配置：**\n\n| 参数 | 类型 | 说明 |\n|------|------|------|\n| `provider` | str | 图数据库提供者 |\n| `graph_name` | str | 图数据库名称 |\n| `host` | str | 服务器地址 |\n| `port` | int | 服务端口 |\n\n资料来源：[mem0/memory/graphs.py:50-100]()\n\n## 4. 工作流程\n\n### 4.1 添加记忆流程\n\n当用户添加新记忆时，Mem0 执行以下处理流程：资料来源：[mem0/memory/main.py:100-150]()\n\n```mermaid\ngraph TD\n    A[add 用户输入] --> B{记忆类型}\n    B -->|消息记忆| C[调用 add 方法]\n    B -->|偏好记忆| D[调用 add Preference 方法]\n    B -->|事实记忆| E[调用 add Fact 方法]\n    C --> F[文本预处理]\n    D --> F\n    E --> F\n    F --> G[生成嵌入向量]\n    G --> H[提取实体关系]\n    H --> I[存储到向量库]\n    H --> J[更新关系图谱]\n    I --> K[返回记忆 ID]\n    J --> K\n```\n\n### 4.2 搜索记忆流程\n\n搜索操作通过向量相似度匹配实现语义检索，支持多维度过滤和结果排序。资料来源：[mem0/memory/storage.py:50-100]()\n\n```mermaid\ngraph TD\n    A[search 查询输入] --> B[生成查询嵌入]\n    B --> C[向量相似度搜索]\n    C --> D{过滤条件}\n    D -->|有过滤| E[应用元数据过滤]\n    D -->|无过滤| F[直接返回结果]\n    E --> G[结果排序]\n    F --> H[结果排序]\n    G --> I[返回 Top-K 结果]\n    H --> I\n    I --> J[格式化输出]\n```\n\n## 5. 配置体系\n\n### 5.1 配置结构\n\nMem0 使用分层配置管理，支持环境变量、配置文件和代码参数三种配置方式。配置优先级从高到低依次为：代码参数 > 环境变量 > 配置文件 > 默认值。资料来源：[mem0/configs/mem0.py:1-100]()\n\n**配置参数表：**\n\n| 配置项 | 环境变量 | 默认值 | 说明 |\n|--------|----------|--------|------|\n| `llm_provider` | `MEM0_LLM_PROVIDER` | openai | LLM 提供商 |\n| `llm_api_key` | `MEM0_LLM_API_KEY` | - | API 密钥 |\n| `vector_store` | `MEM0_VECTOR_STORE` | chroma | 向量存储后端 |\n| `embedding_model` | `MEM0_EMBEDDING_MODEL` | text-embedding-ada-002 | 嵌入模型 |\n| `graph_store` | `MEM0_GRAPH_STORE` | networkx | 图存储后端 |\n\n### 5.2 初始化配置示例\n\n```python\nfrom mem0 import Mem0\n\n# 基础配置\nclient = Mem0(api_key=\"your-api-key\")\n\n# 高级配置\nclient = Mem0(\n    provider=\"openai\",\n    model=\"gpt-4\",\n    vector_store=\"qdrant\",\n    vector_store_config={\n        \"host\": \"qdrant.example.com\",\n        \"port\": 6333,\n        \"collection_name\": \"production_memory\"\n    },\n    embedding_model=\"text-embedding-3-large\",\n    graph_store=\"neo4j\",\n    graph_store_config={\n        \"url\": \"bolt://localhost:7687\",\n        \"username\": \"neo4j\",\n        \"password\": \"password\"\n    }\n)\n```\n\n资料来源：[mem0/memory/main.py:30-80]()\n\n## 6. 扩展机制\n\n### 6.1 自定义向量存储\n\nMem0 提供了标准化的向量存储接口，开发者可以通过实现 `VectorStoreBase` 基类来添加新的向量存储后端。资料来源：[mem0/vector_stores/qdrant.py:1-20]()\n\n**接口要求：**\n\n```python\nclass VectorStoreBase:\n    def create_collection(self, name: str, dim: int): ...\n    def insert(self, vectors: list, payloads: list, ids: list): ...\n    def search(self, query: str, limit: int = 5) -> list: ...\n    def delete(self, id: str): ...\n    def get(self, id: str) -> dict: ...\n    def update(self, id: str, vector: list, payload: dict): ...\n```\n\n### 6.2 自定义嵌入模型\n\n通过实现 `EmbeddingBase` 接口，可以集成任何自定义的嵌入模型。资料来源：[mem0/embeddings/factory.py:1-30]()\n\n## 7. 数据流\n\n### 7.1 完整数据流图\n\n```mermaid\ngraph LR\n    subgraph 输入层\n        A[用户消息]\n        B[偏好信息]\n        C[事实陈述]\n    end\n    \n    subgraph 处理层\n        D[预处理模块]\n        E[嵌入生成器]\n        F[关系抽取器]\n        G[意图识别器]\n    end\n    \n    subgraph 存储层\n        H[向量数据库]\n        I[关系图谱]\n        J[键值存储]\n    end\n    \n    subgraph 输出层\n        K[检索结果]\n        L[推理结果]\n        M[上下文增强]\n    end\n    \n    A --> D\n    B --> D\n    C --> D\n    D --> E\n    D --> F\n    E --> H\n    F --> I\n    G --> J\n    H --> K\n    I --> L\n    J --> M\n```\n\n## 8. 部署架构\n\n### 8.1 生产环境推荐架构\n\nMem0 支持多种部署模式以适应不同的业务需求和技术栈。资料来源：[docs/open-source/features/overview.mdx:1-50]()\n\n**云原生部署：**\n\n| 组件 | 推荐方案 | 说明 |\n|------|----------|------|\n| Mem0 API | Kubernetes + Docker | 容器化部署，自动扩缩容 |\n| 向量存储 | Qdrant Cloud / Pinecone | 托管向量数据库服务 |\n| 图存储 | Neo4j Aura | 云原生图数据库 |\n| LLM | OpenAI / Azure OpenAI | OpenAI API 服务 |\n\n**本地部署：**\n\n| 组件 | 推荐方案 | 说明 |\n|------|----------|------|\n| Mem0 | pip install + Python | 直接安装运行 |\n| 向量存储 | Chroma / Qdrant (本地) | 本地向量数据库 |\n| 图存储 | NetworkX / Neo4j | 本地图数据库 |\n\n## 9. 总结\n\nMem0 的系统架构采用模块化、分层设计，核心优势包括：\n\n- **灵活性**：支持多种向量存储、嵌入模型和 LLM 提供商，可根据需求灵活选择\n- **可扩展性**：标准化的接口设计便于集成新的存储后端和模型\n- **可靠性**：三层架构确保职责分离，便于维护和升级\n- **性能优化**：向量检索和图查询相结合，提供高效的语义搜索能力\n\n资料来源：[mem0/memory/base.py:1-20]()\n\n---\n\n<a id='page-core-components'></a>\n\n## 核心组件详解\n\n### 相关页面\n\n相关主题：[系统架构](#page-architecture), [LLM模型集成](#page-llm-integrations), [向量数据库支持](#page-vector-stores)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/memory/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/__init__.py)\n- [mem0/llms/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/__init__.py)\n- [mem0/embeddings/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/__init__.py)\n- [mem0/vector_stores/__init__.py](https://github.com/mem0ai/mem0/blob/main/mem0/vector_stores/__init__.py)\n- [mem0-ts/src/client/mem0.ts](https://github.com/mem0ai/mem0/blob/main/mem0-ts/src/client/mem0.ts)\n</details>\n\n# 核心组件详解\n\n## 概述\n\nmem0是一个专为AI应用设计的智能记忆层（Intelligent Memory Layer），旨在为AI代理和助手提供持久化、可检索的记忆能力。该项目通过模块化的架构设计，将记忆管理、LLM集成、向量嵌入和存储系统解耦，实现了灵活的配置和扩展能力。mem0的核心价值在于简化AI应用的状态管理，使开发者能够专注于业务逻辑，而无需关心记忆存储和检索的底层实现。\n\nmem0的设计理念强调自适应性和上下文理解能力。系统能够自动识别和存储重要的交互信息，同时支持多种向量存储后端和多语言模型集成。这种设计使得mem0能够适应从个人助手到企业级AI系统的各种应用场景。\n\n## 架构概览\n\nmem0采用分层架构设计，各层之间通过明确定义的接口进行通信。这种设计确保了系统的高度可扩展性和可维护性。\n\n```mermaid\ngraph TD\n    A[用户应用层] --> B[mem0 API 层]\n    B --> C[记忆管理层]\n    C --> D[嵌入生成层]\n    C --> E[向量存储层]\n    C --> F[LLM 推理层]\n    D --> G[嵌入模型提供方]\n    E --> H[向量数据库]\n    F --> I[LLM 提供方]\n```\n\n从上述架构图可以看出，mem0的核心组件包括：记忆管理层（Memory）、嵌入生成层（Embeddings）、向量存储层（Vector Stores）和LLM推理层（LLMs）。每一层都设计了标准化的接口，支持多种后端实现，用户可以根据实际需求选择合适的组件组合。\n\n## 核心组件详解\n\n### 1. 记忆管理层（Memory）\n\n记忆管理层是mem0的核心模块，负责管理AI应用的所有记忆操作。该模块提供了统一的API接口，封装了底层的向量存储、嵌入生成和LLM调用逻辑，为用户提供简洁易用的记忆管理功能。\n\n#### 1.1 主要功能\n\n记忆管理层支持以下核心操作：\n\n- **记忆添加**：将新的信息存储到记忆系统中，支持自动嵌入生成和元数据管理\n- **记忆检索**：基于语义相似度搜索相关记忆，返回排序后的结果列表\n- **记忆更新**：修改已存储记忆的内容和关联元数据\n- **记忆删除**：从系统中移除指定的记忆条目\n- **记忆重置**：清空特定用户或会话的所有记忆\n\n#### 1.2 API 接口规范\n\n| 方法 | 参数 | 返回值 | 说明 |\n|------|------|--------|------|\n| `add` | content, user_id, metadata | MemoryEntry | 添加新记忆 |\n| `search` | query, user_id, limit | List[MemoryEntry] | 语义检索记忆 |\n| `update` | memory_id, content | MemoryEntry | 更新记忆内容 |\n| `delete` | memory_id | bool | 删除指定记忆 |\n| `reset` | user_id | bool | 重置用户记忆 |\n\n资料来源：[mem0/memory/__init__.py]()\n\n#### 1.3 记忆数据结构\n\n记忆条目采用结构化数据模型，包含以下关键字段：\n\n```python\nclass MemoryEntry:\n    id: str              # 唯一标识符\n    content: str         # 记忆内容文本\n    user_id: str         # 关联用户ID\n    metadata: dict       # 扩展元数据\n    created_at: datetime # 创建时间戳\n    updated_at: datetime # 更新时间戳\n    embedding: List[float] # 向量表示（可选）\n```\n\n这种数据结构设计确保了每条记忆都能够独立追踪和管理，同时保留了足够的灵活性以适应不同的应用场景需求。\n\n### 2. LLM 推理层（LLMs）\n\nLLM层是mem0的智能核心，负责与大语言模型进行交互。该模块抽象了不同LLM提供方的接口差异，提供统一的调用方式，同时支持模型配置、热插拔和多供应商备份等企业级功能。\n\n#### 2.1 支持的模型提供商\n\nmem0的LLM层原生支持多种主流大语言模型提供商：\n\n| 提供商 | 模型示例 | 配置方式 |\n|--------|----------|----------|\n| OpenAI | GPT-4, GPT-3.5-turbo | API Key |\n| Anthropic | Claude-3, Claude-2 | API Key |\n| Azure OpenAI | GPT-4, GPT-35-turbo | Azure Endpoint |\n| Google | Gemini Pro, PaLM | API Key |\n| Ollama | Llama2, Mistral | 本地服务 |\n\n资料来源：[mem0/llms/__init__.py]()\n\n#### 2.2 LLM 客户端接口\n\n```typescript\ninterface LLMClient {\n  // 基础文本生成\n  complete(prompt: string, options?: GenerationOptions): Promise<GenerationResult>;\n  \n  // 流式文本生成\n  stream(prompt: string, options?: GenerationOptions): AsyncGenerator<string>;\n  \n  // 结构化输出生成\n  structuredComplete(\n    prompt: string, \n    schema: OutputSchema,\n    options?: GenerationOptions\n  ): Promise<StructuredOutput>;\n}\n```\n\n资料来源：[mem0-ts/src/client/mem0.ts]()\n\n#### 2.3 配置管理\n\nLLM模块支持细粒度的配置控制，主要配置参数包括：\n\n- `model`: 指定使用的模型名称\n- `temperature`: 控制输出的随机性（0.0-2.0）\n- `max_tokens`: 限制生成的最大token数\n- `top_p`: 核采样概率阈值\n- `api_base`: 自定义API端点（用于代理或自托管模型）\n- `api_key`: 身份验证密钥\n\n### 3. 嵌入生成层（Embeddings）\n\n嵌入层负责将文本内容转换为高维向量表示，这是实现语义搜索能力的基础。该模块支持多种嵌入模型，并提供了统一的接口以便于扩展新的嵌入提供方。\n\n#### 3.1 嵌入模型选择\n\nmem0的嵌入层支持多种预训练嵌入模型：\n\n- **OpenAI Embeddings**: text-embedding-ada-002, text-embedding-3-small, text-embedding-3-large\n- **Cohere Embeddings**: embed-english-v3.0, embed-multilingual-v3.0\n- **HuggingFace Embeddings**: 支持所有sentence-transformers模型\n- **本地模型**: 支持Ollama和本地部署的嵌入模型\n\n资料来源：[mem0/embeddings/__init__.py]()\n\n#### 3.2 嵌入配置参数\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | string | \"text-embedding-ada-002\" | 嵌入模型名称 |\n| `dimensions` | int | 1536 | 向量维度 |\n| `batch_size` | int | 100 | 批处理大小 |\n| `normalize` | bool | true | 是否归一化向量 |\n| `encoding_format` | string | \"float\" | 编码格式 |\n\n#### 3.3 嵌入生成流程\n\n```mermaid\ngraph LR\n    A[文本输入] --> B[预处理]\n    B --> C[分词处理]\n    C --> D[模型推理]\n    D --> E[向量输出]\n    E --> F[后处理]\n    F --> G[归一化向量]\n```\n\n该流程确保了嵌入向量的一致性和可比性，为后续的向量检索提供了可靠的数据基础。\n\n### 4. 向量存储层（Vector Stores）\n\n向量存储层是mem0的记忆持久化核心，负责存储和管理所有记忆的向量表示。该模块采用了适配器模式，支持多种向量数据库后端，使得用户能够根据数据规模、性能需求和成本预算选择最合适的存储方案。\n\n#### 4.1 支持的向量数据库\n\n| 数据库 | 适用场景 | 特点 |\n|--------|----------|------|\n| Chroma | 原型开发、小规模 | 轻量级、易用、本地运行 |\n| Qdrant | 生产环境 | 高性能、分布式、云原生 |\n| Weaviate | 混合搜索 | 原生支持混合搜索能力 |\n| Milvus | 超大规模数据 | 高吞吐量、水平扩展 |\n| Pinecone | 云托管服务 | 全托管、免运维 |\n| Redis | 低延迟场景 | 内存级速度、丰富数据结构 |\n\n资料来源：[mem0/vector_stores/__init__.py]()\n\n#### 4.2 向量存储接口\n\n```python\nclass VectorStoreAdapter(ABC):\n    \"\"\"向量存储适配器基类\"\"\"\n    \n    @abstractmethod\n    def add(\n        self, \n        vectors: List[Vector], \n        metadatas: List[Metadata],\n        ids: Optional[List[str]] = None\n    ) -> List[str]:\n        \"\"\"添加向量到存储\"\"\"\n        pass\n    \n    @abstractmethod\n    def search(\n        self, \n        query_vector: Vector, \n        top_k: int = 5,\n        filters: Optional[Filter] = None\n    ) -> List[SearchResult]:\n        \"\"\"执行向量相似度搜索\"\"\"\n        pass\n    \n    @abstractmethod\n    def update(\n        self, \n        id: str, \n        vector: Vector, \n        metadata: Metadata\n    ) -> bool:\n        \"\"\"更新指定向量\"\"\"\n        pass\n    \n    @abstractmethod\n    def delete(\n        self, \n        ids: List[str],\n        delete_all: bool = False\n    ) -> bool:\n        \"\"\"删除向量\"\"\"\n        pass\n```\n\n#### 4.3 索引策略\n\n向量存储层支持多种索引策略以优化检索性能：\n\n- **HNSW（Hierarchical Navigable Small World）**: 图索引，适合高精度场景\n- **IVF（Inverted File Index）**: 倒排索引，适合大规模数据\n- **PQ（Product Quantization）**: 产品量化，适合内存受限场景\n- **SCANN**: 专利算法，Google出品，性能优异\n\n### 5. TypeScript 客户端（mem0-ts）\n\nmem0-ts是mem0的TypeScript/JavaScript客户端实现，提供了与Python版本功能对等的API接口。该客户端采用现代化的设计模式，支持服务端渲染和前端直接调用。\n\n#### 5.1 客户端初始化\n\n```typescript\nimport { Mem0Client } from \"@mem0/nodejs-client\";\n\nconst client = new Mem0Client({\n  apiKey: process.env.MEM0_API_KEY,\n  orgId: \"your-org-id\",      // 可选：组织ID\n  projectId: \"your-project\", // 可选：项目ID\n  baseUrl: \"https://api.mem0.ai\", // 可选：自定义API端点\n});\n```\n\n资料来源：[mem0-ts/src/client/mem0.ts]()\n\n#### 5.2 异步操作支持\n\nTypeScript客户端全面支持异步操作模式，提供了Promise和AsyncIterator两种消费方式：\n\n```typescript\n// 使用 Promise\nconst memory = await client.add({\n  content: \"用户偏好深色主题\",\n  user_id: \"user-123\",\n});\n\n// 使用 AsyncIterator 处理流式响应\nfor await (const chunk of client.searchStream({\n  query: \"用户的界面偏好是什么\",\n  user_id: \"user-123\"\n})) {\n  console.log(chunk);\n}\n```\n\n#### 5.3 错误处理机制\n\n客户端实现了完善的错误处理机制，包括：\n\n- **重试逻辑**: 自动重试失败的请求（可配置重试次数和间隔）\n- **超时控制**: 防止请求无限等待\n- **熔断器**: 连续失败时自动触发熔断保护\n- **降级策略**: 主服务不可用时尝试降级方案\n\n## 数据流与处理流程\n\n### 记忆添加流程\n\n当用户向mem0添加记忆时，系统会执行以下处理流程：\n\n```mermaid\ngraph TD\n    A[用户请求添加记忆] --> B{验证输入参数}\n    B -->|参数无效| C[返回错误信息]\n    B -->|参数有效| D[文本预处理]\n    D --> E[调用嵌入模型]\n    E --> F[生成向量表示]\n    F --> G[构建元数据]\n    G --> H[写入向量存储]\n    H --> I[记录操作日志]\n    I --> J[返回添加结果]\n```\n\n整个流程设计遵循了可靠性和可追溯性原则，每一步操作都有完善的日志记录，便于后续的问题排查和性能分析。\n\n### 记忆检索流程\n\n记忆检索是mem0最核心的功能之一，其处理流程如下：\n\n```mermaid\ngraph TD\n    A[用户查询请求] --> B[查询文本预处理]\n    B --> C[调用嵌入模型]\n    C --> D[生成查询向量]\n    D --> E[执行向量相似度搜索]\n    E --> F[应用过滤条件]\n    F --> G[重排序结果]\n    G --> H[组装响应数据]\n    H --> I[返回检索结果]\n```\n\n检索流程中引入了重排序（Reranking）机制，可以在初步向量搜索的基础上进一步优化结果的相关性排序，提升用户体验。\n\n## 配置与集成\n\n### 环境变量配置\n\nmem0支持通过环境变量进行全局配置：\n\n```bash\n# API 配置\nMEM0_API_KEY=your-api-key\n\n# LLM 配置\nOPENAI_API_KEY=sk-xxx\nANTHROPIC_API_KEY=sk-ant-xxx\n\n# 向量存储配置\nQDRANT_HOST=localhost\nQDRANT_PORT=6333\n\n# 嵌入模型配置\nEMBEDDING_MODEL=text-embedding-3-small\nEMBEDDING_DIMENSIONS=1536\n```\n\n### 快速开始示例\n\nPython环境下的基本使用示例：\n\n```python\nfrom mem0 import Memory\n\n# 初始化记忆客户端\nmemory = Memory()\n\n# 添加记忆\nresult = memory.add(\n    content=\"用户喜欢在周末骑自行车锻炼\",\n    user_id=\"user-123\",\n    metadata={\"source\": \"onboarding\"}\n)\n\n# 检索相关记忆\nresults = memory.search(\n    query=\"用户的运动习惯是什么\",\n    user_id=\"user-123\",\n    limit=5\n)\n\n# 更新记忆\nmemory.update(\n    memory_id=result[\"id\"],\n    content=\"用户喜欢在周末骑自行车锻炼，每天早晨跑步\"\n)\n\n# 删除记忆\nmemory.delete(memory_id=result[\"id\"])\n```\n\n资料来源：[mem0/memory/__init__.py]()\n\n## 总结\n\nmem0的核心组件设计体现了现代AI应用开发的最佳实践，通过清晰的模块划分和标准化的接口定义，实现了高度的可扩展性和灵活性。记忆管理层作为核心模块，封装了复杂的业务逻辑；LLM层提供了统一的模型调用接口；嵌入层确保了语义理解能力的基础；而向量存储层则提供了可靠的记忆持久化机制。\n\n这种分层架构使得开发者可以根据具体需求选择和替换各层的实现组件，无需修改上层代码。例如，当需要处理更大规模的数据时，可以将向量存储从Chroma迁移到Qdrant或Milvus；当需要使用特定领域优化的嵌入模型时，只需替换嵌入层的实现而不影响其他模块。\n\nmem0-ts客户端的存在进一步扩展了项目的适用范围，使得JavaScript和TypeScript生态系统的开发者也能便捷地使用mem0的记忆能力。通过统一的API设计，两种语言的客户端保持了功能对等性，降低了多语言项目的开发复杂度。\n\n---\n\n<a id='page-memory-operations'></a>\n\n## 记忆操作API\n\n### 相关页面\n\n相关主题：[实体提取与链接](#page-entity-extraction), [系统架构](#page-architecture)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/memory/main.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/main.py)\n- [docs/core-concepts/memory-operations/add.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/add.mdx)\n- [docs/core-concepts/memory-operations/search.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/search.mdx)\n- [docs/core-concepts/memory-operations/delete.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/delete.mdx)\n- [docs/core-concepts/memory-operations/update.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/update.mdx)\n- [cli/README.md](https://github.com/mem0ai/mem0/blob/main/cli/README.md)\n- [cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n- [mem0-plugin/README.md](https://github.com/mem0ai/mem0/blob/main/mem0-plugin/README.md)\n- [vercel-ai-sdk/README.md](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/README.md)\n</details>\n\n# 记忆操作API\n\n## 概述\n\nMem0的记忆操作API是智能体长期记忆管理的核心接口，提供了完整的记忆生命周期管理能力。该API支持四种基础操作：**添加（Add）**、**搜索（Search）**、**更新（Update）**、**删除（Delete）**，简称ASUD操作。资料来源：[mem0/memory/main.py](https://github.com/mem0ai/mem0/blob/main/mem0/memory/main.py)\n\nMem0的API设计遵循实体隔离原则，通过`user_id`、`agent_id`、`app_id`、`run_id`四个维度标识记忆的归属范围。这种多层级标识系统使得同一项目中的不同用户、代理和应用可以拥有独立的记忆空间，同时支持跨实体的记忆共享场景。资料来源：[vercel-ai-sdk/README.md](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/README.md)\n\n## 架构概览\n\n```mermaid\ngraph TD\n    A[客户端应用] --> B[Mem0 API层]\n    B --> C{操作类型}\n    C -->|Add| D[记忆提取器]\n    C -->|Search| E[向量检索引擎]\n    C -->|Update| F[记忆更新器]\n    C -->|Delete| G[记忆删除器]\n    D --> H[向量数据库]\n    E --> H\n    F --> H\n    G --> H\n    H --> I[(持久化存储)]\n```\n\n## 核心操作\n\n### 添加记忆\n\n添加操作是记忆系统的入口点，负责从用户输入中提取有价值的信息并存储到向量数据库中。Mem0使用大语言模型进行事实提取，能够自动识别对话中的关键信息并结构化存储。资料来源：[docs/core-concepts/memory-operations/add.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/add.mdx)\n\n#### Python SDK添加示例\n\n```python\nfrom mem0 import Memory\n\nclient = Memory()\nresponse = client.add(\n    messages=[\n        {\"role\": \"user\", \"content\": \"我叫张三，喜欢喝咖啡\"},\n        {\"role\": \"assistant\", \"content\": \"好的张三，我已经记住你喜欢咖啡\"}\n    ],\n    user_id=\"zhangsan\"\n)\n```\n\n#### CLI添加命令\n\n```bash\nmem0 add \"我偏好深烘焙咖啡豆\" --user-id zhangsan\necho \"新地址是朝阳区\" | mem0 add --user-id zhangsan\nmem0 add --file conversation.json --user-id zhangsan\n```\n\n资料来源：[cli/README.md](https://github.com/mem0ai/mem0/blob/main/cli/README.md)\n\n### 搜索记忆\n\n搜索操作支持语义向量检索，能够根据自然语言查询找到语义相关的记忆内容。该操作支持多种过滤条件，包括时间范围、实体标识和元数据过滤。资料来源：[docs/core-concepts/memory-operations/search.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/search.mdx)\n\n#### 搜索参数说明\n\n| 参数名 | 类型 | 必需 | 默认值 | 说明 |\n|--------|------|------|--------|------|\n| `query` | string | 是 | - | 自然语言搜索查询 |\n| `user_id` | string | 否 | - | 用户唯一标识 |\n| `agent_id` | string | 否 | - | 代理唯一标识 |\n| `top_k` | int | 否 | 30 | 返回结果数量上限 |\n| `version` | string | 否 | - | Mem0版本标识 |\n| `category` | string | 否 | - | 记忆类别过滤 |\n\n#### 搜索响应结构\n\n```json\n{\n  \"results\": [\n    {\n      \"id\": \"mem_xxx\",\n      \"memory\": \"用户偏好深烘焙咖啡豆\",\n      \"hash\": \"a1b2c3d4\",\n      \"created_at\": \"2024-01-15T10:30:00Z\",\n      \"updated_at\": \"2024-01-15T10:30:00Z\",\n      \"metadata\": {\n        \"category\": \"user_preferences\",\n        \"source\": \"direct_input\"\n      }\n    }\n  ],\n  \"total_count\": 1\n}\n```\n\n### 更新记忆\n\n更新操作用于修改已有记忆的文本内容或元数据。更新时需要指定记忆的唯一标识符（memory_id），可以同时更新文本和元数据，也可以单独更新其中一项。资料来源：[docs/core-concepts/memory-operations/update.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/update.mdx)\n\n#### 更新方法签名\n\n```python\nclient.update(\n    memory_id=\"mem_xxx\",          # 必需：记忆唯一标识\n    data=\"新的记忆内容\",            # 可选：新的记忆文本\n    metadata={\"key\": \"value\"}      # 可选：新的元数据\n)\n```\n\n#### CLI更新命令\n\n```bash\nmem0 update <memory-id> \"更新后的记忆内容\"\nmem0 update <memory-id> --metadata '{\"priority\": \"high\"}'\n```\n\n资料来源：[cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n\n### 删除记忆\n\n删除操作支持三种粒度：单个记忆删除、基于过滤条件的批量删除、以及实体级别的完全删除。删除操作支持预览模式（dry-run），可在执行前查看将被删除的内容。资料来源：[docs/core-concepts/memory-operations/delete.mdx](https://github.com/mem0ai/mem0/blob/main/docs/core-concepts/memory-operations/delete.mdx)\n\n#### 删除选项矩阵\n\n| 场景 | 命令格式 | 说明 |\n|------|----------|------|\n| 删除单个记忆 | `mem0 delete <memory-id>` | 根据记忆ID精确删除 |\n| 删除用户所有记忆 | `mem0 delete --all --user-id alice` | 删除指定用户的所有记忆 |\n| 删除实体及关联记忆 | `mem0 delete --entity --user-id alice` | 删除用户实体及其所有记忆 |\n| 删除项目级所有记忆 | `mem0 delete --all --project` | 删除当前项目下的全部记忆 |\n| 预览删除内容 | `mem0 delete --all --user-id alice --dry-run` | 不实际执行，显示将被删除的内容 |\n| 跳过确认提示 | `mem0 delete --all --user-id alice --force` | 直接执行，不显示确认提示 |\n\n## MCP工具接口\n\nMem0提供Model Context Protocol（MCP）工具接口，支持AI代理通过标准化的工具调用与记忆系统交互。这些工具封装了底层的REST API调用，提供类型安全的接口契约。资料来源：[mem0-plugin/README.md](https://github.com/mem0ai/mem0/blob/main/mem0-plugin/README.md)\n\n### MCP工具列表\n\n| 工具名称 | 功能描述 | 输入参数 |\n|----------|----------|----------|\n| `add_memory` | 保存文本或对话历史 | messages/text, user_id, metadata |\n| `search_memories` | 语义搜索记忆 | query, filters, limit |\n| `get_memories` | 列出记忆列表 | filters, pagination |\n| `get_memory` | 获取特定记忆 | memory_id |\n| `update_memory` | 更新记忆文本 | memory_id, text |\n| `delete_memory` | 删除单个记忆 | memory_id |\n| `delete_all_memories` | 批量删除记忆 | filters |\n| `delete_entities` | 删除实体及其记忆 | entity_type, entity_id |\n| `list_entities` | 列出实体类型 | entity_type |\n\n## 命令行接口\n\nMem0 CLI提供完整的命令行工具集，支持快速操作和自动化脚本集成。所有命令支持全局`--agent`标志，以JSON格式输出结果，适合AI代理工具循环调用。资料来源：[cli/README.md](https://github.com/mem0ai/mem0/blob/main/cli/README.md)\n\n### 核心命令速查\n\n```bash\n# 初始化配置\nmem0 init --api-key <key> --user-id <user>\n\n# 记忆操作\nmem0 add \"记忆内容\" --user-id <user>\nmem0 search \"查询内容\" --user-id <user>\nmem0 list --user-id <user>\nmem0 get <memory-id>\nmem0 update <memory-id> \"新内容\"\nmem0 delete <memory-id>\n\n# 批量操作\nmem0 import data.json --user-id <user>\nmem0 delete --all --user-id <user> --force\n\n# 配置与状态\nmem0 config show\nmem0 entity list users\nmem0 event list\nmem0 status\n```\n\n### Agent模式\n\n在agent模式下，命令输出被优化为机器可解析的JSON格式，适合集成到AI工作流中：\n\n```bash\nmem0 --agent search \"用户偏好\" --user-id alice\nmem0 --agent add \"用户喜欢深色主题\" --user-id alice\nmem0 --agent list --user-id alice\n```\n\n## 实体管理\n\nMem0通过实体系统组织记忆，支持四种实体类型：用户（users）、代理（agents）、应用（apps）、运行实例（runs）。实体管理提供独立的命名空间，便于在复杂系统中隔离和管理记忆。资料来源：[cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n\n### 实体操作命令\n\n```bash\n# 列出所有用户\nmem0 entity list users\n\n# 列出所有代理（JSON格式）\nmem0 entity list agents --output json\n\n# 删除用户及其所有关联记忆\nmem0 entity delete --user-id alice --force\n```\n\n## 事件系统\n\n对于异步操作（如批量删除、大量添加任务），Mem0提供事件系统追踪后台处理状态。事件对象包含处理状态、进度信息和结果摘要。资料来源：[cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n\n```bash\n# 列出最近的事件\nmem0 event list\n\n# 查询特定事件状态\nmem0 event status <event-id>\n```\n\n## 实验运行参数\n\n在评估和实验场景中，Mem0支持通过参数控制记忆操作行为。这些参数通过命令行传入`run_experiments.py`脚本。资料来源：[evaluation/README.md](https://github.com/mem0ai/mem0/blob/main/evaluation/README.md)\n\n### 可配置参数\n\n| 参数名 | 说明 | 默认值 |\n|--------|------|--------|\n| `--technique_type` | 记忆技术类型：mem0/rag/langmem | mem0 |\n| `--method` | 操作方法：add/search | add |\n| `--chunk_size` | 处理分块大小 | 1000 |\n| `--top_k` | 检索返回的记忆数量 | 30 |\n| `--filter_memories` | 是否启用记忆过滤 | False |\n| `--is_graph` | 是否启用图搜索 | False |\n| `--num_chunks` | RAG处理的块数量 | 1 |\n\n### 实验执行命令\n\n```bash\n# 添加记忆实验\npython run_experiments.py --technique_type mem0 --method add\n\n# 搜索记忆实验\npython run_experiments.py --technique_type mem0 --method search --top_k 50\n```\n\n## 最佳实践\n\n### 标识符使用建议\n\n始终为每次交互提供唯一的`user_id`标识，以确保持久化记忆的正确关联。对于涉及多个代理的系统，建议同时设置`agent_id`，以便追踪不同代理的学习成果。资料来源：[vercel-ai-sdk/README.md](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/README.md)\n\n```python\n# 推荐：为每个用户和代理都设置标识\nclient.add(\n    messages=[...],\n    user_id=\"unique_user_id\",\n    agent_id=\"unique_agent_id\"  # 可选但推荐\n)\n```\n\n### 错误处理\n\n实现重试机制和优雅的错误处理，特别是在网络调用场景中：\n\n```python\ntry:\n    result = client.add(messages=[...], user_id=\"user1\")\nexcept RateLimitError:\n    # 实现退避重试\n    time.sleep(60)\n    result = client.add(messages=[...], user_id=\"user1\")\n```\n\n### 记忆清理策略\n\n定期清理不再需要的记忆以优化存储和检索性能。使用`--dry-run`参数预览删除影响后再执行实际操作。资料来源：[cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n\n## 评估指标\n\nMem0提供内置评估脚本计算记忆操作的效果指标：\n\n```bash\n# 执行评估\npython evals.py --input_file results.json --output_file scores.json\n\n# 生成最终评分\npython generate_scores.py\n```\n\n评估脚本自动计算BLEU分数、F1分数和LLM评判分数，并按类别汇总统计。资料来源：[evaluation/README.md](https://github.com/mem0ai/mem0/blob/main/evaluation/README.md)\n\n---\n\n<a id='page-entity-extraction'></a>\n\n## 实体提取与链接\n\n### 相关页面\n\n相关主题：[记忆操作API](#page-memory-operations), [LLM模型集成](#page-llm-integrations)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0-ts/src/oss/src/utils/entity_extraction.ts](https://github.com/mem0ai/mem0/blob/main/mem0-ts/src/oss/src/utils/entity_extraction.ts)\n- [mem0/utils/entity_extraction.py](https://github.com/mem0ai/mem0/blob/main/mem0/utils/entity_extraction.py)\n- [mem0/utils/lemmatization.py](https://github.com/mem0ai/mem0/blob/main/mem0/utils/lemmatization.py)\n- [mem0/utils/scoring.py](https://github.com/mem0ai/mem0/blob/main/mem0/utils/scoring.py)\n</details>\n\n# 实体提取与链接\n\n## 概述\n\n实体提取与链接（Entity Extraction and Linking）是Mem0记忆系统中用于从用户输入和对话历史中识别、分类和关联关键信息片段的核心组件。该系统能够自动识别文本中的人名、组织名、地点、时间表达式以及复合术语，并将这些实体与记忆系统中的其他相关信息进行关联，形成结构化的知识网络。\n\nMem0的实体提取模块采用混合策略，结合正则表达式模式匹配、词典匹配和启发式规则来实现高精度的实体识别。该模块是Mem0实现\"智能记忆\"的关键基础，使系统能够理解用户提及的具体实体，并基于实体关系进行更精准的记忆检索和推理。\n\n## 系统架构\n\n### 整体架构图\n\n```mermaid\ngraph TD\n    A[用户输入文本] --> B[文本预处理]\n    B --> C[实体提取引擎]\n    C --> D[实体类型分类]\n    C --> E[复合词识别]\n    C --> F[实体规范化]\n    D --> G[实体链接模块]\n    E --> G\n    F --> G\n    G --> H[记忆存储层]\n    H --> I[向量嵌入生成]\n    I --> J[记忆检索引擎]\n    \n    subgraph 实体类型识别\n        D --> D1[PERSON - 人名]\n        D --> D2[ORG - 组织机构]\n        D --> D3[LOCATION - 地点]\n        D --> D4[TIME - 时间表达式]\n    end\n    \n    subgraph 复合词处理\n        E --> E1[COMPOUND - 复合术语]\n        E1 --> E2[Machine Learning]\n        E1 --> E2[Deep Learning]\n    end\n```\n\n### 模块职责\n\n| 模块名称 | 职责描述 | 核心文件 |\n|---------|---------|---------|\n| 文本预处理 | 分词、清洗、标准化 | `lemmatization.py` |\n| 实体提取引擎 | 正则匹配、模式识别 | `entity_extraction.py` / `entity_extraction.ts` |\n| 实体分类器 | 实体类型判定与标注 | `entity_extraction.ts` |\n| 复合词识别器 | 多词术语检测与合并 | `entity_extraction.ts` |\n| 实体规范化 | 词形还原、去重、标准化 | `lemmatization.py` |\n| 评分引擎 | 实体重要性评估与排序 | `scoring.py` |\n\n## 实体类型系统\n\nMem0定义了以下核心实体类型，用于对识别的实体进行语义分类：\n\n```mermaid\ngraph LR\n    A[识别结果] --> B[PERSON]\n    A --> C[ORG]\n    A --> D[LOCATION]\n    A --> E[TIME]\n    A --> F[COMPOUND]\n    \n    B --> B1[人名实体]\n    C --> C1[组织机构]\n    D --> D1[地理/虚拟位置]\n    E --> E1[时间表达式]\n    F --> F1[复合术语短语]\n    \n    style B fill:#e1f5fe\n    style C fill:#fff3e0\n    style D fill:#e8f5e9\n    style E fill:#fce4ec\n    style F fill:#f3e5f5\n```\n\n### 实体类型详细说明\n\n| 类型标识 | 类型名称 | 识别模式 | 示例 |\n|---------|---------|---------|------|\n| PERSON | 人名 | 正则匹配 + 词典 | \"John Smith\", \"Alice\" |\n| ORG | 组织机构 | 正则匹配 + 词典 | \"Google\", \"MIT\" |\n| LOCATION | 地点 | 正则匹配 + 词典 | \"San Francisco\", \"Paris\" |\n| TIME | 时间表达式 | 正则匹配 | \"2024-01-15\", \"last Monday\" |\n| COMPOUND | 复合术语 | 词组模式匹配 | \"machine learning\", \"deep learning\" |\n\n### PERSON 类型识别\n\n人名实体识别基于以下策略组合：\n\n1. **首字母大写模式**：识别以大写字母开头的连续单词序列\n2. **已知人名词典**：通过预定义词典匹配常见人名\n3. **上下文信号**：结合动词和介词的上下文关系辅助判断\n\n```typescript\n// 参考: mem0-ts/src/oss/src/utils/entity_extraction.ts\nconst personNamePattern = /\\b([A-Z][a-z]+(?:\\s+[A-Z][a-z]+)+)\\b/g;\n```\n\n### ORG 类型识别\n\n组织机构识别涵盖以下类别：\n\n- **公司企业**：如 \"OpenAI\", \"Microsoft\", \"Tesla\"\n- **学术机构**：如 \"MIT\", \"Stanford University\", \"Oxford\"\n- **非营利组织**：如 \"World Health Organization\"\n\n组织机构识别使用正则表达式与词典结合的方式：\n\n```typescript\nconst orgPatterns = [\n  /\\b([A-Z][a-z]*(?:\\s+[A-Z][a-z]*)*\\s+(Inc|Corp|LLC|Ltd|Co)\\.?)\\b/gi,\n  /\\b([A-Z][a-z]*(?:\\s+[A-Z][a-z]*)*\\s+(University|Institute|College)\\b/gi\n];\n```\n\n### LOCATION 类型识别\n\n地点实体识别包括：\n\n- **城市名称**：如 \"Beijing\", \"London\", \"Tokyo\"\n- **国家名称**：如 \"United States\", \"China\", \"Germany\"\n- **地理标识**：如 \"Silicon Valley\", \"the Pacific\"\n\n### TIME 类型识别\n\n时间表达式支持以下格式：\n\n| 格式类型 | 示例 | 正则模式 |\n|---------|------|---------|\n| ISO日期 | 2024-01-15 | `\\d{4}-\\d{2}-\\d{2}` |\n| 美式日期 | 01/15/2024 | `\\d{1,2}/\\d{1,2}/\\d{4}` |\n| 自然语言 | last Monday | 上下文模式匹配 |\n| 相对时间 | two weeks ago | 词汇匹配 |\n\n### COMPOUND 复合术语识别\n\n复合术语是实体提取系统中最复杂的部分，用于识别由多个词组成的专业术语和技术概念。\n\n```mermaid\ngraph TD\n    A[输入文本] --> B[词组模式扫描]\n    B --> C{是否满足复合词条件?}\n    C -->|是| D[词形还原处理]\n    C -->|否| E[丢弃该词组]\n    D --> F{检查内容词}\n    F -->|有内容词| G[去除通用修饰词]\n    F -->|无内容词| E\n    G --> H{剩余词数>=2?}\n    H -->|是| I[标记为COMPOUND]\n    H -->|否| E\n    I --> J[规范化输出]\n```\n\n复合词识别规则：\n\n- **最小长度限制**：词组长度至少2个词，最多4个词\n- **总字符数**：词组总字符数必须大于5\n- **内容词检查**：至少包含一个非通用修饰的内容词\n- **尾部词汇过滤**：排除以通用词结尾的组合\n\n**通用头部词汇集合**（GENERIC_HEADS）：\n\n```typescript\nconst GENERIC_HEADS = new Set([\n  'system', 'platform', 'framework', 'solution', 'service',\n  'model', 'method', 'approach', 'tool', 'application'\n]);\n```\n\n**非特定形容词集合**（NON_SPECIFIC_ADJ）：\n\n```typescript\nconst NON_SPECIFIC_ADJ = new Set([\n  'new', 'old', 'good', 'great', 'best', 'latest', 'current',\n  'advanced', 'modern', 'popular', 'simple', 'basic'\n]);\n```\n\n## 核心算法流程\n\n### 实体提取完整流程\n\n```mermaid\nsequenceDiagram\n    participant U as 用户输入\n    participant T as 文本预处理\n    participant E as 实体提取\n    participant C as 分类器\n    participant L as 链接引擎\n    participant M as 记忆存储\n    \n    U->>T: 原始文本输入\n    T->>T: 分词与标准化\n    T->>E: 预处理后文本\n    E->>E: 正则模式匹配\n    E->>E: 词典匹配\n    E->>E: 复合词检测\n    E->>C: 候选实体列表\n    C->>C: 类型分类\n    C->>C: 置信度评估\n    C->>L: 分类后实体\n    L->>L: 去重处理\n    L->>L: 规范化\n    L->>M: 关联存储\n    M-->>U: 确认存储\n```\n\n### 复合词识别详细算法\n\n复合词识别的核心算法伪代码：\n\n```\n函数 extractCompoundEntities(text):\n    1. 初始化空结果列表\n    \n    2. 扫描文本查找 2-4 词的词组组合\n    \n    3. 对每个候选词组:\n       a. 检查总字符数 > 5\n       b. 获取词组最后一个词 (head)\n       c. 检查 head 是否在 GENERIC_HEADS 中\n       d. 如果在，则跳过该候选\n       e. 检查词组是否全为通用词\n       f. 如果全为通用词，则跳过\n       \n    4. 对通过初步检查的候选词组:\n       a. 过滤掉 NON_SPECIFIC_ADJ 中的词\n       b. 去除通用结尾词\n       c. 如果剩余词数 >= 2\n          则添加到结果列表\n          \n    5. 返回实体列表，每个实体包含:\n       - type: \"COMPOUND\"\n       - text: 规范化后的词组文本\n```\n\n### 实体链接机制\n\n实体链接模块负责将提取的实体与现有记忆进行关联：\n\n1. **共现分析**：检测实体在相同上下文中出现的频率\n2. **关系推断**：基于动词和介词推断实体间关系类型\n3. **时间关联**：关联具有时间属性的实体到对应时间点\n4. **层级关系**：识别实体间的上下级关系\n\n## API 与配置\n\n### Python SDK 接口\n\nMem0的Python SDK提供以下实体提取相关接口：\n\n```python\nfrom mem0 import Memory\n\n# 初始化记忆客户端\nmemory = Memory()\n\n# 添加包含实体的记忆\nresult = memory.add(\n    messages=[\n        {\"role\": \"user\", \"content\": \"Alice works at Google in San Francisco\"}\n    ],\n    user_id=\"user123\"\n)\n\n# 搜索相关记忆\nresults = memory.search(\n    query=\"Who works at Google?\",\n    user_id=\"user123\"\n)\n```\n\n### 配置参数\n\n| 参数名称 | 类型 | 默认值 | 说明 |\n|---------|------|--------|------|\n| `embedding_model` | string | \"text-embedding-3-small\" | 向量嵌入模型 |\n| `llm_model` | string | \"gpt-4\" | 用于实体提取的LLM模型 |\n| `entity_types` | list | [\"PERSON\", \"ORG\", \"LOCATION\", \"TIME\", \"COMPOUND\"] | 要识别的实体类型 |\n| `enable_graph` | bool | false | 启用图结构实体关联 |\n| `similarity_threshold` | float | 0.7 | 实体相似度匹配阈值 |\n\n### TypeScript SDK 接口\n\n```typescript\nimport { Memory } from 'mem0-ts';\n\nconst memory = new Memory({\n  embedder: {\n    provider: 'openai',\n    config: {\n      apiKey: process.env.OPENAI_API_KEY,\n      model: 'text-embedding-3-small'\n    }\n  },\n  llm: {\n    config: {\n      apiKey: process.env.OPENAI_API_KEY,\n      model: 'gpt-4'\n    }\n  }\n});\n\n// 添加记忆并触发实体提取\nawait memory.add('John visited the Stanford University campus yesterday');\n\n// 检索相关实体记忆\nconst results = await memory.search('Who did John visit?');\n```\n\n## 规范化与评分\n\n### 词形还原（Lemmatization）\n\n词形还原模块负责将提取的实体还原为其标准形式：\n\n```mermaid\ngraph LR\n    A[原始形式] --> B[词性标注]\n    B --> C{词性判断}\n    C -->|名词| D[名词还原规则]\n    C -->|动词| E[动词还原规则]\n    C -->|形容词| F[形容词还原规则]\n    D --> G[标准形式输出]\n    E --> G\n    F --> G\n```\n\n词形还原规则示例：\n\n| 原始形式 | 词性 | 还原后 |\n|---------|------|--------|\n| working | 动词 | work |\n| mice | 名词 | mouse |\n| better | 形容词 | good |\n| studies | 动词 | study |\n\n### 实体评分系统\n\n评分模块用于评估实体的重要性，影响记忆的优先级和检索排序：\n\n| 评分维度 | 权重 | 计算方式 |\n|---------|------|---------|\n| 出现频率 | 0.3 | 实体在历史中出现的次数 |\n| 上下文相关性 | 0.25 | 与当前查询的语义相似度 |\n| 时间新鲜度 | 0.2 | 最近提及距今的时间 |\n| 实体类型重要性 | 0.15 | 预定义的类型权重 |\n| 唯一性 | 0.1 | 实体在知识库中的稀有程度 |\n\n## CLI 工具支持\n\nMem0 CLI提供完整的实体管理命令：\n\n```bash\n# 查看用户相关的所有实体\nmem0 entity list users\n\n# 查看代理实体\nmem0 entity list agents --output json\n\n# 删除特定用户及其关联的所有实体\nmem0 entity delete --user-id alice --force\n\n# 搜索包含特定实体的记忆\nmem0 search \"Google\" --user-id alice --output json\n\n# 列出特定用户的记忆\nmem0 list --user-id alice --category preferences\n```\n\n## 使用最佳实践\n\n### 提高实体识别准确率\n\n1. **提供明确的上下文**：在输入中包含清晰的实体上下文信息\n2. **使用标准命名**：遵循一致的命名约定（如首字母大写）\n3. **避免歧义**：对于可能产生歧义的实体，提供额外的限定词\n\n### 复合术语识别优化\n\n1. **使用标准术语**：采用业界通用的复合术语命名\n2. **避免过度缩写**：完整术语比缩写更容易被识别\n3. **分隔符使用**：使用空格分隔复合词，避免连字符或无分隔符\n\n### 性能优化建议\n\n| 场景 | 优化策略 |\n|------|---------|\n| 大量实体处理 | 启用批量处理模式 |\n| 实时应用 | 启用缓存机制 |\n| 高精度需求 | 使用更大的LLM模型 |\n| 成本敏感 | 使用轻量级模型配合规则引擎 |\n\n## 技术限制与已知问题\n\n### 当前限制\n\n1. **嵌套实体**：暂不支持嵌套实体结构的识别\n2. **跨语言实体**：主要针对英语文本优化，其他语言支持有限\n3. **歧义消解**：实体消歧能力依赖于上下文信息丰富度\n4. **动态实体**：实时更新的实体（如新闻事件）识别存在延迟\n\n### 未来改进方向\n\n- 增强多语言支持能力\n- 引入更先进的命名实体识别模型\n- 支持自定义实体类型和识别规则\n- 改进跨文档实体追踪能力\n\n## 相关文档\n\n- [Mem0 Python SDK 文档](../sdks/python/README.md)\n- [Mem0 TypeScript SDK 文档](../sdks/typescript/README.md)\n- [记忆检索系统](./memory_retrieval.md)\n- [向量存储架构](./vector_store.md)\n\n---\n\n<a id='page-llm-integrations'></a>\n\n## LLM模型集成\n\n### 相关页面\n\n相关主题：[嵌入模型配置](#page-embeddings), [向量数据库支持](#page-vector-stores)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/llms/openai.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/openai.py)\n- [mem0/llms/anthropic.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/anthropic.py)\n- [mem0/llms/azure_openai.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/azure_openai.py)\n- [mem0/llms/base.py](https://github.com/mem0ai/mem0/blob/main/mem0/llms/base.py)\n- [docs/components/llms/overview.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/llms/overview.mdx)\n- [docs/components/llms/models/openai.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/llms/models/openai.mdx)\n</details>\n\n# LLM模型集成\n\n## 概述\n\nmem0 平台提供了灵活的 LLM（大语言模型）集成框架，允许用户连接不同的 LLM 提供商来处理记忆检索、生成和推理任务。通过统一的抽象接口设计，mem0 支持 OpenAI、Anthropic (Claude)、Azure OpenAI 等主流 LLM 服务商，用户可以根据需求选择和切换不同的模型。\n\n## 架构设计\n\nmem0 的 LLM 集成采用**基类继承 + 具体实现**的设计模式。`BaseLlm` 作为所有 LLM 提供商的抽象基类，定义了统一的接口规范，各具体 LLM 类继承该基类并实现特定平台的调用逻辑。\n\n```mermaid\ngraph TD\n    A[用户配置] --> B[Config 配置类]\n    B --> C{LLM 提供商类型}\n    C -->|OpenAI| D[OpenAILlm]\n    C -->|Anthropic| E[AnthropicLlm]\n    C -->|Azure| F[AzureOpenAILlm]\n    D --> G[BaseLlm 抽象基类]\n    E --> G\n    F --> G\n    G --> H[generate 方法]\n    G --> I[generate_response 方法]\n```\n\n所有 LLM 实现类均继承自 `BaseLlm`，继承关系如下：\n\n```mermaid\ngraph TD\n    A[BaseLlm] --> B[OpenAILlm]\n    A --> C[AnthropicLlm]\n    A --> D[AzureOpenAILlm]\n```\n\n资料来源：[mem0/llms/base.py:1-50]()\n\n## BaseLlm 抽象基类\n\n`BaseLlm` 定义了 LLM 集成的核心接口规范，包含以下关键方法：\n\n| 方法名 | 功能描述 | 返回类型 |\n|--------|----------|----------|\n| `generate` | 根据提示词生成文本响应 | `str` |\n| `generate_response` | 生成结构化响应对象 | 响应对象 |\n\n资料来源：[mem0/llms/base.py:1-50]()\n\n### 基类核心属性\n\n```python\nclass BaseLlm:\n    def __init__(self, model: str = None, temperature: float = None, **kwargs):\n        self.model = model\n        self.temperature = temperature\n```\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | `str` | `None` | 模型名称/标识符 |\n| `temperature` | `float` | `None` | 生成温度参数 (0.0-1.0) |\n| `**kwargs` | `dict` | - | 其他提供商特定参数 |\n\n## OpenAI 集成\n\n`OpenAILlm` 类实现了 OpenAI API 的集成，支持 GPT-4、GPT-3.5-Turbo 等模型。\n\n### 初始化配置\n\n```python\nfrom mem0.llms.openai import OpenAILlm\n\nllm = OpenAILlm(\n    model=\"gpt-4\",\n    temperature=0.7,\n    api_key=\"your-api-key\"  # 可通过环境变量 OPENAI_API_KEY 设置\n)\n```\n\n资料来源：[mem0/llms/openai.py:1-100]()\n\n### 环境变量配置\n\n| 环境变量 | 说明 |\n|----------|------|\n| `OPENAI_API_KEY` | OpenAI API 密钥 |\n| `OPENAI_API_BASE` | API 基础 URL（可选，用于代理或自定义端点） |\n\n## Anthropic (Claude) 集成\n\n`AnthropicLlm` 类实现了 Anthropic Claude 模型的集成。\n\n### 初始化配置\n\n```python\nfrom mem0.llms.anthropic import AnthropicLlm\n\nllm = AnthropicLlm(\n    model=\"claude-3-opus-20240229\",\n    temperature=0.7,\n    api_key=\"your-api-key\"  # 可通过环境变量 ANTHROPIC_API_KEY 设置\n)\n```\n\n资料来源：[mem0/llms/anthropic.py:1-100]()\n\n### 环境变量配置\n\n| 环境变量 | 说明 |\n|----------|------|\n| `ANTHROPIC_API_KEY` | Anthropic API 密钥 |\n| `ANTHROPIC_API_BASE` | API 基础 URL（可选） |\n\n## Azure OpenAI 集成\n\n`AzureOpenAILlm` 类实现了 Azure OpenAI Service 的集成，适用于企业级部署场景。\n\n### 初始化配置\n\n```python\nfrom mem0.llms.azure_openai import AzureOpenAILlm\n\nllm = AzureOpenAILlm(\n    model=\"gpt-4\",\n    temperature=0.7,\n    api_key=\"your-api-key\",\n    api_base=\"https://your-resource.openai.azure.com\",\n    api_version=\"2024-02-01\"  # Azure API 版本\n)\n```\n\n资料来源：[mem0/llms/azure_openai.py:1-100]()\n\n### Azure 特定配置参数\n\n| 参数 | 说明 | 必需 |\n|------|------|------|\n| `api_base` | Azure 资源端点 URL | 是 |\n| `api_version` | Azure API 版本号 | 是 |\n| `api_type` | 固定值 `azure` | 是 |\n\n## 使用流程\n\nmem0 中 LLM 的典型使用流程如下：\n\n```mermaid\ngraph LR\n    A[创建 Config] --> B[初始化 LLM 实例]\n    B --> C[调用 generate/generate_response]\n    C --> D[返回结果]\n```\n\n### 完整使用示例\n\n```python\nfrom mem0.llms.openai import OpenAILlm\n\n# 方式一：直接初始化\nllm = OpenAILlm(model=\"gpt-4\", temperature=0.0)\n\n# 方式二：通过配置初始化\nllm = OpenAILlm.from_config({\n    \"model\": \"gpt-4\",\n    \"temperature\": 0.7\n})\n\n# 调用生成方法\nresponse = llm.generate(\"What is the capital of France?\")\n```\n\n## 配置管理\n\nmem0 支持通过配置文件或代码方式管理 LLM 配置。\n\n### 配置优先级\n\n```\n环境变量 > 代码参数 > 配置文件默认值\n```\n\n### 常用配置模板\n\n| 提供商 | 推荐模型 | 适用场景 |\n|--------|----------|----------|\n| OpenAI | `gpt-4` / `gpt-3.5-turbo` | 通用场景、高质量生成 |\n| Anthropic | `claude-3-opus` / `claude-3-sonnet` | 长文本理解、复杂推理 |\n| Azure OpenAI | `gpt-4` (企业部署) | 企业合规、数据隐私 |\n\n## 模型参数说明\n\n### Temperature 参数\n\n| 值范围 | 行为特征 | 适用场景 |\n|--------|----------|----------|\n| 0.0 - 0.3 | 确定性强、一致性高 | 事实问答、结构化输出 |\n| 0.4 - 0.7 | 平衡创造性与准确性 | 通用对话、内容生成 |\n| 0.8 - 1.0 | 高度创造性、多样性强 | 创意写作、头脑风暴 |\n\n## 扩展新的 LLM 提供商\n\n如需集成新的 LLM 提供商，需遵循以下步骤：\n\n```mermaid\ngraph TD\n    A[创建新文件如 mem0/llms/new_provider.py] --> B[继承 BaseLlm 类]\n    B --> C[实现 generate 方法]\n    C --> D[实现 generate_response 方法]\n    D --> E[添加环境变量支持]\n    E --> F[更新文档和导出]\n```\n\n```python\nfrom mem0.llms.base import BaseLlm\n\nclass NewProviderLlm(BaseLlm):\n    def __init__(self, model: str = None, **kwargs):\n        super().__init__(model=model, **kwargs)\n    \n    def generate(self, prompt: str) -> str:\n        # 实现提供商特定的调用逻辑\n        pass\n```\n\n## 常见问题\n\n### Q: 如何选择合适的 LLM 提供商？\n\n**A**: 根据以下因素选择：\n\n- **数据隐私要求**：企业场景优先选择 Azure OpenAI\n- **成本控制**：GPT-3.5-Turbo 成本较低，适合大量调用\n- **任务复杂度**：复杂推理任务推荐 Claude-3-Opus 或 GPT-4\n\n### Q: API 密钥如何安全配置？\n\n**A**: 推荐使用环境变量方式配置，避免在代码中硬编码密钥：\n\n```bash\nexport OPENAI_API_KEY=\"sk-...\"\nexport ANTHROPIC_API_KEY=\"sk-ant-...\"\n```\n\n## 相关资源\n\n- [LLM 概述文档](https://github.com/mem0ai/mem0/blob/main/docs/components/llms/overview.mdx)\n- [OpenAI 详细配置](https://github.com/mem0ai/mem0/blob/main/docs/components/llms/models/openai.mdx)\n- [mem0 源码仓库](https://github.com/mem0ai/mem0)\n\n---\n\n<a id='page-vector-stores'></a>\n\n## 向量数据库支持\n\n### 相关页面\n\n相关主题：[嵌入模型配置](#page-embeddings)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [evaluation/README.md](https://github.com/mem0ai/mem0/blob/main/evaluation/README.md)\n- [server/dashboard/src/app/(root)/dashboard/configuration/page.tsx](https://github.com/mem0ai/mem0/blob/main/server/dashboard/src/app/(root)/dashboard/configuration/page.tsx)\n- [cli/node/README.md](https://github.com/mem0ai/mem0/blob/main/cli/node/README.md)\n- [cli/python/README.md](https://github.com/mem0ai/mem0/blob/main/cli/python/README.md)\n- [docs/components/vectordbs/overview.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/vectordbs/overview.mdx)\n</details>\n\n# 向量数据库支持\n\n## 概述\n\nMem0 平台提供了灵活的向量数据库集成能力，支持多种向量存储后端以满足不同的部署需求和性能要求。向量数据库在 Mem0 架构中承担着核心角色，负责存储和检索记忆（Memories）的高维向量嵌入表示，从而实现语义化的记忆搜索功能。\n\n向量数据库支持使 Mem0 能够：\n\n- **存储语义向量**：将记忆内容转换为高维向量进行高效存储\n- **语义相似度搜索**：基于向量距离算法返回相关内容\n- **可扩展部署**：支持本地和云端等多种部署方案 资料来源：[evaluation/README.md]()\n\n## 架构设计\n\nMem0 的向量数据库支持采用模块化的设计理念，通过统一的抽象接口连接不同的向量存储后端。\n\n```mermaid\ngraph TD\n    A[用户请求] --> B[Mem0 Core]\n    B --> C{向量存储层}\n    C --> D[Pinecone]\n    C --> E[Qdrant]\n    C --> F[Chroma]\n    C --> G[Weaviate]\n    C --> H[FAISS 本地]\n    D --> I[云端向量数据库]\n    E --> J[自托管 / 云端]\n    H --> K[本地文件系统]\n```\n\n### 核心组件\n\n| 组件 | 职责 | 支持类型 |\n|------|------|---------|\n| **向量存储抽象层** | 定义统一的向量操作接口 | BaseVectorStore |\n| **嵌入模型配置** | 管理文本到向量的转换 | OpenAI、Aziere、Cohere 等 |\n| **查询路由** | 根据配置选择合适的存储后端 | 动态路由 |\n| **元数据管理** | 处理记忆的附加属性 | 标签、来源、时间戳 |\n\n资料来源：[server/dashboard/src/app/(root)/dashboard/configuration/page.tsx]()\n\n## 嵌入模型配置\n\nMem0 支持配置多种嵌入模型来生成向量表示。嵌入模型的选择直接影响记忆检索的质量和性能。\n\n### 配置参数\n\n| 参数 | 说明 | 默认值 |\n|------|------|--------|\n| `EMBEDDING_MODEL` | 嵌入模型名称 | text-embedding-3-small |\n| `embedder_provider` | 嵌入服务提供商 | OpenAI |\n| `embedder_model` | 具体模型标识 | text-embedding-3-small |\n\n### 支持的嵌入提供商\n\nMem0 平台原生支持以下嵌入服务提供商：\n\n- **OpenAI**：使用 text-embedding-3-small 或 text-embedding-ada-002\n- **Azure OpenAI**：通过 Azure 平台部署的 OpenAI 模型\n- **Cohere**：支持 Cohere Embed 系列产品\n- **自定义提供商**：支持扩展其他嵌入服务\n\n配置示例（来自评估脚本）：\n\n```bash\nexport EMBEDDING_MODEL=\"text-embedding-3-small\"  # 或您偏好的嵌入模型\n```\n\n资料来源：[evaluation/README.md:1-5]()\n\n## 向量存储后端\n\n### 云端向量数据库\n\n#### Pinecone\n\nPinecone 是 Mem0 推荐的生产环境向量存储方案之一，提供完全托管的向量数据库服务。\n\n**特点**：\n\n- 无服务器架构，自动扩缩容\n- 支持毫秒级查询延迟\n- 内置高可用性和灾备机制\n\n#### Qdrant\n\nQdrant 是开源的向量相似度搜索引擎，支持自托管和云端部署。\n\n**特点**：\n\n- 支持元数据过滤\n- 提供 gRPC 和 RESTful API\n- 支持混合搜索（稀疏 + 密集向量）\n\n### 本地向量数据库\n\n对于开发和测试场景，Mem0 支持使用本地向量数据库：\n\n| 后端 | 适用场景 | 特点 |\n|------|---------|------|\n| FAISS | 小规模数据 | 高性能、内存密集 |\n| Chroma | 原型开发 | 简单易用、Python 原生 |\n| SQLite (向量扩展) | 轻量级应用 | 零依赖、嵌入式 |\n\n资料来源：[cli/python/README.md]()\n\n## 配置管理\n\n### 通过 Dashboard 配置\n\nMem0 Dashboard 提供了图形化的配置界面，可以配置 LLM 模型和嵌入模型：\n\n```typescript\n// 配置卡片组件结构\ninterface ConfigCard {\n  provider: Select;  // 提供商选择\n  model: Input;      // 模型名称输入\n  apiKey: Input;     // API 密钥（受保护）\n}\n```\n\n配置路径：`Dashboard > Configuration > Embedding Model`\n\n### 通过 CLI 配置\n\nMem0 CLI 提供了命令行配置管理功能：\n\n```bash\n# 查看当前配置\nmem0 config show\n\n# 获取特定配置项\nmem0 config get api_key\n\n# 设置配置值\nmem0 config set user_id alice\n```\n\n资料来源：[cli/node/README.md]()\n资料来源：[cli/python/README.md]()\n\n## 使用流程\n\n### 添加记忆到向量存储\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant M as Mem0\n    participant E as 嵌入模型\n    participant V as 向量数据库\n    \n    U->>M: 添加记忆\n    M->>E: 发送文本\n    E-->>M: 返回向量嵌入\n    M->>V: 存储向量 + 元数据\n    V-->>M: 确认存储\n    M-->>U: 返回记忆 ID\n```\n\n### 搜索记忆\n\n```mermaid\nsequenceDiagram\n    participant U as 用户\n    participant M as Mem0\n    participant E as 嵌入模型\n    participant V as 向量数据库\n    \n    U->>M: 语义搜索查询\n    M->>E: 查询文本\n    E-->>M: 返回查询向量\n    M->>V: 相似度搜索\n    V-->>M: 返回相关记忆\n    M-->>U: 返回结果列表\n```\n\n## 实验与评估\n\nMem0 提供了完整的评估框架，支持对不同向量数据库配置进行性能对比：\n\n```bash\n# Mem0 实验\nmake run-mem0-add         # 使用 Mem0 添加记忆\nmake run-mem0-search      # 使用 Mem0 搜索记忆\n\n# Mem0+ 实验（带图搜索）\nmake run-mem0-plus-add    # Mem0+ 添加\nmake run-mem0-plus-search # Mem0+ 搜索\n\n# RAG 对比实验\nmake run-rag              # 标准 RAG（块大小 500）\nmake run-full-context     # 全上下文 RAG\n```\n\n### 实验参数\n\n| 参数 | 说明 | 默认值 |\n|------|------|--------|\n| `--technique_type` | 记忆技术类型 | mem0 |\n| `--method` | 操作方法 | add |\n| `--chunk_size` | 处理块大小 | 1000 |\n| `--top_k` | 返回结果数量 | - |\n\n资料来源：[evaluation/README.md:30-50]()\n\n## 扩展新的向量数据库\n\nMem0 的向量存储层设计为可扩展的，要添加新的向量数据库后端，需要：\n\n1. **实现基类接口**：继承 `BaseVectorStore` 抽象类\n2. **实现核心方法**：\n   - `add_vectors()` - 添加向量\n   - `search()` - 相似度搜索\n   - `delete()` - 删除向量\n3. **配置支持**：在配置系统中注册新的存储类型\n\n## 注意事项\n\n- 嵌入模型的选择直接影响检索质量，建议在生产环境使用经过验证的模型（如 OpenAI text-embedding-3-small）\n- 云端向量数据库（如 Pinecone）需要配置相应的 API 密钥\n- 本地向量数据库适合开发和测试，生产环境建议使用托管服务\n- Mem0 支持扩展其他 Python 包来增加新的提供商支持\n\n资料来源：[server/dashboard/src/app/(root)/dashboard/configuration/page.tsx]()\n\n## 相关资源\n\n- [向量数据库概述](../vectordbs/overview.mdx)\n- [Pinecone 配置指南](../vectordbs/dbs/pinecone.mdx)\n- [Mem0 官方文档](https://docs.mem0.ai)\n\n---\n\n<a id='page-embeddings'></a>\n\n## 嵌入模型配置\n\n### 相关页面\n\n相关主题：[LLM模型集成](#page-llm-integrations), [向量数据库支持](#page-vector-stores)\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [mem0/embeddings/openai.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/openai.py)\n- [mem0/embeddings/huggingface.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/huggingface.py)\n- [mem0/embeddings/base.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/base.py)\n- [docs/components/embedders/overview.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/embedders/overview.mdx)\n- [docs/components/embedders/models/openai.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/embedders/models/openai.mdx)\n</details>\n\n# 嵌入模型配置\n\n## 概述\n\n嵌入模型（Embedding Model）是 Mem0 记忆系统的核心组件之一，负责将文本内容转换为高维向量表示，以便进行语义搜索和相似度匹配。Mem0 支持多种嵌入模型提供商，包括 OpenAI、Hugging Face、Ollama 等。\n\n嵌入模型的主要作用包括：\n- 将用户消息、记忆内容转换为向量表示\n- 支持语义相似度搜索\n- 驱动记忆检索的准确性\n- 提供可插拔的嵌入提供商架构\n\n资料来源：[evaluation/README.md](https://github.com/mem0ai/mem0/blob/main/evaluation/README.md)\n\n## 架构设计\n\nMem0 采用模块化的嵌入模型架构，核心组件如下：\n\n```mermaid\ngraph TD\n    A[用户消息] --> B[嵌入模型接口]\n    B --> C{提供商选择}\n    C -->|OpenAI| D[OpenAI 嵌入]\n    C -->|HuggingFace| E[HuggingFace 嵌入]\n    C -->|Ollama| F[Ollama 嵌入]\n    C -->|其他| G[自定义提供者]\n    D --> H[向量存储]\n    E --> H\n    F --> H\n    G --> H\n```\n\n### 基类设计\n\n所有嵌入模型都继承自 `BaseEmbedder` 基类，定义统一的接口规范：\n\n```mermaid\nclassDiagram\n    class BaseEmbedder {\n        <<abstract>>\n        +embed(text: str) List[float]\n        +embed_batch(texts: List[str]) List[List[float]]\n        +get_vector_dimension() int\n    }\n    \n    class OpenAIEmbedder {\n        +embed(text: str) List[float]\n        +embed_batch(texts: List[str]) List[List[float]]\n    }\n    \n    class HuggingFaceEmbedder {\n        +embed(text: str) List[float]\n        +embed_batch(texts: List[str]) List[List[float]]\n    }\n    \n    BaseEmbedder <|-- OpenAIEmbedder\n    BaseEmbedder <|-- HuggingFaceEmbedder\n```\n\n资料来源：[mem0/embeddings/base.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/base.py)\n\n## 支持的嵌入模型提供商\n\n### OpenAI\n\nOpenAI 提供高性能的嵌入模型，适合生产环境使用。\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | string | `text-embedding-3-small` | 嵌入模型名称 |\n| `api_key` | string | 环境变量 | OpenAI API 密钥 |\n| `base_url` | string | `https://api.openai.com/v1` | API 基础 URL |\n\n常用模型：\n- `text-embedding-3-small`：性价比最高，适合大多数场景\n- `text-embedding-3-large`：精度更高，维度更大\n- `text-embedding-ada-002`：经典模型，兼容性最好\n\n资料来源：[docs/components/embedders/models/openai.mdx](https://github.com/mem0ai/mem0/blob/main/docs/components/embedders/models/openai.mdx)\n\n### Hugging Face\n\nHugging Face 提供开源嵌入模型，支持本地部署。\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | string | 必需 | 模型名称或路径 |\n| `api_key` | string | 环境变量 | Hugging Face API 密钥 |\n| `device` | string | `cpu` | 运行设备 |\n\n资料来源：[mem0/embeddings/huggingface.py](https://github.com/mem0ai/mem0/blob/main/mem0/embeddings/huggingface.py)\n\n### Ollama\n\nOllama 支持本地运行的 LLM 和嵌入模型，适合隐私敏感场景。\n\n| 参数 | 类型 | 默认值 | 说明 |\n|------|------|--------|------|\n| `model` | string | `nomic-embed-text` | Ollama 模型名称 |\n| `base_url` | string | `http://localhost:11434` | Ollama 服务地址 |\n\n资料来源：[openmemory/README.md](https://github.com/mem0ai/mem0/blob/main/openmemory/README.md)\n\n## 配置方法\n\n### 环境变量配置\n\nMem0 支持通过环境变量配置嵌入模型：\n\n```bash\n# OpenAI 配置\nEMBEDDER_PROVIDER=openai\nEMBEDDER_MODEL=text-embedding-3-small\nEMBEDDER_API_KEY=sk-...\n\n# Ollama 配置（本地部署）\nEMBEDDER_PROVIDER=ollama\nEMBEDDER_MODEL=nomic-embed-text\nOLLAMA_BASE_URL=http://localhost:11434\n```\n\n### 代码配置\n\n在 Python 代码中配置嵌入模型：\n\n```python\nfrom mem0 import Memory\n\nconfig = {\n    \"embedder\": {\n        \"provider\": \"openai\",\n        \"config\": {\n            \"model\": \"text-embedding-3-small\",\n            \"api_key\": \"sk-...\"\n        }\n    }\n}\n\nmemory = Memory.from_config(config)\n```\n\n### TypeScript 配置\n\nTypeScript 版本的 Mem0 同样支持嵌入模型配置：\n\n```typescript\nimport { Memory } from \"mem0-ts\";\n\nconst memory = new Memory({\n    embedder: {\n        provider: \"openai\",\n        config: {\n            apiKey: process.env.OPENAI_API_KEY,\n            model: \"text-embedding-3-small\"\n        }\n    }\n});\n```\n\n资料来源：[mem0-ts/src/oss/README.md](https://github.com/mem0ai/mem0/blob/main/mem0-ts/src/oss/README.md)\n\n## 仪表盘配置\n\nMem0 Web 仪表盘提供了可视化的嵌入模型配置界面。\n\n### 配置界面路径\n\n`/dashboard/configuration` 页面允许用户配置嵌入模型设置。\n\n### 配置项\n\n| 配置项 | 类型 | 说明 |\n|--------|------|------|\n| Provider | 下拉选择 | 嵌入模型提供商 |\n| Model | 文本输入 | 模型名称，如 `text-embedding-3-small` |\n\n```tsx\n<div className=\"space-y-1\">\n    <Label className=\"text-xs\">Model</Label>\n    <Input\n        placeholder=\"text-embedding-3-small\"\n        value={embedderModel}\n        onChange={(e) => setEmbedderModel(e.target.value)}\n        disabled={!isAdmin}\n    />\n</div>\n```\n\n资料来源：[server/dashboard/src/app/(root)/dashboard/configuration/page.tsx](https://github.com/mem0ai/mem0/blob/main/server/dashboard/src/app/(root)/dashboard/configuration/page.tsx)\n\n## 配置优先级\n\nMem0 按照以下优先级确定嵌入模型配置：\n\n```mermaid\ngraph LR\n    A[代码配置] --> B[最高优先级]\n    C[环境变量] --> D[次优先级]\n    E[默认配置] --> F[最低优先级]\n```\n\n1. **代码配置**：通过 `Memory.from_config()` 或构造函数直接传入\n2. **环境变量**：通过 `EMBEDDER_*` 系列环境变量设置\n3. **默认配置**：使用库内置的默认模型和参数\n\n## 批量嵌入\n\n嵌入模型支持批量处理多个文本，提高处理效率：\n\n```python\nfrom mem0.embeddings.openai import OpenAIEmbedder\n\nembedder = OpenAIEmbedder()\n\n# 单条嵌入\nvector = embedder.embed(\"用户的第一条消息\")\n\n# 批量嵌入\ntexts = [\"消息1\", \"消息2\", \"消息3\"]\nvectors = embedder.embed_batch(texts)\n```\n\n批量嵌入的工作流程：\n\n```mermaid\nsequenceDiagram\n    participant 用户\n    participant Embedder\n    participant API\n    \n    用户->>Embedder: embed_batch([文本列表])\n    Embedder->>Embedder: 分批处理\n    loop 每批最多50条\n        Embedder->>API: 批量请求\n        API-->>Embedder: 向量列表\n    end\n    Embedder-->>用户: 完整向量列表\n```\n\n## 扩展自定义嵌入模型\n\n可以通过实现 `BaseEmbedder` 接口添加新的嵌入模型提供商：\n\n```python\nfrom mem0.embeddings.base import BaseEmbedder\n\nclass CustomEmbedder(BaseEmbedder):\n    def __init__(self, config: dict):\n        self.model = config.get(\"model\")\n        self.api_key = config.get(\"api_key\")\n    \n    def embed(self, text: str) -> List[float]:\n        # 实现嵌入逻辑\n        pass\n    \n    def embed_batch(self, texts: List[str]) -> List[List[float]]:\n        # 实现批量嵌入逻辑\n        pass\n    \n    def get_vector_dimension(self) -> int:\n        return self.dimension\n```\n\n注册自定义嵌入器：\n\n```python\nMemory.register_embedder(\"custom\", CustomEmbedder)\n```\n\n## 最佳实践\n\n### 生产环境建议\n\n| 场景 | 推荐配置 |\n|------|----------|\n| 通用应用 | OpenAI `text-embedding-3-small` |\n| 高精度需求 | OpenAI `text-embedding-3-large` |\n| 隐私敏感 | Ollama + `nomic-embed-text` |\n| 开源项目 | Hugging Face Sentence Transformers |\n\n### 性能优化\n\n1. **选择合适的模型维度**：低维度模型（如 384 维）速度快，高维度模型（如 1536 维）精度高\n2. **使用批量 API**：减少 API 调用次数\n3. **启用缓存**：对于重复的查询启用向量缓存\n4. **本地部署**：Ollama 适合对延迟要求高的场景\n\n### 安全建议\n\n- API 密钥应存储在环境变量或密钥管理服务中\n- 避免在代码中硬编码密钥\n- 定期轮换 API 密钥\n\n## 常见问题\n\n### Q: 如何切换不同的嵌入模型？\n\n可以通过修改配置文件或环境变量来切换嵌入模型：\n\n```python\n# 切换到 HuggingFace\nconfig = {\n    \"embedder\": {\n        \"provider\": \"huggingface\",\n        \"config\": {\n            \"model\": \"sentence-transformers/all-MiniLM-L6-v2\"\n        }\n    }\n}\nmemory = Memory.from_config(config)\n```\n\n### Q: 支持哪些向量维度？\n\n| 模型 | 向量维度 |\n|------|----------|\n| `text-embedding-3-small` | 1536 |\n| `text-embedding-3-large` | 3072 |\n| `text-embedding-ada-002` | 1536 |\n| `nomic-embed-text` | 768 |\n| `all-MiniLM-L6-v2` | 384 |\n\n### Q: 如何处理嵌入模型供应商故障？\n\n建议实现 fallback 机制：\n\n```python\ntry:\n    memory = Memory.from_config(primary_config)\nexcept EmbedderUnavailableError:\n    memory = Memory.from_config(fallback_config)\n\n---\n\n<a id='page-agent-integrations'></a>\n\n## 智能体框架集成\n\n<details>\n<summary>相关源码文件</summary>\n\n以下源码文件用于生成本页说明：\n\n- [skills/mem0/SKILL.md](https://github.com/mem0ai/mem0/blob/main/skills/mem0/SKILL.md)\n- [mem0-plugin/skills/mem0/SKILL.md](https://github.com/mem0ai/mem0/blob/main/mem0-plugin/skills/mem0/SKILL.md)\n- [vercel-ai-sdk/src/mem0-provider.ts](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/src/mem0-provider.ts)\n- [docs/integrations/langgraph.mdx](https://github.com/mem0ai/mem0/blob/main/docs/integrations/langgraph.mdx)\n- [docs/integrations/crewai.mdx](https://github.com/mem0ai/mem0/blob/main/docs/integrations/crewai.mdx)\n- [docs/integrations/llama-index.mdx](https://github.com/mem0ai/mem0/blob/main/docs/integrations/llama-index.mdx)\n</details>\n\n# 智能体框架集成\n\n## 概述\n\nmem0 提供了与多种主流智能体框架的深度集成能力，使 AI 智能体能够具备持久记忆和上下文理解功能。通过这些集成，开发者可以在 LangGraph、CrewAI、LlamaIndex 等框架中无缝使用 mem0 的记忆层，实现跨对话的长期信息保持和个性化交互。\n\nmem0 的智能体框架集成主要解决以下问题：\n- **记忆持久化**：在不同对话轮次间保持用户偏好和历史信息\n- **上下文增强**：为智能体提供相关历史记忆作为上下文补充\n- **多智能体协作**：支持复杂多智能体系统中的记忆共享与隔离\n\n## 集成架构\n\nmem0 与智能体框架的集成采用统一的适配层架构，不同框架通过各自的集成方式与 mem0 的核心记忆功能交互。\n\n```mermaid\ngraph TB\n    subgraph 智能体框架层\n        LG[LangGraph 智能体]\n        CA[CrewAI 智能体]\n        LI[LlamaIndex 智能体]\n        VA[Vercel AI SDK]\n    end\n    \n    subgraph mem0 集成适配层\n        LG_INTEGRATION[LangGraph 集成]\n        CA_INTEGRATION[CrewAI 集成]\n        LI_INTEGRATION[LlamaIndex 集成]\n        MEM0_PROVIDER[Mem0 Provider]\n    end\n    \n    subgraph mem0 核心层\n        MEM0[mem0 记忆管理]\n        GRAPH[向量图谱]\n        STORAGE[持久化存储]\n    end\n    \n    LG --> LG_INTEGRATION\n    CA --> CA_INTEGRATION\n    LI --> LI_INTEGRATION\n    VA --> MEM0_PROVIDER\n    \n    LG_INTEGRATION --> MEM0\n    CA_INTEGRATION --> MEM0\n    LI_INTEGRATION --> MEM0\n    MEM0_PROVIDER --> MEM0\n    \n    MEM0 --> GRAPH\n    MEM0 --> STORAGE\n```\n\n## LangGraph 集成\n\n### 功能描述\n\nLangGraph 是基于 LangChain 构建的图状工作流框架，mem0 提供了专门的 `MemorySaver` 检查点机制和工具函数，用于在 LangGraph 状态机中持久化记忆。资料来源：[docs/integrations/langgraph.mdx:1-50]()\n\n### 核心组件\n\n| 组件名称 | 类型 | 功能说明 |\n|---------|------|----------|\n| MemorySaver | 检查点Saver | 将 mem0 记忆作为 LangGraph 状态检查点持久化 |\n| add_memory | 工具函数 | 向 mem0 添加新的记忆条目 |\n| search_memories | 工具函数 | 搜索相关历史记忆 |\n| get_memory_context | 工具函数 | 获取格式化的记忆上下文 |\n\n### 使用示例\n\n```python\nfrom langgraph.graph import StateGraph, START, END\nfrom langgraph.checkpoint.memory import MemorySaver\nfrom mem0 import Memory\n\n# 初始化 mem0 记忆实例\nmemory = Memory()\n\n# 创建 LangGraph 工作流\nworkflow = StateGraph(state)\n\n# 定义记忆添加工具\n@tool\ndef add_memory_tool(user_id: str, agent_id: str, memory_content: str):\n    \"\"\"将智能体生成的内容添加到记忆\"\"\"\n    memory.add(\n        messages=[{\"role\": \"user\", \"content\": memory_content}],\n        user_id=user_id,\n        agent_id=agent_id\n    )\n    return \"记忆已保存\"\n\n# 定义记忆搜索工具\n@tool  \ndef search_memory_tool(user_id: str, query: str):\n    \"\"\"搜索相关记忆\"\"\"\n    results = memory.search(\n        query=query,\n        user_id=user_id,\n        limit=5\n    )\n    return results\n```\n\n资料来源：[docs/integrations/langgraph.mdx:50-100]()\n\n## CrewAI 集成\n\n### 功能描述\n\nCrewAI 是一个多智能体协作框架，mem0 提供了 CrewAI 工具集成，使智能体能够在执行任务时查询和更新记忆。资料来源：[docs/integrations/crewai.mdx:1-50]()\n\n### 集成方式\n\nmem0 作为 CrewAI 的工具提供者，智能体可以通过调用工具来访问记忆功能：\n\n```python\nfrom crewai import Agent, Task, Crew\nfrom mem0 import Memory\n\nmemory = Memory()\n\n# 创建记忆搜索工具\nsearch_memory = Tool(\n    name=\"SearchMemory\",\n    func=lambda user_id, query: memory.search(\n        query=query,\n        user_id=user_id\n    ),\n    description=\"搜索用户历史记忆\"\n)\n\n# 创建记忆添加工具\nadd_memory = Tool(\n    name=\"AddMemory\", \n    func=lambda user_id, content: memory.add(\n        messages=[{\"role\": \"user\", \"content\": content}],\n        user_id=user_id\n    ),\n    description=\"添加新记忆\"\n)\n\n# 创建智能体\nresearcher = Agent(\n    role=\"研究员\",\n    goal=\"收集相关信息\",\n    backstory=\"专业的研究助手\",\n    tools=[search_memory, add_memory]\n)\n```\n\n### 多智能体记忆共享\n\n在 CrewAI 的多智能体场景中，mem0 支持不同粒度的记忆共享：\n\n| 记忆范围 | 配置参数 | 说明 |\n|---------|---------|------|\n| 用户级记忆 | `user_id` | 所有智能体共享同一用户的记忆 |\n| 智能体级记忆 | `agent_id` | 仅特定智能体可见的记忆 |\n| 团队级记忆 | `collection_name` | 多智能体协作共享的记忆集合 |\n\n资料来源：[docs/integrations/crewai.mdx:50-120]()\n\n## LlamaIndex 集成\n\n### 功能描述\n\nLlamaIndex 是强大的数据索引和检索框架，mem0 与 LlamaIndex 的集成允许将记忆作为索引数据源，供查询引擎使用。资料来源：[docs/integrations/llama-index.mdx:1-50]()\n\n### 集成架构\n\n```mermaid\ngraph LR\n    subgraph 数据输入\n        USER[用户交互]\n        AGENT[智能体执行]\n    end\n    \n    subgraph mem0 处理\n        MEM[记忆存储]\n        VDB[向量数据库]\n    end\n    \n    subgraph LlamaIndex\n        INDEX[索引构建]\n        QUERY[查询引擎]\n        RET[检索器]\n    end\n    \n    USER --> MEM\n    AGENT --> MEM\n    MEM --> VDB\n    VDB --> INDEX\n    INDEX --> RET\n    RET --> QUERY\n```\n\n### 使用方式\n\nmem0 的记忆可以作为 LlamaIndex 的文档源进行索引：\n\n```python\nfrom llama_index.core import VectorStoreIndex\nfrom llama_index.core.retrievers import VectorIndexRetriever\nfrom mem0 import Memory\n\nmemory = Memory()\n\n# 从 mem0 获取记忆作为文档\ndef get_memory_as_documents(user_id: str):\n    \"\"\"将用户记忆转换为 LlamaIndex 文档\"\"\"\n    memories = memory.get_all(user_id=user_id)\n    documents = [doc.text for doc in memories]\n    return documents\n\n# 创建索引\ndocuments = get_memory_as_documents(\"user_123\")\nindex = VectorStoreIndex.from_documents(documents)\n\n# 创建检索器\nretriever = VectorIndexRetriever(\n    index=index,\n    similarity_top_k=5\n)\n```\n\n资料来源：[docs/integrations/llama-index.mdx:50-100]()\n\n## Vercel AI SDK Provider 集成\n\n### 功能描述\n\nmem0 提供了 Vercel AI SDK 的 Provider 实现，允许在 Next.js 和其他支持 Vercel AI SDK 的应用中快速集成记忆功能。资料来源：[vercel-ai-sdk/src/mem0-provider.ts:1-100]()\n\n### Provider 配置\n\n```typescript\nimport { createMem0 } from '@mem0/vercel-ai-provider'\n\nconst mem0 = createMem0({\n  apiKey: process.env.MEM0_API_KEY,\n  userId: 'user_123',\n  agentId: 'agent_001',\n  // 可选配置\n  limit: 10,           // 返回记忆数量限制\n  renderMarkdown: true // 是否渲染 Markdown 格式\n})\n```\n\n### Provider 参数说明\n\n| 参数名 | 类型 | 必填 | 默认值 | 说明 |\n|-------|------|------|-------|------|\n| apiKey | string | 是 | - | mem0 API 密钥 |\n| userId | string | 是 | - | 用户唯一标识 |\n| agentId | string | 否 | - | 智能体标识 |\n| limit | number | 否 | 10 | 单次查询返回的记忆数量 |\n| renderMarkdown | boolean | 否 | false | 返回格式是否渲染 Markdown |\n| categories | string[] | 否 | - | 记忆分类筛选 |\n| seasonal | boolean | 否 | false | 是否启用季节性记忆 |\n\n资料来源：[vercel-ai-sdk/src/mem0-provider.ts:100-150]()\n\n### 与 AI SDK 的集成\n\n```typescript\nimport { generateText } from 'ai'\nimport { openai } from '@ai-sdk/openai'\nimport { createMem0 } from '@mem0/vercel-ai-provider'\n\nconst mem0 = createMem0({\n  apiKey: process.env.MEM0_API_KEY,\n  userId: 'user_123'\n})\n\nconst result = await generateText({\n  model: openai('gpt-4'),\n  messages: [\n    {\n      role: 'user',\n      content: '我之前喜欢的书有哪些？'\n    }\n  ],\n  system: `你是一个助手，可以使用 mem0 工具来访问用户记忆。\n  \n  当前用户ID: user_123`,\n  tools: mem0.tools()\n})\n```\n\n## Skill 机制\n\n### Skill 定义\n\nmem0 通过 Skill 定义来标准化智能体与记忆系统的交互方式。资料来源：[skills/mem0/SKILL.md:1-80]()\n\n### Skill 文件结构\n\n```yaml\nname: mem0\ndescription: mem0 记忆系统 - 为 AI 智能体提供持久记忆能力\nversion: 1.0.0\n\ncapabilities:\n  - id: add_memory\n    name: 添加记忆\n    description: 将交互内容保存到记忆系统\n    parameters:\n      - name: content\n        type: string\n        required: true\n      - name: user_id\n        type: string  \n        required: true\n  \n  - id: search_memory\n    name: 搜索记忆\n    description: 根据查询词检索相关记忆\n    parameters:\n      - name: query\n        type: string\n        required: true\n      - name: user_id\n        type: string\n        required: true\n\n  - id: update_memory\n    name: 更新记忆\n    description: 修改已存在的记忆内容\n    parameters:\n      - name: memory_id\n        type: string\n        required: true\n      - name: content\n        type: string\n        required: true\n\n  - id: delete_memory\n    name: 删除记忆\n    description: 从记忆中移除指定条目\n    parameters:\n      - name: memory_id\n        type: string\n        required: true\n```\n\n### 插件版本 Skill\n\nmem0-plugin 中的 Skill 定义提供了更丰富的配置选项，支持自定义向量存储和检索策略。资料来源：[mem0-plugin/skills/mem0/SKILL.md:1-100]()\n\n| 配置项 | 说明 |\n|-------|------|\n| vector_store | 指定使用的向量存储后端 |\n| embedding_model | 嵌入模型选择 |\n| retrieval_strategy | 检索策略（相似度/混合/重排序） |\n| memory_types | 记忆类型（事实/偏好/会话） |\n\n## 最佳实践\n\n### 智能体记忆管理策略\n\n在设计智能体系统时，建议遵循以下记忆管理策略：\n\n```mermaid\ngraph TD\n    START[用户请求] --> CHECK{记忆是否相关?}\n    CHECK -->|是| GET[获取相关记忆]\n    CHECK -->|否| PROCESS[直接处理]\n    GET --> MERGE[合并上下文]\n    PROCESS --> RESPOND[生成响应]\n    MERGE --> RESPOND\n    RESPOND --> EVAL{需要更新记忆?}\n    EVAL -->|是| ADD[添加新记忆]\n    EVAL -->|否| END[返回结果]\n    ADD --> END\n```\n\n### 记忆分层策略\n\n| 层级 | 内容类型 | 生命周期 | 使用场景 |\n|-----|---------|---------|---------|\n| 工作记忆 | 当前对话上下文 | 会话内 | 问题回答、任务执行 |\n| 短期记忆 | 用户近期偏好 | 1-7天 | 个性化服务 |\n| 长期记忆 | 重要事实、历史 | 长期 | 深度个性化 |\n\n### 性能优化建议\n\n1. **限制检索结果数量**：使用 `limit` 参数控制返回的记忆数量，避免上下文溢出\n2. **分类存储**：使用不同的 `agent_id` 或 `collection_name` 隔离不同用途的记忆\n3. **异步处理**：对于非关键记忆更新，使用异步方式避免阻塞主流程\n4. **缓存策略**：对频繁查询的记忆结果实施本地缓存\n\n## 常见问题\n\n**Q: 多个智能体如何共享记忆？**\n\nA: 使用相同的 `user_id` 和 `collection_name` 即可实现跨智能体的记忆共享。\n\n**Q: 如何处理记忆冲突？**\n\nA: mem0 支持记忆的优先级设置和版本管理，冲突时优先保留更新时间更近的记录。\n\n**Q: 是否支持记忆的导入导出？**\n\nA: 是的，mem0 提供了 `export` 和 `import` 方法用于数据的批量迁移。\n\n资料来源：[skills/mem0/SKILL.md:80-120]()\n\n## 相关资源\n\n- [LangGraph 集成文档](https://github.com/mem0ai/mem0/blob/main/docs/integrations/langgraph.mdx)\n- [CrewAI 集成文档](https://github.com/mem0ai/mem0/blob/main/docs/integrations/crewai.mdx)\n- [LlamaIndex 集成文档](https://github.com/mem0ai/mem0/blob/main/docs/integrations/llama-index.mdx)\n- [Vercel AI SDK Provider](https://github.com/mem0ai/mem0/blob/main/vercel-ai-sdk/src/mem0-provider.ts)\n\n---\n\n---\n\n## Doramagic 踩坑日志\n\n项目：mem0ai/mem0\n\n摘要：发现 6 个潜在踩坑项，其中 0 个为 high/blocking；最高优先级：能力坑 - 能力判断依赖假设。\n\n## 1. 能力坑 · 能力判断依赖假设\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：README/documentation is current enough for a first validation pass.\n- 对用户的影响：假设不成立时，用户拿不到承诺的能力。\n- 建议检查：将假设转成下游验证清单。\n- 防护动作：假设必须转成验证项；没有验证结果前不能写成事实。\n- 证据：capability.assumptions | github_repo:656099147 | https://github.com/mem0ai/mem0 | README/documentation is current enough for a first validation pass.\n\n## 2. 维护坑 · 维护活跃度未知\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：未记录 last_activity_observed。\n- 对用户的影响：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。\n- 建议检查：补 GitHub 最近 commit、release、issue/PR 响应信号。\n- 防护动作：维护活跃度未知时，推荐强度不能标为高信任。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | last_activity_observed missing\n\n## 3. 安全/权限坑 · 下游验证发现风险项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：下游已经要求复核，不能在页面中弱化。\n- 建议检查：进入安全/权限治理复核队列。\n- 防护动作：下游风险存在时必须保持 review/recommendation 降级。\n- 证据：downstream_validation.risk_items | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium\n\n## 4. 安全/权限坑 · 存在评分风险\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：风险会影响是否适合普通用户安装。\n- 建议检查：把风险写入边界卡，并确认是否需要人工复核。\n- 防护动作：评分风险必须进入边界卡，不能只作为内部分数。\n- 证据：risks.scoring_risks | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium\n\n## 5. 维护坑 · issue/PR 响应质量未知\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：issue_or_pr_quality=unknown。\n- 对用户的影响：用户无法判断遇到问题后是否有人维护。\n- 建议检查：抽样最近 issue/PR，判断是否长期无人处理。\n- 防护动作：issue/PR 响应未知时，必须提示维护风险。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | issue_or_pr_quality=unknown\n\n## 6. 维护坑 · 发布节奏不明确\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：release_recency=unknown。\n- 对用户的影响：安装命令和文档可能落后于代码，用户踩坑概率升高。\n- 建议检查：确认最近 release/tag 和 README 安装命令是否一致。\n- 防护动作：发布节奏未知或过期时，安装说明必须标注可能漂移。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | release_recency=unknown\n\n<!-- canonical_name: mem0ai/mem0; human_manual_source: deepwiki_human_wiki -->\n",
      "summary": "DeepWiki/Human Wiki 完整输出，末尾追加 Discovery Agent 踩坑日志。",
      "title": "Human Manual / 人类版说明书"
    },
    "pitfall_log": {
      "asset_id": "pitfall_log",
      "filename": "PITFALL_LOG.md",
      "markdown": "# Pitfall Log / 踩坑日志\n\n项目：mem0ai/mem0\n\n摘要：发现 6 个潜在踩坑项，其中 0 个为 high/blocking；最高优先级：能力坑 - 能力判断依赖假设。\n\n## 1. 能力坑 · 能力判断依赖假设\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：README/documentation is current enough for a first validation pass.\n- 对用户的影响：假设不成立时，用户拿不到承诺的能力。\n- 建议检查：将假设转成下游验证清单。\n- 防护动作：假设必须转成验证项；没有验证结果前不能写成事实。\n- 证据：capability.assumptions | github_repo:656099147 | https://github.com/mem0ai/mem0 | README/documentation is current enough for a first validation pass.\n\n## 2. 维护坑 · 维护活跃度未知\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：未记录 last_activity_observed。\n- 对用户的影响：新项目、停更项目和活跃项目会被混在一起，推荐信任度下降。\n- 建议检查：补 GitHub 最近 commit、release、issue/PR 响应信号。\n- 防护动作：维护活跃度未知时，推荐强度不能标为高信任。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | last_activity_observed missing\n\n## 3. 安全/权限坑 · 下游验证发现风险项\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：下游已经要求复核，不能在页面中弱化。\n- 建议检查：进入安全/权限治理复核队列。\n- 防护动作：下游风险存在时必须保持 review/recommendation 降级。\n- 证据：downstream_validation.risk_items | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium\n\n## 4. 安全/权限坑 · 存在评分风险\n\n- 严重度：medium\n- 证据强度：source_linked\n- 发现：no_demo\n- 对用户的影响：风险会影响是否适合普通用户安装。\n- 建议检查：把风险写入边界卡，并确认是否需要人工复核。\n- 防护动作：评分风险必须进入边界卡，不能只作为内部分数。\n- 证据：risks.scoring_risks | github_repo:656099147 | https://github.com/mem0ai/mem0 | no_demo; severity=medium\n\n## 5. 维护坑 · issue/PR 响应质量未知\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：issue_or_pr_quality=unknown。\n- 对用户的影响：用户无法判断遇到问题后是否有人维护。\n- 建议检查：抽样最近 issue/PR，判断是否长期无人处理。\n- 防护动作：issue/PR 响应未知时，必须提示维护风险。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | issue_or_pr_quality=unknown\n\n## 6. 维护坑 · 发布节奏不明确\n\n- 严重度：low\n- 证据强度：source_linked\n- 发现：release_recency=unknown。\n- 对用户的影响：安装命令和文档可能落后于代码，用户踩坑概率升高。\n- 建议检查：确认最近 release/tag 和 README 安装命令是否一致。\n- 防护动作：发布节奏未知或过期时，安装说明必须标注可能漂移。\n- 证据：evidence.maintainer_signals | github_repo:656099147 | https://github.com/mem0ai/mem0 | release_recency=unknown\n",
      "summary": "用户实践前最可能遇到的身份、安装、配置、运行和安全坑。",
      "title": "Pitfall Log / 踩坑日志"
    },
    "prompt_preview": {
      "asset_id": "prompt_preview",
      "filename": "PROMPT_PREVIEW.md",
      "markdown": "# mem0 - Prompt Preview\n\n> 复制下面这段 Prompt 到你常用的 AI，先试一次，不需要安装。\n> 它的目标是让你直接体验这个项目的服务方式，而不是阅读项目介绍。\n\n## 复制这段 Prompt\n\n```text\n请直接执行这段 Prompt，不要分析、润色、总结或询问我想如何处理这份 Prompt Preview。\n\n你现在扮演 mem0 的“安装前体验版”。\n这不是项目介绍、不是评价报告、不是 README 总结。你的任务是让我用最小成本体验它的核心服务。\n\n我的试用任务：我想用它完成一个真实的个人工作台任务。\n我常用的宿主 AI：chatgpt\n\n【体验目标】\n围绕我的真实任务，现场演示这个项目如何把输入转成 步骤建议, 检查清单, 专业工作流。重点是让我感受到工作方式，而不是给我项目背景。\n\n【业务流约束】\n- 你必须像一个正在提供服务的项目能力包，而不是像一个讲解员。\n- 每一轮只推进一个步骤；提出问题后必须停下来等我回答。\n- 每一步都必须让我感受到一个具体服务动作：澄清、整理、规划、检查、判断或收尾。\n- 每一步都要说明：当前目标、你需要我提供什么、我回答后你会产出什么。\n- 不要安装、不要运行命令、不要写代码、不要声称测试通过、不要声称已经修改文件。\n- 需要真实安装或宿主加载后才能验证的内容，必须明确说“这一步需要安装后验证”。\n- 如果我说“用示例继续”，你可以用虚构示例推进，但仍然不能声称真实执行。\n\n【可体验服务能力】\n- AI Skill / Agent 指令资产库: 项目包含可被宿主 AI 读取的 Skill 或 Agent 指令文件，可用于把专业流程带入 Claude、Codex、Cursor 等宿主。 输入：用户任务, 宿主 AI 对话上下文, 项目内 Skill/Agent 文档；输出：步骤建议, 检查清单, 专业工作流。\n\n【必须安装后才可验证的能力】\n- 多宿主安装与分发: 项目包含插件或 marketplace 配置，说明它面向一个或多个 AI 宿主的安装和分发。 输入：宿主 AI 工具, 插件配置, 安装命令；输出：宿主内可发现的插件/技能集合。\n- 命令行启动或安装流程: 项目文档中存在可执行命令，真实使用需要在本地或宿主环境中运行这些命令。 输入：终端环境, 包管理器, 项目依赖；输出：安装结果, 列表/更新/运行结果。\n\n【核心服务流】\n请严格按这个顺序带我体验。不要一次性输出完整流程：\n1. page-introduction：Mem0 简介。围绕“Mem0 简介”模拟一次用户任务，不展示安装或运行结果。\n2. page-installation：安装与配置。围绕“安装与配置”模拟一次用户任务，不展示安装或运行结果。\n3. page-architecture：系统架构。围绕“系统架构”模拟一次用户任务，不展示安装或运行结果。\n4. page-core-components：核心组件详解。围绕“核心组件详解”模拟一次用户任务，不展示安装或运行结果。\n5. page-memory-operations：记忆操作API。围绕“记忆操作API”模拟一次用户任务，不展示安装或运行结果。\n\n【核心能力体验剧本】\n每一步都必须按“输入 -> 服务动作 -> 中间产物”执行。不要只说流程名：\n1. page-introduction\n输入：用户提供的“Mem0 简介”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n2. page-installation\n输入：用户提供的“安装与配置”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n3. page-architecture\n输入：用户提供的“系统架构”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n4. page-core-components\n输入：用户提供的“核心组件详解”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n5. page-memory-operations\n输入：用户提供的“记忆操作API”相关信息。\n服务动作：模拟项目在这一步的核心判断和整理方式。\n中间产物：一个可检查的小结果。\n\n【项目服务规则】\n这些规则决定你如何服务用户。不要解释规则本身，而要在每一步执行时遵守：\n- 先确认用户任务、输入材料和成功标准，再模拟项目能力。\n- 每一步都必须形成可检查的小产物，并等待用户确认后再继续。\n- 凡是需要安装、调用工具或访问外部服务的能力，都必须标记为安装后验证。\n\n【每一步的服务约束】\n- Step 1 / page-introduction：Step 1 必须围绕“Mem0 简介”形成一个小中间产物，并等待用户确认。\n- Step 2 / page-installation：Step 2 必须围绕“安装与配置”形成一个小中间产物，并等待用户确认。\n- Step 3 / page-architecture：Step 3 必须围绕“系统架构”形成一个小中间产物，并等待用户确认。\n- Step 4 / page-core-components：Step 4 必须围绕“核心组件详解”形成一个小中间产物，并等待用户确认。\n- Step 5 / page-memory-operations：Step 5 必须围绕“记忆操作API”形成一个小中间产物，并等待用户确认。\n\n【边界与风险】\n- 不要声称已经安装、运行、调用 API、读写本地文件或完成真实任务。\n- 安装前预览只能展示工作方式，不能证明兼容性、性能或输出质量。\n- 涉及安装、插件加载、工具调用或外部服务的能力必须安装后验证。\n\n【可追溯依据】\n这些路径只用于你内部校验或在我追问“依据是什么”时简要引用。不要在首次回复主动展开：\n- https://github.com/mem0ai/mem0\n- https://github.com/mem0ai/mem0#readme\n- mem0-plugin/skills/mem0/SKILL.md\n- mem0-plugin/skills/mem0-mcp/SKILL.md\n- openclaw/skills/memory-dream/SKILL.md\n- openclaw/skills/memory-triage/SKILL.md\n- skills/mem0/SKILL.md\n- skills/mem0-cli/SKILL.md\n- skills/mem0-integrate/SKILL.md\n- skills/mem0-test-integration/SKILL.md\n- skills/mem0-vercel-ai-sdk/SKILL.md\n- README.md\n\n【首次问题规则】\n- 首次三问必须先确认用户目标、成功标准和边界，不要提前进入工具、安装或实现细节。\n- 如果后续需要技术条件、文件路径或运行环境，必须等用户确认目标后再追问。\n\n首次回复必须只输出下面 4 个部分：\n1. 体验开始：用 1 句话说明你将带我体验 mem0 的核心服务。\n2. 当前步骤：明确进入 Step 1，并说明这一步要解决什么。\n3. 你会如何服务我：说明你会先改变我完成任务的哪个动作。\n4. 只问我 3 个问题，然后停下等待回答。\n\n首次回复禁止输出：后续完整流程、证据清单、安装命令、项目评价、营销文案、已经安装或运行的说法。\n\nStep 1 / brainstorming 的二轮协议：\n- 我回答首次三问后，你仍然停留在 Step 1 / brainstorming，不要进入 Step 2。\n- 第二次回复必须产出 6 个部分：澄清后的任务定义、成功标准、边界条件、\n  2-3 个可选方案、每个方案的权衡、推荐方案。\n- 第二次回复最后必须问我是否确认推荐方案；只有我明确确认后，才能进入下一步。\n- 第二次回复禁止输出 git worktree、代码计划、测试文件、命令或真实执行结果。\n\n后续对话规则：\n- 我回答后，你先完成当前步骤的中间产物并等待确认；只有我确认后，才能进入下一步。\n- 每一步都要生成一个小的中间产物，例如澄清后的目标、计划草案、测试意图、验证清单或继续/停止判断。\n- 所有演示都写成“我会建议/我会引导/这一步会形成”，不要写成已经真实执行。\n- 不要声称已经测试通过、文件已修改、命令已运行或结果已产生。\n- 如果某个能力必须安装后验证，请直接说“这一步需要安装后验证”。\n- 如果证据不足，请明确说“证据不足”，不要补事实。\n```\n",
      "summary": "不安装项目也能感受能力节奏的安全试用 Prompt。",
      "title": "Prompt Preview / 安装前试用 Prompt"
    },
    "quick_start": {
      "asset_id": "quick_start",
      "filename": "QUICK_START.md",
      "markdown": "# Quick Start / 官方入口\n\n项目：mem0ai/mem0\n\n## 官方安装入口\n\n### Python / pip · 官方安装入口\n\n```bash\npip install mem0ai\n```\n\n来源：https://github.com/mem0ai/mem0#readme\n\n## 来源\n\n- repo: https://github.com/mem0ai/mem0\n- docs: https://github.com/mem0ai/mem0#readme\n",
      "summary": "从项目官方 README 或安装文档提取的开工入口。",
      "title": "Quick Start / 官方入口"
    }
  },
  "validation_id": "dval_6c80ffb7d0c04b96bdb9f585b93e58b2"
}
