@yyyole: Agent memory的创业方向好火爆! 很多团队都在做,大概有下面几种比较主流的思路: 第一种最粗暴:context路线,把上下文增长。 第二种最常见:RAG / 向量库路线,接一个向量库把历史内容 embedding 后做检索。 第…
摘要
介绍Agent memory创业的几种主流思路,并推荐EverMind团队的开源项目EverOS,它提供以Markdown为源的本地记忆操作系统,支持双轨记忆、多模态摄取和自演化能力。
查看缓存全文
缓存时间: 2026/06/22 07:39
Agent memory的创业方向好火爆! 很多团队都在做,大概有下面几种比较主流的思路: 第一种最粗暴:context路线,把上下文增长。 第二种最常见:RAG / 向量库路线,接一个向量库把历史内容 embedding 后做检索。 第三种是产品思维:memory API路线,把记忆封装成 API,直接调用。 三种方向,其实利弊都很突出!
我越来越认可的方向,是EverMind团队最近在GitHub开源的项目:EverOS 非常值得关注,早早就点上了star! GitHub repo: https://github.com/EverMind-AI/EverOS… 他们提出了第四种思路,解决方案是: 把记忆做成一个可读、可编辑、可版本管理、可被人和 Agent 共同维护的知识层。 不是再做一个 Agent,而是在做 Agent 真正缺的一层基础设施:memory layer。
我觉得EverOS有几个特别务实,而且非常亮眼的特点: 第一,是把 Markdown 作为记忆源。 记忆是以 Markdown 保存,你可以直接打开、阅读、编辑、管理,甚至放进 Obsidian 里,人和agent都可以读,这是可检查的! 第二,两条记忆轨道并行 用户记忆(user memory)回答“这个人是谁、偏好什么、过去发生过什么”, Agent 记忆(agent memory)回答“我做过哪些任务、哪些流程有效、哪些错误不要再犯”。 这个设计很重要!这两种记忆区分开,后面做权限、检索、迁移、复用都会非常的顺畅,并且几乎不会出幺蛾子。 第三,非常务实的本地栈 本地三件套“Markdown + SQLite + LanceDB”,既能本地跑,又能支持结构化过滤、BM25 和向量检索。 第四,多模态摄入 这比只支持 chat history 实用很多,因为用户的上下文从来不只存在于聊天框里,它可能在文本、图片、网页、会议录音、邮件和代码仓库里,不同格式内容都可以统一进 searchable memory。 第五,自演化能力 这点我最喜欢,很多团队做成了单独产品! EverOS 不是简单把记忆“存一下,再搜出来”,它还能从真实使用中提取常见 cases 和 skills,让重复出现的工作模式变成可复用能力,而不是每次都让 Agent 重新摸索。
EverOS这个整体方案,感觉会成为下一代Agent的落地方向: 记忆不只是 recall,而应该让系统逐渐更懂任务、更懂用户、更懂自己。
当然,Agent memory 仍然有很多难题: 比如什么该记、什么不该记、如何避免错误记忆、权限隔离、记忆质量衡量、处理隐私和同步等等。 这些,都还需要更优的解决方案,也正因为这些问题还没完全解决,开源项目才值得更多 builder 参与、试用、提 issue、做 demo。 所以,有能力的开发者大佬,不妨持续关注一下。 这个世界,需要更多的 builder ~
EverMind-AI/EverOS
Source: https://github.com/EverMind-AI/EverOS
Table of Contents
- EverOS 1.0.0
- Why Ever OS
- Quick Start
- Use Cases
- Architecture At A Glance
- Storage Layout
- Features
- Project Structure
- Documentation
- Watch EverOS
- EverMind Ecosystems
- Contributing
EverOS 1.0.0
EverOS 1.0.0 is a major release for self-evolving memory. It brings a local-first runtime, Markdown as the source of truth, hybrid retrieval, multimodal ingestion, user and agent memory scopes, and modular algorithms through EverAlgo.
Coming next: Knowledge Wiki will turn memory into editable, source-backed Markdown knowledge pages. Reflection will run when the system is idle or offline to connect signals, compress history, and improve profiles and skills between sessions.
Why Ever OS
EverOS is the local memory operating system for agents and makers. It gives one portable memory layer across coding assistants, apps, devices, and workflows. Today it stores conversations, files, and agent trajectories as readable Markdown, then syncs local SQLite and LanceDB indexes for fast retrieval and self-evolving reuse.
| Title | EverOS | Other Agent Memory Libraries |
|---|---|---|
| Markdown source of truth | ✅ Canonical .md files that are readable, editable, diffable, and Git-versioned |
❌ Usually API, vector, graph, dashboard, or database state |
| Direct file editing | ✅ Edit .md files; cascade watcher syncs |
❌ Usually SDK, API, dashboard, or backend update paths |
| Local three-part stack | ✅ Markdown + SQLite + LanceDB; no MongoDB, Elasticsearch, or Redis required | ❌ Often depends on managed services, vector DBs, graph DBs, or server stacks |
| User + agent tracks | ✅ User episodes/profile and agent cases/skills are separate first-class surfaces |
❌ Usually centered on chat history, profiles, entities, facts, or retrieval records |
| Orthogonal retrieval | ✅ Search by user_id, agent_id, app_id, project_id, and session_id |
❌ Usually app, namespace, tenant, thread, or graph scoped |
| Knowledge Wiki | ✅ Coming next: editable, source-backed Markdown knowledge pages built from memory | ❌ Usually retrieval, graph, dashboards, or generated summaries instead of editable source-backed pages |
| Reflection | ✅ Coming next: Reflection that runs when the system is idle or offline to connect signals, compress history, and improve profiles and skills between sessions | ❌ Usually online read/write APIs, retrieval records, or summaries rather than idle-time memory consolidation |
Quick Start
Goal: start EverOS, write one memory, and search it back.
0. Prerequisites
- Python 3.12+
- API keys for the default providers: OpenRouter for chat / multimodal, and
DeepInfra for embedding / rerank. You can use other OpenAI-compatible
providers by changing the matching
*__BASE_URLfields in.env.
1. Install
uv pip install everos
# or: pip install everos
2. Configure
Generate a starter .env file, then fill the four API key slots shown in the
generated comments. Only two distinct keys are needed with the defaults:
OpenRouter for LLM / MULTIMODAL, and DeepInfra for EMBEDDING / RERANK.
everos init
# or, from a source checkout:
cp .env.example .env
everos init writes ./.env by default. Use everos init --xdg to
write ${XDG_CONFIG_HOME:-~/.config}/everos/.env instead.
3. Start EverOS
everos server start
Keep the server running, then open a second terminal and check it:
curl http://127.0.0.1:8000/health
Expected response:
{"status":"ok"}
everos server start searches for .env in this order: --env-file <path> →
./.env (cwd) → ${XDG_CONFIG_HOME:-~/.config}/everos/.env → ~/.everos/.env.
The endpoint stack is OpenAI-protocol compatible (OpenAI / OpenRouter / vLLM /
Ollama / DeepInfra) - override *__BASE_URL in the generated .env to point
at any of them.
4. Try Your First Memory
Add a tiny conversation:
TS=$(($(date +%s)*1000))
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\": $TS, \"content\": \"I love climbing in Yosemite every spring.\"},
{\"sender_id\": \"alice\", \"role\": \"user\", \"timestamp\": $((TS+10000)), \"content\": \"My favorite coffee shop is Blue Bottle in SOMA.\"}
]
}"
Force extraction for the 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"}'
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
}'
You should see the Yosemite memory in the response. If the result is empty on the first try, wait a moment and retry; Markdown is written synchronously, while the local index catches up in the background.
First memory unlocked. You just gave EverOS a fact, flushed it into durable Markdown-backed memory, and searched it back through the local index. That is the core loop. Want to see the source of truth? Open
~/.everosand inspect the generated Markdown files.
For annotated responses and the Markdown files EverOS creates, see QUICKSTART.md.
Optional: Ingest Multimodal Files
To ingest non-text content (image / pdf / audio / office documents)
through /api/v1/memory/add content items, install the optional
extra:
uv pip install 'everos[multimodal]' # or: pip install 'everos[multimodal]'
This pulls in everalgo-parser (with the [svg] bundle for SVG
support via cairosvg) and wires up the multimodal LLM client
(EVEROS_MULTIMODAL__* fields in .env, defaults to
google/gemini-3-flash-preview via OpenRouter).
Office document support requires LibreOffice as a system dependency.
The parser shells out to soffice (LibreOffice’s headless renderer) to
convert .doc / .docx / .ppt / .pptx / .xls / .xlsx to PDF
before feeding the result into the multimodal LLM. Without LibreOffice,
office uploads return HTTP 415 with a clear error message; PDF / image
/ audio / HTML / email parsing is unaffected.
Install on the host before serving office documents:
brew install --cask libreoffice # macOS
sudo apt-get install -y libreoffice # Debian / Ubuntu
For Contributors
git clone https://github.com/EverMind-AI/EverOS.git
cd EverOS
uv sync # creates ./.venv and installs deps
source .venv/bin/activate # or prefix commands with `uv run`
everos init # fill the four API key slots in .env (two distinct keys)
everos --help
make test
Use Cases
Now that you have had your first successful EverOS moment, explore what people are building with persistent memory across agents, apps, and community integrations.
Use cases show what persistent memory makes possible in real products and workflows. Some examples are packaged in this repository; others point to external demos or integrations you can study and adapt.
Reunite - Find With EverOSParents describe what they remember. Children describe what they recall. Reunite uses semantic memory to surface the connections. |
Hive OrchestratorBrowser-native hive-mind for CLI coding agents - Claude Code, Codex, Gemini, and OpenCode collaborate as real PTY processes via a team protocol. |
AI Coding Assistants With EverOSUniversal long-term memory layer for AI coding assistants, powered by EverOS. |
AI Data TechnicianAn agentic AI system that learns from scientist interaction to inspect, analyze, and classify high-dimensional time series data - with persistent memory that improves across sessions. |
Rokid AI Assistant With EverOSConnect to EverOS within Rokid Glasses enabling long-term memory for all of your smart activities. Coming soon |
Creative Assistant With MemoryCreative assistant with long-term memory, so your creative context stays available across sessions. Coming soon |
|
|
|
Earth Online Memory GameEarth Online is a memory-aware productivity game that turns everyday planning into a living quest log. |
Multi-Agent Orchestration PlatformGolutra presents a multi-agent workforce for engineering teams, extending the IDE model from a single assistant to coordinated agents. |
Your Personal Tasting UniverseRecord, visualize, and explore your tasting journey through an immersive 3D star map. |
EverOS Open HerBuild AI that feels. Open-source persona engine - personality emerges from neural drives, not prompts. Inspired by Her. |
Browser Agent For Personal MemoryRuminer brings persistent memory to a browser agent so it can carry personal context across web tasks. |
EverMem Sync With EverOSOne command to connect any AI coding CLI to EverMemOS long-term memory. |
|
|
|
MCO - Orchestrate AI Coding AgentsMCO equips your primary agent with an agent team that can work together to solve complex tasks. |
Study Buddy With Self-Evolving MemoryStudy proactively with an agent that has self-evolving memory. |
Alzheimer’s Memory AssistantEmpowering individuals with advanced memory support and daily assistance. |
Memory-Driven Multi-Agent NPC ExperienceAn iOS sci-fi mystery game where players explore and uncover the truth. |
Mobi CompanionAn iOS app where users create, nurture, and live with a personalized AI companion called Mobi. |
AI Wearable With MemoryA context-native AI wearable that listens to everyday life and converts conversations into memory. |
|
|
|
Legacy OpenClaw Agent MemoryArchived pre-1.0.0 plugin reference. New integrations should use the EverOS 1.0.0 API. |
Live2D Character With MemoryAdd long-term memory to a real-time Live2D character, powered by TEN Framework. |
Computer-Use With MemoryRun screenshot-based analysis with computer-use and store the results in memory. |
Game Of Thrones MemoriesA demonstration of AI memory infrastructure through an interactive Q&A experience with A Game of Thrones. |
Claude Code PluginPersistent memory for Claude Code. Automatically saves and recalls context from past coding sessions. |
Memory Graph VisualizationExplore stored entities and relationships in a graph interface. Frontend demo; backend integration is in progress. |
Architecture At A Glance
┌───────────────────────────────────────────────┐
│ entrypoints/ (CLI + HTTP API) │ presentation
├───────────────────────────────────────────────┤
│ service/ (use cases: memorize/retrieve) │ application
├───────────────────────────────────────────────┤
│ memory/ (extract + search + cascade) │ domain
├───────────────────────────────────────────────┤
│ infra/ (markdown / sqlite / lancedb) │ infrastructure
└───────────────────────────────────────────────┘
↑ ↑
component/ core/
(LLM/Embedding) (observability/lifespan)
DDD 5 layers, single-direction dependency. See docs/architecture.md.
Storage Layout
~/.everos/
├── default_app/ # app_id ("default" → "default_app" on disk)
│ └── default_project/ # project_id ("default" → "default_project")
│ ├── users/<user_id>/
│ │ ├── user.md # profile
│ │ ├── episodes/ # daily-log episodes (visible)
│ │ ├── .atomic_facts/ # nested facts (dotfile-hidden)
│ │ └── .foresights/ # predictive memory (dotfile-hidden)
│ └── agents/<agent_id>/
│ ├── agent.md
│ ├── .cases/ # one task case per entry
│ └── skills/ # named procedural memories
├── .index/ # derived indexes (rebuildable from md)
│ ├── sqlite/system.db # state + queue + audit
│ └── lancedb/*.lance/ # vector + BM25 + scalar
└── .tmp/ # transient working files
Open any <app>/<project>/users/<user_id>/ folder in Obsidian — your
agent’s brain is just files. The dotfile directories (.atomic_facts/,
.foresights/, .cases/) stay hidden by default so the visible folder
is the user-facing memory surface, while extracted derivatives sit
quietly alongside.
Features
- Hybrid retrieval: BM25 + cosine vector ANN + scalar filters, backed by LanceDB
- Cascade index sync: edit a
.md→ file watcher → entry-level diff → LanceDB sync, sub-second - Multi-source extraction: conversations / agent trajectories / file knowledge
- Dual-track memory: user-track (Episodes / Profiles) + agent-track (Cases / Skills)
- Async-first: full asyncio, single event loop
- Multi-modal: text + small image / audio inline; large media via S3/OSS reference
Project Structure
everos/ # repo root
├── src/everos/ # main package (src layout)
│ ├── entrypoints/ # cli + api
│ ├── service/ # use case orchestration
│ ├── memory/ # domain: extract + search + cascade + prompt_slots
│ ├── infra/ # storage: markdown + lancedb + sqlite
│ ├── component/ # cross-cutting: llm / embedding / config / utils
│ ├── core/ # runtime: observability / lifespan / context
│ └── config/ # configuration data + Settings schema
├── tests/ # unit / integration / golden / fixtures
├── docs/ # design docs
└── .claude/ # team-shared rules + skills (auto-loaded by Claude Code)
Documentation
- docs/overview.md — Project overview & vision
- docs/architecture.md — DDD layered architecture & dependency rules
- docs/engineering.md — Engineering & dev-efficiency infrastructure (CI / tooling / Claude Code)
- docs/use-cases.md — Full use-case gallery and integration examples
- docs/migration-to-1.0.0.md — Legacy API and infrastructure migration notes
- CHANGELOG.md — Release notes
- CONTRIBUTING.md — How to contribute
- .claude/rules/ — Detailed coding conventions (auto-loaded by Claude Code)
Watch EverOS
EverOS 1.0.0 is the first release of a larger memory-system roadmap. Watch this repository for upcoming work on deeper idle-time and offline evolution, benchmark releases, and more real-world agent integrations.
|
Knowledge Wiki Turns scattered episodes, files, facts, and agent traces into source-backed Markdown pages for people, projects, topics, decisions, and workflows. Memory becomes something users can read, correct, link, version, and open in their existing Markdown tools. |
Reflection Runs when the system is idle or offline to revisit stored memory, connect weak signals, compress noisy history into durable patterns, and improve profiles and skills. The agent gets better between active sessions, not only while you prompt it. |
Most memory systems stop at chat history, opaque profiles, or vector recall. EverOS keeps memory local, Markdown-native, auditable, and self-evolving: raw memory stays readable, derived knowledge becomes a wiki, and Reflection turns repeated experience into more useful long-term behavior.
If EverOS is useful to your agent stack, starring the repo helps more builders discover it.
Star History
EverMind Ecosystems
EverMind is an open-source ecosystem for long-term memory, self-evolving agents, and memory evaluation.
| EverMind Open-Source Ecosystem | |
|---|---|
| Core Memory Architecture | EverOS - the local memory operating system and research-backed runtime for agent and user memory. |
| Algorithm Engine | EverAlgo - stateless extraction, ranking, parsing, and memory operators that power EverOS. |
| Alternative Architecture | HyperMem - hypergraph memory for long-term conversations, with its own benchmark-backed topic -> episode -> fact retrieval method. |
| Benchmarks | EverMemBench · EvoAgentBench - evaluation suites for conversational memory and agent self-evolution. |
| Long-Context Research | MSA - Memory Sparse Attention for scalable latent memory and 100M-token contexts. |
| Personal Memory Layer | EverMe - CLI and agent plugin suite for cross-device, cross-agent personal memory. |
| Developer Integrations | evermem-claude-code · everos-plugins - plugins, skills, and migration tooling for AI coding agents. |
Together, these repositories form EverMind’s research-to-runtime stack: new memory methods, reusable algorithms, benchmark evidence, and practical agent integrations.
Contributing
Contributions are welcome across the whole repository: architecture methods, benchmark coverage, use-case examples, documentation, and bug fixes. Browse Issues to find a good entry point, then open a PR when you are ready.
Welcome all kinds of contributions 🎉
Help make EverOS better. Code, documentation, benchmark reports, use-case write-ups, and integration examples are all valuable. Share your projects on social media to inspire others.
Connect with one of the EverOS maintainers @elliotchen200 on 𝕏 or @cyfyifanchen on GitHub for project updates, discussions, and collaboration opportunities.
Code Contributors
License
Apache License 2.0 — see NOTICE for third-party attributions.
Citation
If you use EverOS in research, see CITATION.md.
相似文章
@AYi_AInotes: https://x.com/AYi_AInotes/status/2069399806502453264
一篇保姆级教程,介绍如何用30分钟为AI Agent搭好持久记忆,使用开源的EverOS工具,将记忆存储为可编辑的Markdown文件,无需Docker或向量库集群。
@Pluvio9yte: https://x.com/Pluvio9yte/status/2070318502016426008
本文深入探讨了AI Agent的记忆架构,以Hermes四层记忆模型为例,分析了Claude Code记忆系统的局限性,并介绍了如何通过开源框架(如EverOS)为Agent增添本地记忆能力,提供了详细部署步骤。
@9hills: 尝试了多种Agent Memory实现,只有两种我觉得还有点用: 1. Hermes 这种严格限制长度的条目级记忆和会话召回,用来解决个人助理所需的记忆。但是这种和Coding没关系。 2. 根据轨迹沉淀 skill 和 skill 进化…
作者分享了尝试多种Agent Memory实现后的心得,认为只有严格限制长度的条目级记忆(如Hermes)和基于轨迹沉淀的技能进化两种方法比较有用,其他图谱类或卡片类的方法效果不佳。
@Xudong07452910: Agent 记忆最危险的时候,往往是它太相信过去。 很多 Memory Agent 找到相似经验后,会直接把它塞进上下文。但任务相似,不代表当前状态相同,旧经验有时反而会把决策带偏。 这篇论文提出 MemHarness,把 Agent 使…
MemHarness 提出将 Agent 记忆从简单回放改为基于当前状态的重构,通过 GRPO 端到端训练,在 ALFWorld 和 WebShop 上显著提升成功率。
@WY_mask: 给各类 AI 编程助手打造持久化记忆引擎 http://github.com/rohitg00/agentmemory… 在后台静默记录代码修改和上下文 自动提取并压缩成结构化记忆 节省长上下文带来的 Token 消耗 关联过去的信息,随…
agentmemory 是一个为 AI 编程助手提供持久化记忆的开源工具,能静默记录代码修改和上下文,自动提取并压缩成结构化记忆,降低 Token 消耗,并支持 Claude Code、Codex 等多种主流平台。