EverOS:开源Markdown优先智能体记忆运行时,支持混合检索与自进化技能
Meet EverOS: An Open Source Markdown-First Agent Memory Runtime With Hybrid BM25 + Vector Retrieval and Self-Evolving Skills
EverMind 推出开源智能体记忆运行时 EverOS(Apache 2.0 许可)。它以可编辑的 Markdown 文件为记忆主体,经 SQLite 管理状态、LanceDB 实现混合检索(BM25 关键词 + 向量搜索 + 标量过滤)。每个完成的任务记录为 Case,离线提炼为可复用的 Skill,使记忆随使用自我进化。v1.1.0 新增 Knowledge APIs(支持分类与话题搜索的 Markdown 页面)和 Reflection(跨会话优化 Profile 和 Skill)。据 EverMind 报告,LoCoMo 得分 93.05%,LongMemEval 83.00%,HaluMem 93.04%,p95 检索延迟低于 500ms。运行时可本地优先部署,也提供 EverOS Cloud 托管选项,兼容 OpenAI 协议端点。
EverOS把Agent记忆从沉重的向量数据库堆栈中解放出来,Markdown源真和自进化技能让本地开发更轻便,但基准全由团队自报,上手前最好自己测一下。
EverMind 发布了 EverOS,这是一个面向 AI 智能体的开源记忆运行时。它采用 Apache 2.0 许可证发布。它针对的是智能体开发者很早就遇到的一个问题:大语言模型是无状态的。对话一结束,上下文就消失了。
EverOS 提出了一种不同的底层方案。它没有把记忆锁在向量数据库里,而是把记忆写成纯 Markdown 文件。这些文件成为事实来源,智能体可以跨会话读取、编辑和搜索它们。
TL;DR
- EverOS 将智能体记忆存储为可编辑的 Markdown,并由 SQLite 和 LanceDB 建立索引。
- 混合检索在一次查询中融合 BM25、向量搜索和标量过滤。
- 案例会蒸馏为可复用的技能,为智能体提供程序性、可自我演化的记忆。
- 基准测试分数很强,但由 EverMind 自行报告;请在你自己的工作负载上验证。
- 它以 Apache 2.0 开源,云端与自托管能力对等。
什么是 EverOS?
EverOS 是一个 Python 库,也是一个本地优先的记忆运行时。它以服务器形式运行,带有 CLI 和 FastAPI HTTP API,全程异步优先。你可以把它接入现有的智能体循环,而不必重建你的技术栈。
该设计将两条记忆轨道分开。用户侧记忆保存 Profiles、Episodes、Facts 和 Foresights。智能体侧记忆保存 Cases 和 Skills。将二者分开并不常见;大多数库仅以聊天历史为核心。
每条记录都以 .md 文件形式落地。你可以打开、编辑、grep 和用 Git 进行版本管理,或在 Obsidian 中查看。EverAlgo 是一个独立的无状态库,负责处理提取算法。EverOS 负责编排并持久化结果。
端点栈兼容 OpenAI 协议。只需更改 base URL,即可连接到 OpenAI、OpenRouter、vLLM、Ollama 或 DeepInfra。这使得集成几乎只需改动一处配置。
运行时默认本地优先。数据无需离开你的环境,每一层都可检查。对于不愿自托管的团队,还提供托管的 EverOS Cloud 选项。两者共享相同的 SDK、检索引擎和记忆格式。
架构——Markdown、SQLite 和 LanceDB
EverOS 采用三件式存储栈。Markdown 是事实来源。SQLite 管理状态和队列。LanceDB 管理向量、BM25 和标量过滤。
这刻意比典型的生产级记忆配置更轻量。无需 MongoDB、Elasticsearch、Milvus、Redis 或 Kafka。对于独立开发者和小团队而言,这降低了运维成本。
检索是混合式的。单次 LanceDB 查询同时结合 BM25 关键词匹配、稠密向量搜索和标量过滤。EverMind 将这条多模态检索路径作为 mRAG 进行推广。
级联索引同步让文件与索引保持一致。编辑一个 .md 文件会触发文件监听器,重新同步索引。记忆保持可检视,而不会变得过时。
检索在各个标识符之间也是正交的。你可以按 user_id、agent_id、app_id、project_id 和 session_id 来限定搜索范围。这种范围限定在多智能体和多用户部署中很重要,因为那里需要数据隔离。
记忆如何自我演化——案例变成技能
一个独特的功能是程序性记忆。EverOS 将每个已完成的智能体任务记录为一个 Case。重复出现的成功模式会在离线状态下被蒸馏为可复用的技能。
这就是所谓"自我演化"的说法,直白地说。技能在一个智能体团队中共享,无需人工整理,也无需硬编码。目标是让智能体随着使用而改进,而不是每次会话都重新开始。
1.1.0 版本增加了更多生命周期机制。它引入了 Knowledge API,用于生成有来源支撑的 Markdown 页面,并支持分类法和主题搜索。它还新增了 Reflection,这是一个离线过程,会在会话之间合并情节聚类并优化画像和技能。
记忆模型很简单。情景记忆回答“发生了什么”。画像记忆回答“这个用户是谁”。程序性记忆回答“这项任务如何完成”。
基准测试
EverMind 团队报告称,在 LoCoMo 上达到 93.05%,在 LongMemEval 上达到 83.00%,在 HaluMem 上达到 93.04%。它还提到 p95 检索延迟低于 500ms。LoCoMo 和 LongMemEval 衡量长期对话记忆;HaluMem 针对记忆幻觉。这些数字来自 EverMind 的帖子。
下表在具体设计维度上将 EverOS 与常见替代方案进行了对比:
| 维度 | EverOS | 朴素 RAG | 完整上下文窗口 | 其他记忆库 |
|---|---|---|---|---|
| 事实来源 | 纯 Markdown .md 文件 | 向量数据库记录 | 仅提示词 | API 或数据库状态 |
| 本地技术栈 | Markdown + SQLite + LanceDB | 向量数据库 + 应用代码 | 无 | 通常是托管服务 |
| 检索 | 混合 BM25 + 向量 + 标量 | 仅稠密向量 | 无(无检索) | 因情况而异 |
| 程序性记忆 | 案例蒸馏为技能 | 无 | 无 | 罕见 |
| 多模态摄入 | 一次调用处理 PDF、图像、Office、URL | 手动流水线 | 仅通过上下文 | 部分 |
| LoCoMo 准确率 | 93.05%(EverMind 报告) | — | 不适用(上下文限制) | 因情况而异 |
| 许可证 | Apache 2.0 | 因情况而异 | 不适用 | 因情况而异 / 专有 |
用例,附真实示例
该库链接了可用的集成。它们展示了持久记忆在真实产品中能实现什么。
Hive Orchestrator 是一个面向 CLI 编程智能体的浏览器原生蜂巢思维。Claude Code、Codex、Gemini 和 OpenCode 通过共享的团队协议,作为真实的 PTY 进程进行协作。
Reunite 使用语义记忆进行公共价值搜索。父母描述他们记得的内容,孩子描述他们回忆的内容,系统则呈现出其中的关联。
其他示例涵盖医疗健康和硬件领域。其中包括一个阿尔茨海默症记忆助手和一款 AI 可穿戴设备。这款可穿戴设备会聆听日常生活并将其转化为记忆。示例中还包括一个具备自演化记忆的学习伙伴。更广泛的生态系统还增加了一个 Claude Code 插件,以及一个面向编程助手的基于 MCP 的记忆层。
五分钟代码走读
安装使用标准 Python 工具链。EverOS 需要 Python 3.12 或更高版本。本地演示无需 API 密钥。
# Requires Python 3.12+
uv pip install everos # or: pip install everos
everos demo # local educational visualizer, no keys
everos init # paste OpenRouter + DeepInfra keys into .env
everos server start # starts the FastAPI server
curl http://127.0.0.1:8000/health # -> {"status":"ok"}添加和搜索记忆都是普通的 HTTP 调用。下面的示例存储一条事实,强制进行提取,然后将其检索回来。
# 1) Add a short conversation
curl -X POST http://127.0.0.1:8000/api/v1/memory/add \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default",
"messages":[{"sender_id":"alice","role":"user","timestamp":1750000000000,
"content":"I love climbing in Yosemite every spring."}]}'
# 2) Flush to force extraction (local demo)
curl -X POST http://127.0.0.1:8000/api/v1/memory/flush \
-H 'Content-Type: application/json' \
-d '{"session_id":"demo-001","app_id":"default","project_id":"default"}'
# 3) Search it back
curl -X POST http://127.0.0.1:8000/api/v1/memory/search \
-H 'Content-Type: application/json' \
-d '{"user_id":"alice","app_id":"default","project_id":"default",
"query":"Where do I like to climb?","top_k":5}'多模态摄入是一个可选的附加功能。安装 everos[multimodal] 会增加对图像、PDF 和音频的解析。Office 文档还需要 LibreOffice,它会在解析前将文件转换为 PDF。
试一试:交互式记忆演示
下方嵌入的演示会在你的浏览器中模拟 EverOS 的循环。添加一段内容,观察它被提取并打上标签,然后通过混合检索将其搜索回来。它仅用于演示,不会连接到实时服务器。
来源:MarkTechPost(RSS) · marktechpost.com