20 KiB
Table of Contents
- What is EverOS
- Architecture at a glance
- Quick start
- Storage layout
- Features
- Project structure
- Documentation
- Use Cases
- Stay Tuned
- Contributing
What is EverOS
EverOS is an open-source Python framework that turns conversations, agent trajectories, and files into structured, retrievable, evolving long-term memory for AI agents and user chats. Designed for lightweight local deployments (small teams, individual developers), with three core principles:
- Markdown as Source of Truth — All memory persists as plain
.mdfiles. Open, edit, grep, version with Git, view in Obsidian. No black-box database lock-in. - Lightweight three-piece storage —
Markdownfiles (truth) +SQLite(state/queue) +LanceDB(vector + BM25 + scalar). No MongoDB / Elasticsearch / Milvus / Redis / Kafka required. - EverAlgo as pure algorithm library — Memory extraction algorithms are decoupled into a separate library; this project orchestrates and persists.
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.
Quick start
Install as a package
uv pip install everos # or: pip install everos
# Generate a starter .env (OpenRouter + DeepInfra defaults; bundled inside the wheel)
everos init # writes ./.env (use --xdg for ~/.config/everos/.env)
# Edit .env and fill the API key fields (see comments inside).
everos --help
everos server start
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.
Multi-modal (optional)
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 a step-by-step walkthrough (add a conversation → flush → search → read the markdown), see QUICKSTART.md.
Develop locally
git clone https://github.com/EverMind-AI/EverOS.git
cd EverOS
uv sync # creates ./.venv and installs deps
source .venv/bin/activate # — or skip activation and prefix every command with `uv run`
everos init # fill the four API key slots in .env (two distinct keys)
everos --help
make test
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 + vector (HNSW/IVF-PQ) + scalar filter, single-query in 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/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)
Use Cases
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 TechicianAn 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, never forget your crativites anymore. 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. |
Stay Tuned
Star the repo or join the community links above to follow new architecture methods, benchmark releases, and memory-enabled use cases.
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.