memsearch 是一个 面向 AI 智能体的 Markdown-first(Markdown 为核心)记忆系统库,可作为任何 AI agent 的独立记忆组件。
它采纳并扩展了开源项目 OpenClaw 的记忆设计思想:
把 AI 的长期记忆 以明文 Markdown 文件作为唯一真实来源(source of truth),而不是传统的数据库。
核心理念(Markdown-first)
传统的 AI 记忆系统通常做法是:
1. 把记忆存进数据库(PostgreSQL、MongoDB 等)
2. 再把文本 嵌入成向量、存入向量数据库
3. 通过向量搜索检索记忆
而 memsearch 的不同点是:
✅ Markdown 文件是唯一的数据源,所有记忆直接写入可读的 .md 文件
✅ 向量数据库(如 Milvus)只是一个可重建的 索引/快速检索层
✅ 不需要为了调试去查数据库、写 API 查询;直接打开 .md 就能看到 AI “记住了什么”
优点总结:
* 透明可读:不用 API 查询、把记忆当普通文本阅读
* 可版本控制:用 Git 管理记忆更改与历史
* 迁移自由:换 Embedding 模型或向量库配置都很轻松
* 人机协作更友好:AI 生成内容,人类可以直接编辑、删除或纠正
技术架构与工作流程
大体流程如下:
Markdown 文件夹(memory/*.md)
│
Chunking + 去重 (SHA-256)
│
生成嵌入向量并插入 Milvus(可选本地或云端)
│
语义搜索(向量检索)返回与查询最相关的内容
* Markdown 作为源头:所有记忆先写入 Markdown
* 自动索引监听:文件有变更时自动重新索引/删除过期内容
* 向量引擎可选:默认用 Milvus 或 Milvus Cloud(云端 Milvus 服务)
典型使用场景
你可以把它集成到各种 AI agent 工作流中,例如:
聊天机器人记忆
* 用户问问题 → 用 memsearch 检索过去相关对话
* 生成回答 → 把新交互写进 Markdown
* 下次自动包含旧记忆上下文
企业长时记忆 KB
* 业务决策、团队信息、技术规范等长期积累
* 团队审核历史记忆更改
️ 调试 & 价值审计
* 发现模型输出错误 → 直接打开 Markdown 查看
* 修正记忆后自动重新构建检索索引
示例(Python 代码片段)
这是一个非常基础的示例:
python
from memsearch import MemSearch
from datetime import date
from pathlib import Path
MEMORY_DIR = "./memory"
ms = MemSearch(paths=[MEMORY_DIR])
# 保存记忆到 Markdown
def save_memory(text: str):
p = Path(MEMORY_DIR) / f"{date.today()}.md"
p.parent.mkdir(parents=True, exist_ok=True)
with open(p, "a") as f:
f.write(f"\n{text}\n")
async def main():
save_memory("Team\n- Alice: frontend lead\n- Bob: backend lead")
await ms.index()
results = await ms.search("Who is our frontend lead?", top_k=3)
print(results)
安装与生态
安装方式(pip):
bash
pip install memsearch
支持多种 embedding 提供者(OpenAI、Google、Voyage、Ollama 等),也支持 fully-local 本地模型嵌入。
总结
| 特性 | 说明 | |
如果你正在 构建自己的 AI agent 或想让 AI 有持久记忆,而且希望它的记忆是可审计、版本可控、方便调试的,那么 memsearch 是一个现代且实用的方案。