memsearch:类似OpenClaw的Markdown本地优先的自主记忆库


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 本地模型嵌入。



总结

| 特性             | 说明                   |
| -------------- | -------------------- |
| Markdown 源头 | 人类可读、编辑、可版本控制        |
| 向量搜索        | Milvus 作为可重建的索引加速检索  |
| 可集成         | 通用记忆库,可接入各种 AI agent |
| 透明与调试友好     | 直接读写文本更易用            |



如果你正在 构建自己的 AI agent 或想让 AI 有持久记忆,而且希望它的记忆是可审计、版本可控、方便调试的,那么 memsearch 是一个现代且实用的方案。