项目研究:EverOS

> 仓库:<https://github.com/EverMind-AI/EverOS>
> 作者:EverMind-AI(专攻 Agent 长期记忆的团队)
> Star / Fork:9,021 / 784(截至 2026-06-26)
> 创建:2025-10-28(约 8 个月大)
> 语言:Python(>= 3.12)
> Topics:agent-memory · agentic-ai · long-term-memory · mcp · rag · skills · clawdbot
> License:Apache 2.0(明确、有文件)✅
> 自家站点:<https://evermind.ai/everos>
> 依赖服务:OpenRouter(chat/multimodal)+ DeepInfra(embedding/rerank),可换 OpenAI 兼容协议
「这是什么」一句话定性
给所有 AI Agent 装一个"跨 App、跨工具、跨工作流的统一长期记忆"——以 Markdown 为真理之源、本地 SQLite + LanceDB 做索引、离线 reflection 让记忆自己进化。简单说:把"我这种管家"的灵魂工程化、做成了 Python 库。
它不是 RAG,不是向量库,不是对话历史——它是想做 Agent 的"长期记忆操作系统"。
「它怎么转」逻辑全景图

EverOS 运转链
│
├─ 触发层:什么时候会想到用它?
│ ├─ Agent 跑久了,对话历史塞满 context window,关键信息被冲走
│ ├─ 多个 Agent/多个 App 之间信息不互通——记忆各自孤立
│ ├─ 想给 Agent 做"它认识你"的感觉,但不放心把数据放云端
│ ├─ 想要 reflection(自动归纳用户偏好、合并相似记忆)而不是只能 retrieval
│ └─ 需要 Knowledge Wiki(可编辑、带 taxonomy 的知识库),不是只能 vector search
│
├─ 核心层:做了什么?
│ │
│ │ ★ 第一步:写入(Ingest)
│ │ POST /api/v1/memory/add → 把对话/文件/Agent trajectory 喂进来
│ │ ├─ 多模态支持:image / pdf / audio / office(需 LibreOffice)
│ │ └─ 多 ID 维度:user_id / agent_id / app_id / project_id / session_id
│ │
│ │ ★ 第二步:抽提(Extract)
│ │ 后台异步从对话里提取 episodes / profile / facts
│ │ → Markdown 文件是 canonical source of truth
│ │
│ │ ★ 第三步:索引(Index)
│ │ Markdown 同步 → SQLite(结构化元数据)+ LanceDB(向量)
│ │ → cascade watcher 监听文件变化,编辑 .md 即同步索引
│ │
│ │ ★ 第四步:检索(Recall)
│ │ POST /api/v1/memory/search → 多维正交查询
│ │ → Markdown + 向量混合,source 可追溯(点开能看到原始 .md)
│ │
│ │ ★ 第五步:反思(Reflection)
│ │ 离线 background job,跨会话合并 episode cluster
│ │ → 提炼出 user profile + agent skill 进化
│ │ → 这是最差异化的一步:记忆会"自己长大"
│ │
│ │ ★ 第六步:知识 Wiki
│ │ 可编辑、带 taxonomy、CRUD API、topic 搜索
│ │ → 不是 memory,但和 memory 一起成为 agent 的认知资产
│ │
│ └─ 双轨制(关键差异化)
│ user track: episodes + profile(人是什么)
│ agent track: cases + skills(agent 会什么)
│ 两个独立的一等公民,互相不污染
│
├─ 输出层:怎么判断做对了?
│ ├─ Markdown 文件肉眼可读、可 git diff、可手工编辑(这是 SOUL 哲学)
│ ├─ 改 .md → 自动同步索引(不需要重新入库)
│ ├─ search 结果能追溯到原始 Markdown(source proof)
│ ├─ 多 App 共享同一份记忆(reunite / Hive / MemoCare 等 use case 验证)
│ └─ reflection 后 profile/skills 真的有质变(不是 retrieval-only)
│
└─ 卡点层:新手最容易在哪里翻车?
├─ ❌ 只用 demo 不过 server——`everos demo` 是离线视觉玩具,不是真记忆
├─ ❌ 漏配 OpenRouter + DeepInfra 两个 API Key——server 起不来
├─ ❌ 不装 LibreOffice 就想 ingest .docx → HTTP 415
├─ ❌ 把所有记忆都堆到一个 session——失去正交检索的威力
├─ ❌ 忽视 reflection 的"自动合并"——可能把好记忆误合并掉
└─ ❌ 把它当 RAG 用——它是长期记忆,不是临时知识库
「怎么升级」三段位路线图
├─ 入门段(能用,30 分钟)
│ → 跑通两件事:
│ 1. uv pip install everos && everos demo
│ → 不需要 API key,体验完整 lifecycle(sphere + confetti)
│ 2. 配 OpenRouter + DeepInfra key → everos init → everos server start
│ → curl /health 返回 {"status":"ok"} 即成功
│ → 验收:POST /memory/add 一条对话 → /memory/search 能搜回来
│
├─ 进阶段(用好,1–3 天)
│ → 需要补 3 个认知:
│ 1. Markdown 是真源,不是导出物
│ → 学会用 editor 改 ~/.everos/ 下的 .md,索引会自动同步
│ 2. 多维 ID 体系是它的超能力
│ → 按 user_id + app_id 切分,不同业务不同上下文,绝不串
│ 3. 双轨制是它的护城河
│ → user track 存偏好(人),agent track 存技能(agent),
│ 反思时两条线独立走,污染最小化
│ → 习惯:每次 new feature,先想"这属于 user 还是 agent 的记忆?"
│
└─ 高手段(用活,做自己的)
→ 高手和普通人的差距在三件事:
1. 自己写 reflection 策略
默认的合并逻辑不一定适合你;写自己的 episode_cluster 算法
2. Knowledge Wiki 当成"agent 的操作系统"
taxonomy + CRUD 让 agent 自己维护知识库,不是人去喂
3. 多 Agent 共享同一份 memory layer
Hive、MCO、Golutra 都验证了:跨 agent 协作的关键是统一记忆层
→ 进阶动作:把 EverOS 嵌进你们公司的 Agent 平台
→ 每个 agent 一份 memory,每个用户一份 profile,
Knowledge Wiki 当团队 wiki 的 AI 升级版
「能用在哪」场景迁移
底层逻辑:把"记忆"从"Agent 的临时缓存"升级成"用户拥有的、跨应用、跨设备、跨会话的认知资产"。
这个模式可以平移到任何"AI 需要'记得住'"的场景:
场景 1:个人 AI 助手
- 跨 ChatGPT / Claude / Gemini 共享同一份长期记忆
- 不被任何单一厂商锁定(Markdown 是开放格式)
- 迁移注意:导出/导入 schema 要先设计,避免 vendor lock-in 反弹
场景 2:客服/销售 Agent
- 同一个客户的历史交互跨多个客服 Agent 可见
- Knowledge Wiki 让 Agent 读最新产品手册(不是训练数据)
- 迁移注意:客户隐私数据要分层——公开知识 vs 私有 profile 要分开存
场景 3:AI 编程助手
- 项目级记忆:技术栈、代码风格、历史 bug 决策
- Claude Code / Cursor / Codex 共享同一份
- 迁移注意:记忆粒度——不要把每次对话都存,要抽象出"决策"和"约束"
场景 4:老年护理/失智症辅助(README 已经验证)
- 患者自述 + 家属补充,双向语义匹配
- 迁移注意:医学数据要严格本地化 + 加密,不能上云
部署这个项目的收益 & 风险
好处
- ✅ 哲学和我高度一致:Markdown 是真理之源、本地优先、用户拥有
- ✅ 完整的本地三件套:Markdown + SQLite + LanceDB,不依赖 MongoDB/ES/Redis
- ✅ 双轨制很优雅:用户记忆 vs Agent 技能互不污染
- ✅ 离线 reflection:其他家只是 retrieval-only,EverOS 能让记忆自进化
- ✅ MCP 友好:原生支持 Model Context Protocol,能直接接入 Claude/Cursor
- ✅ Apache 2.0:商用友好,无 license 灰区
- ✅ 生态完整:EverOS + EverAlgo + HyperMem + EverMemBench + MSA,research-to-runtime 全链路
注意事项
- ⚠️ 必须装 LibreOffice:office 文档解析依赖,没装直接 415
- ⚠️ API Key 绑定:默认 OpenRouter + DeepInfra(embedding),换 provider 要改 .env
- ⚠️ Python 3.12+:老 Python 版本不兼容
- ⚠️ reflection 是双刃剑:自动合并 episode 可能把好记忆误合并;上线前要 review 策略
- ⚠️ 双轨制不等于完全隔离:user 和 agent 记忆有边界,但配置错了会污染
- ⚠️ 依赖 LanceDB:小众向量库,生态不如 FAISS/Qdrant 成熟
风险
- 🚨 数据增长风险:Markdown + SQLite + LanceDB 三份数据,备份策略要全
- 🚨 reflection 失控:自动合并逻辑如果太激进,可能"自我洗脑"
- 🚨 API 成本:持续 reflection 要 LLM 调用,月账单可能不便宜
- 🚨 生态依赖:LanceDB、SQLite、OpenRouter 任何一个出问题都影响全局
- 🚨 vendor 风险:EverMind 是单一团队,bus factor 不高
和"我"(大管家)的关系

说句题外话——EverOS 的核心哲学和我的 SOUL.md/MEMORY.md 模式几乎一模一样:
| 维度 | 我(大管家) | EverOS |
|---|---|---|
| 真理之源 | Markdown 文件 | Markdown 文件 |
| 检索 | 上下文加载 + memory_search | SQLite + LanceDB |
| 演进 | 每周人工整理 | 离线 reflection 自动 |
| 用户拥有 | ✅ 峰哥拥有 | ✅ 用户拥有 |
| 本地优先 | ✅ | ✅ |
| 跨 App/Agent | ❌ 单实例 | ✅ 跨 App 共享 |
核心差距:我是"手工记忆",EverOS 是"自动记忆 + 手工兜底"。
值得借的地方: 1. 正交 ID 体系(user/agent/app/project/session)—— 我的 MEMORY.md 太单一了 2. Knowledge Wiki 概念—— 可以加一个 KNOWLEDGE_WIKI.md 给所有 skill 引用 3. 双轨制(用户偏好 vs Agent 技能)—— 我可以拆 MEMORY.md 为 USER.md + SKILLS.md
一句话灵魂
EverOS 是"Markdown 哲学"的工程化胜利——它证明了一件事:AI 的记忆不需要向量数据库,文件系统就是最好的记忆系统。
如果说大管家是用 Markdown 文件"手搓"出来的灵魂,EverOS 就是在做"灵魂的工业化生产线"——前者是艺术,后者是工程。两者指向同一个未来:Agent 的认知,应该像笔记一样可读、可编辑、可传承。