|
|
||
|---|---|---|
| .claude | ||
| .github | ||
| data | ||
| docs | ||
| scripts | ||
| src/everos | ||
| tests | ||
| use-cases | ||
| .env.example | ||
| .gitignore | ||
| .gitlint | ||
| .pre-commit-config.yaml | ||
| ACKNOWLEDGMENTS.md | ||
| CHANGELOG.md | ||
| CITATION.md | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| Makefile | ||
| NOTICE | ||
| QUICKSTART.md | ||
| README.md | ||
| README.zh-CN.md | ||
| SECURITY.md | ||
| config.example.toml | ||
| pyproject.toml | ||
| uv.lock | ||
README.md
Table of Contents
- EverOS 1.0.0
- EverOS: One Memory For All
- How EverOS Is Different
- Quick Start
- Use Cases
- Architecture At A Glance
- Storage Layout
- Features
- Project Structure
- Documentation
- Watch EverOS
- EverMind Ecosystems
- Contributing
EverOS 1.0.0
[!IMPORTANT]
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, also called Dreaming, will run when the system is idle or offline to connect signals, compress history, and improve profiles and skills between sessions.
EverOS: One Memory For All
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.
|
Markdown As Source Of Truth All memory is persisted as .md files: readable, editable,
grep-able, Git-versioned, and openable directly in Obsidian.
|
Local Three-Part Stack Markdown + SQLite + LanceDB keep vectors, BM25, and scalar filters local. No MongoDB, Elasticsearch, or Redis required. |
Dual-Track Memory Agent memory ( cases / skills) and user memory
(episodes / profile) are extracted independently.
|
|
Multimodal Ingestion Text, images, audio, documents, PDFs, HTML, and email are unified into searchable memory. |
Self-Evolution Common skills are extracted from real usage; repeated patterns become reusable workflows, no retraining required. |
Orthogonal Retrieval Search independently by user_id, agent_id,
app_id, project_id, and session_id.
|
How EverOS Is Different
| 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 |
| Dreaming / 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.
[!TIP] 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. |
Dreaming / 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.
[!TIP]
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.