📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入
用 Easysearch 给 AI Agent 装上长期记忆:Mem0 集成实战

你有没有遇到过这样的场景:昨天花了半小时跟 AI 把一个 Bug 的根因讲清楚了,今天新开一个对话,对方又一脸懵地从零问起。每次都要重新交代背景,像是在跟一个永远刚入职的实习生打交道。

根本原因很简单:现在大多数 AI Agent 的"记忆"只存在于当前 context window 里。窗口结束,记忆清零。

这篇文章介绍怎么用 Mem0 + Easysearch 给 Agent 装上一块真正的长期记忆——跨会话、可语义检索、在本地跑,数据完全自己掌控。


整体架构 #

用户 ↔ AI Agent(Trae / Cursor / VS Code 等)
              ↓  MCP 协议
    Mem0 OpenMemory MCP Server
              ↓  HTTPS
         Easysearch 集群
         ┌──────────────────┐
         │  记忆向量索引      │
         │  kNN 语义检索     │
         └──────────────────┘

写记忆:Agent 发现有价值的信息(Bug 根因、架构决策、约定命名……)时,调用 add_memories,MCP Server 用 Embedding 模型将文本向量化后写入 Easysearch。

读记忆:Agent 开始新任务前,调用 search_memory,MCP Server 把问题向量化后在 Easysearch 做 kNN 检索,把语义最相关的历史记忆注入到 Prompt 里。

整条链路在本地跑,LLM 和 Embedding 模型可以接任意 OpenAI 兼容的 API,包括阿里云百炼、DeepSeek、本地 Ollama 等。


部署:4 步搞定 #

第一步:准备 Easysearch 集群 #

如果你已有 Easysearch 集群,直接跳到第二步。

没有的话,用 Docker 30 秒拉起一个单节点:

# 生成随机 admin 密码
echo "EASYSEARCH_INITIAL_ADMIN_PASSWORD=$(openssl rand -hex 10)" | tee .env

# 启动容器
docker run -d --name easysearch \
   --ulimit memlock=-1:-1 \
   --env-file ./.env -p 9200:9200 \
   -v easysearch-data:/app/easysearch/data \
   -v easysearch-config:/app/easysearch/config \
   -v easysearch-logs:/app/easysearch/logs \
   infinilabs/easysearch:latest

验证一下:

curl -ku 'admin:<你的密码>' https://127.0.0.1:9200
# 看到 "You Know, For Easy Search!" 就好了

第二步:拉取 Mem0 的 Easysearch 分支 #

官方 Mem0 仓库还没有合并 Easysearch 支持,需要用 INFINI Labs 维护的 fork:

git clone https://github.com/infinilabs/mem0.git && cd mem0
git checkout feat/easysearch

第三步:配置 MCP Server #

编辑 openmemory/api/.env,这是整个配置的核心:

USER=steve   # 你的名字,用于隔离不同用户的记忆

# 语言模型——写入时用来整理、去重记忆
LLM_PROVIDER=openai
LLM_MODEL=deepseek-r1
LLM_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1

# Embedding 模型——把文本变成向量
EMBEDDER_PROVIDER=openai
EMBEDDER_MODEL=text-embedding-v4
EMBEDDER_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
EASYSEARCH_EMBEDDING_DIMS=1024   # 必须与模型实际输出维度一致!

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx

# Easysearch 连接信息
EASYSEARCH_URL=https://127.0.0.1:9200
EASYSEARCH_USER=admin
EASYSEARCH_PASSWORD=xxxxxxxxxxxxxxxx

几个容易踩坑的地方:

  • EASYSEARCH_EMBEDDING_DIMS 必须和你选的 Embedding 模型输出维度完全一致。text-embedding-v4 默认是 1024,text-embedding-3-small 是 1536。填错了写入会报错。
  • EASYSEARCH_URLhttps://,Easysearch 默认启用 TLS。
  • 本地开发时 MCP Server 会跳过证书验证(等价于 curl -k)。生产环境建议换成受信 CA 颁发的证书,或者把 Easysearch 的自签名 CA 导出后加到 REQUESTS_CA_BUNDLE

第四步:启动 MCP Server #

cd openmemory/api

python3 -m venv .venv && source .venv/bin/activate

pip install -r requirements.txt \
  && pip uninstall -y mem0ai \
  && pip install -e "../../[extras]"

uvicorn main:app --host 0.0.0.0 --port 8765

看到这个就说明服务起来了:

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8765 (Press CTRL+C to quit)

接入 Agent 工具 #

配置 MCP Server 地址 #

在你的 Agent 工具(Cursor、VS Code Copilot 等)的 MCP 配置添加 URL 为 http://localhost:8765/mcp/<客户端ID>/http/<用户名>的 server。

  • <客户端ID> 随便起,用来区分不同工具(traecursorvscode……)
  • <用户名> 要和 .env 里的 USER 保持一致

给 Agent 配一个强制 SOP 的 Skill #

光有 MCP 工具还不够——Agent 不会主动去用。需要通过一个全局 Skill 把"任务前检索记忆、任务后保存发现"变成强制流程:

---
name: memory
description: "MANDATORY MEMORY PROTOCOL. You MUST call `search_memory` before any action and `add_memories` after any significant discovery."
---

### STEP 1: 任务开始前,必须先检索记忆
调用 `search_memory`,关键词:当前任务涉及的实体、技术栈、具体问题。
不要假设你了解这个项目,先查记忆。

### STEP 2: 执行任务
留意"知识点"——那些不在代码库里但对后续工作极有价值的信息。

### STEP 3: 任务结束前,评估是否有新知识需要保存
满足以下任一条件,调用 `add_memories`- 做了架构/方案选型决策
- 找到了某个诡异 Bug 的根因
- 发现了特定的环境变量或命令才能让东西跑起来
- 约定了命名规范
- 挖出了隐含的业务逻辑

判断标准:如果明天来一个全新的 Agent 做这个任务,这条信息能帮它省 5 分钟以上吗?能的话就存。

把这个 Skill 设置为全局生效,之后每个项目都会自动走这套流程。


实际效果 #

开启记忆后,Agent 的表现会有几个明显变化:

能跨会话积累经验,不再重复询问。调试过的 Bug、踩过的坑、确定下来的方案,都会沉淀下来。项目越做越久,Agent 越来越"懂"这个项目。

记忆可检索、可审计。所有记忆都存在 Easysearch 里,可以直接查索引看有哪些条目,不满意的可以删掉重写,完全透明可控。


演示视频 #

下面的视频展示了接入记忆后的实际效果——Agent 在新会话中自动检索历史记忆,并将相关上下文融入回答,不再需要重复交代背景。

让 AI 记得你是谁——基于 Easysearch 的企业级 AI 记忆


代码和文档 #

标签
AI x
幻觉 x
大模型 x
Easysearch x
Agent x
产品更新 x
Mem0 x
MCP x
AI Agent x
向量检索 x
kNN x
规则引擎 x
银行 x
保险 x
风控 x
Rules x
Percolator x
performance x
国产 x
搜索 x
安全 x
Elasticsearch x
Lucene x
GraalVM x
JDK x
2026 x
开源 x
赞助 x
开源生态 x
社区 x
Coco AI x
二等奖 x
兴智杯 x
人工智能 x
赛事 x
低空经济 x
商业化 x
数据分析 x
金猿奖 x
国产化 x
搜索引擎 x
技术卓越奖 x
创新产品奖 x
IT168 x
APM x
Skywalking x
Easy-Es x
Coco x
GitLab x
代码审核 x
石油石化 x
Gitee x
投票 x
Meilisearch x
Rust x
轻量级 x
搜索百科 x
Docker x
Docker Compose x
Easyserach x
Console x
DevOps x
国产替代 x
backup x
snapshot x
CCR x
Gateway x
esdump x
source_reuse x
ignore_above x
OpenSearch x
AWS x
Solr x
Easyearch x
发明专利 x
数据分区 x
国际专利 x
一等奖 x
人工智能应用创新大赛 x
bulk x
embedding x
OpenAI x
IK x
TDBC x
2025 x
信通院 x
可信数据库大会 x
搜索型数据库 x
中国数据库产业图谱 x
上海开源创新菁英荟 x
开源创新新星企业 x
Workshop x
AI 搜索 x
智能助手 x
Automation x
Logstash x
MongoDB x
开源中国 x
直播 x
merge x
Elasticsearch 9 x
GitCode x
AI搜索 x
Cloud x
rollup x
Kubernetes x
Operator x
Arm64 x
Snapshot x
S3 x
Grafana x
Opensearch x
Nginx x
直播活动 x
搜索客社区 x
Meetup x
ES x
企业搜索 x
DeepSeek x
RAG x
certificate x
windows x
Rollup x
TopN x
Filebeat x
Ubuntu x
请求限速 x
INFINI Console x
指标 x
Kibana x
多集群 x
client x
Spring Boot x
ECE x
ES Bulk x
vector database x
Postgres x
可搜索快照 x
SDK x
官网 x
Web 开发 x
Next.js x
React x
Three.js x
Metrics x
Helm x
filter x
querycache x
practice x
localStorage x
响应式 x
时间组件 x
时区组件 x
极限科技 x
三周年 x
周年庆 x
国家高新技术企业 x
校园招聘 x
湖北工业大学 x
Tauri x
Web 开发人员 x
桌面应用开发 x
桌面端 x
Electron x
Pizza x
认证培训 x
报名 x
Scrapy x
爬虫 x
Rust开发者大会 x
docsearch x
文档搜索 x
Easyseach x
有奖征文 x
黑神话悟空 x
EKS x
征文系列 x
跨集群搜索 x
科技中小企业 x
白皮书 x
Python SDK x
数据库产业图谱 x
超大规模 x
分布式集群 x
写入限流 x
2024可信数据库发展大会 x
创新型中小企业 x
搜索数据库 x
正排索引 x
免费许可证 x
K8S x
DTC2024 x
实时搜索 x
ES国产化 x
Redis x
OOM x
测试 x
内存 x
趋势 x
AI绘画 x
Stable Diffusion x
Diffusion x
Model x
GAN x
语义搜索 x
知识图 x
向量数据库 x
中国信通院 x
星河(Galaxy) x
标杆案例 x
鲲鹏 x
鲲鹏技术认证 x
客户端 x
日志平台 x
LDAP x
Loadgen x
中国一汽 x
国内数据库 x
墨天轮 x
监控系统 x
集成测试 x
ZSTD x
Helm Charts x
国产适配 x
兆芯 x
Linux x
LoongArch x
信创适配 x
二维拆分算法 x
中国移动云 x
Vault x
加密 x
安全工具 x
图片搜索 x
Alerting x
SQL x
Embedding x
可信数据库 x
统信 x
海光 x
龙芯 x
restore x
Arm x
大数据企业证书 x
移动云大会 x
信通院产品评测 x
国内首家 x
数据可视化 x
北京软协 x
第十届理事会会员单位 x
Apache Arrow x
宣传片 x
大会分享 x
多集群管理 x
无缝数据迁移 x
Loadrun x
INFINI Gateway x
log4j x