EverMind-AI/EverOS
One portable memory layer for every AI agent: local-first, Markdown-native, user-owned, and self-evolving across apps, tools, and workflows.
EverOS – 持久化、基于 Markdown 的 AI 代理记忆
是什么 – EverOS 是一个 Python 库,为任何 LLM 驱动的代理提供 本地优先 的长期记忆层。它将对话、文件和代理的“事件”以纯文本 Markdown 文件形式存储,同时保持 SQLite 索引和 LanceDB 向量索引同步,以便快速检索数据。
为何重要 – 大多数代理记忆工具将数据隐藏在不透明的数据库或云服务背后。EverOS 让 真相来源 变为人可读的格式,支持版本控制(Git 友好),并可用任意编辑器直接编辑。这使得开发者无需额外仪表板即可检查、对比和演化记忆。
核心理念
| 特性 | EverOS 如何实现 |
|---|---|
| Markdown 作为真相来源 | 每个事件、配置文件或知识页面都是磁盘上的 .md 文件。文件可直接编辑,文件监视器会自动更新 SQLite/LanceDB 索引。 |
| 三部分本地栈 | 无需外部服务: • Markdown 文件用于持久化 • SQLite 用于关系型查询(例如按用户、应用、项目) • LanceDB 用于在配置嵌入提供者时实现快速向量搜索。 |
| 用户与代理的独立轨迹 | episodes/profile 存储用户的个人历史,而 cases/skills 存储代理学到的能力。 |
| 正交检索 | 查询可按 user_id、agent_id、app_id、project_id 和 session_id 范围限定,实现对调用哪些记忆的精细控制。 |
| 知识维基 | 可编辑的 Markdown 知识页面,支持分类、CRUD API 和主题搜索,均集成在同一记忆存储中。 |
| 反思 / 离线演化 | 会话结束后,EverOS 可合并相关事件、优化配置文件,并在下次运行前提取可复用的技能。 |
快速开始(一键设置)
- 安装 –
pip install everos(或uv pip install everos)。 - 运行演示 –
everos demo展示了无需 API 密钥的摄入 → 索引 → 回忆循环。 - 配置 LLM –
everos init创建~/.everos/everos.toml。填写 OpenRouter API 密钥(例如model = "openai/gpt-4.1-mini")。 - 启动服务器 –
everos server start(暴露/api/v2/memory/*)。 - 添加与检索记忆 – 向
/api/v2/memory/add、/flush和/search发送 JSON。仅配置 LLM 即可获得 关键词搜索;添加[embedding]部分可启用混合(向量 + 关键词)搜索、反思和技能提取。
可选扩展
| 扩展 | 增强功能 |
|---|---|
everos[multimodal] |
通过 everalgo-parser 支持图像、PDF、音频和办公文档的摄入。.doc/.ppt/.xls 转换需 LibreOffice。 |
嵌入提供者([embedding]) |
混合搜索、记忆聚类和自动技能提取。 |
重排序提供者([rerank]) |
代理式搜索和知识维基风格的排序。 |
典型用例(如 README 所示)
- 智能眼镜助手 – 体育或可穿戴代理的持久上下文。
- AI 编程助手 – 长期记忆代码片段、项目历史和开发者偏好。
- 数据分析技术人员 – 记住过去对高维时间序列数据的探索的代理。
- 个人记忆辅助工具 – 用于阿尔茨海默症支持、品鉴日志或创意头脑风暴的应用,持续记录用户经历的动态日志。
- 多代理编排平台 – 让多个代理(Claude、Gemini、OpenCode 等)通过共享知识库协作的共享记忆后端。
适合谁使用
- 开发 LLM 代理的开发者,需要一个轻量、离线优先的记忆存储,且能纳入版本控制。
- 产品团队,希望向下游应用(如浏览器、智能眼镜、IDE 插件)暴露记忆 API,而无需管理外部向量数据库。
- 研究人员,探索记忆驱动提示、反思或长周期代理行为。
代码中快速上手(最小示例)
from everos import EverOSClient
client = EverOSClient(root="~/.everos")
# 添加一段简短对话
client.add_memory(
session_id="demo-001",
app_id="demo",
project_id="demo",
messages=[
{"sender_id": "alice", "role": "user", "content": "我喜欢在优胜美地攀岩。"},
{"sender_id": "alice", "role": "assistant", "content": "听起来很有趣!"},
],
)
client.flush_memory(session_id="demo-001")
# 关键词搜索
results = client.search_memory(
user_id="alice",
query="我喜欢在哪里攀岩?",
method="keyword",
top_k=5,
)
print(results)
该调用将写入 ~/.everos 下的 Markdown 文件,更新 SQLite/LanceDB 索引,并返回匹配的事件。
生态系统
EverOS 预装了以下集成:
- DeepSeek Harness, Hermes, OpenClaw, Raven, Dify(通过
EverMind-AI/plugins仓库)。 - README 中列出的社区项目(如 AIUI 体育代理、Hive 编排器、EverMem 同步工具等)。
许可与贡献
仓库遵循典型的开源模型(README 指向 make test、uv sync 和 CONTRIBUTING 指南)。欢迎通过拉取请求贡献;项目维护 Discord 和 WeChat 社区以提供支持。
总结 – EverOS 是一个真正的、可投入生产的库,无需依赖外部云服务,即可为任何基于 LLM 的代理提供持久、可编辑、可搜索的记忆存储。其对基于 Markdown 的持久化强调,使其特别吸引那些希望对代理长期知识实现透明性和版本控制的开发者。
相关
- 项目
- 项目
- 项目
- 项目
- 项目