SkillAgentSearch skills...

EverOS

One portable memory layer for every AI agent: local-first, Markdown-native, user-owned, and self-evolving across apps, tools, and workflows.

Install / Use

claude mcp add EverMind-AI -- npx -y github:EverMind-AI/EverOS

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

98/100

Category

Automation

Supported Platforms

Claude Code
Claude Desktop
<div align="center" id="readme-top">

EverOS banner

<p align="center"> <a href="https://x.com/evermind"><img src="https://img.shields.io/badge/EverMind-000000?labelColor=gray&style=for-the-badge&logo=x&logoColor=white" alt="X"></a> <a href="https://huggingface.co/EverMind-AI"><img src="https://img.shields.io/badge/🤗_HuggingFace-EverMind-F5C842?labelColor=gray&style=for-the-badge" alt="HuggingFace"></a> <a href="https://discord.gg/gYep5nQRZJ"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdiscord.com%2Fapi%2Fv10%2Finvites%2FgYep5nQRZJ%3Fwith_counts%3Dtrue&query=%24.approximate_presence_count&suffix=%20online&label=Discord&color=404EED&labelColor=gray&style=for-the-badge&logo=discord&logoColor=white" alt="Discord"></a> <a href="https://github.com/EverMind-AI/EverOS/discussions/67"><img src="https://img.shields.io/badge/WeCom-EverMind_社区-07C160?labelColor=gray&style=for-the-badge&logo=wechat&logoColor=white" alt="WeChat"></a> </p>

Website · Documentation · Blog · 中文

</div> <br> <details> <summary><kbd>Table of Contents</kbd></summary> <br> <br> </details>

Why Ever OS

EverOS is a Python library and local-first memory runtime for agents and makers. It gives one portable memory layer across coding assistants, apps, devices, and workflows from day one. It stores conversations, files, and agent trajectories as readable Markdown, then syncs local SQLite and LanceDB indexes for fast retrieval and self-evolving reuse.

<table> <tr> <th width="28%">Title</th> <th width="36%">EverOS</th> <th width="36%">Other Agent Memory Libraries</th> </tr> <tr> <td><strong>Markdown source of truth</strong></td> <td>✅ Canonical <code>.md</code> files that are readable, editable, diffable, and Git-versioned</td> <td>❌ Usually API, vector, graph, dashboard, or database state</td> </tr> <tr> <td><strong>Direct file editing</strong></td> <td>✅ Edit <code>.md</code> files; cascade watcher syncs</td> <td>❌ Usually SDK, API, dashboard, or backend update paths</td> </tr> <tr> <td><strong>Local three-part stack</strong></td> <td>✅ Markdown + SQLite + LanceDB; no MongoDB, Elasticsearch, or Redis required</td> <td>❌ Often depends on managed services, vector DBs, graph DBs, or server stacks</td> </tr> <tr> <td><strong>User + agent tracks</strong></td> <td>✅ User <code>episodes/profile</code> and agent <code>cases/skills</code> are separate first-class surfaces</td> <td>❌ Usually centered on chat history, profiles, entities, facts, or retrieval records</td> </tr> <tr> <td><strong>Orthogonal retrieval</strong></td> <td>✅ Search by <code>user_id</code>, <code>agent_id</code>, <code>app_id</code>, <code>project_id</code>, and <code>session_id</code></td> <td>❌ Usually app, namespace, tenant, thread, or graph scoped</td> </tr> <tr> <td><strong>Knowledge Wiki</strong></td> <td>✅ Editable, source-backed Markdown knowledge pages with taxonomy, CRUD APIs, and topic search</td> <td>❌ Usually separate from memory, trapped in a dashboard, or not tied back to source files</td> </tr> <tr> <td><strong>Reflection</strong></td> <td>✅ Offline memory evolution that merges episode clusters and refines profiles and skills between sessions</td> <td>❌ Usually retrieval-only memory with little background consolidation or long-horizon improvement</td> </tr> </table> <br>

Quick Start

One OpenRouter API key is enough to start EverOS, write durable memories, and retrieve them with keyword search.

Prerequisites

1. Install

uv pip install everos
# or: pip install everos

2. Try the standalone demo — no key required

Before configuring a provider or starting the server, run:

everos demo

The command asks for one memory and one recall question, then opens a full-screen terminal visualizer. It is hardcoded and local to the CLI: it does not need an API key, start or call the EverOS server, or change anything in the real memory workflow below.

<p align="center"> <img src="https://gist.githubusercontent.com/cyfyifanchen/afa2cf40bf138a3ec96d917e8f2791a2/raw/d4ce82a6ddd7b3ebaf221e4825af993aeca5a7ce/everos-demo-tui-animation.svg" alt="Animated EverOS demo preview showing the memory sphere moving through recall and confetti states" width="720"> </p>

Press r to replay and q to quit. For a non-interactive preview, use everos demo --plain; for the looping showroom view, use everos demo --cinematic. See docs/everos-demo.md for the visualizer's scope.

3. Initialize and add your OpenRouter key

everos init

This creates ~/.everos/everos.toml and ~/.everos/ome.toml. Open ~/.everos/everos.toml; the generated model and OpenRouter URL are already correct, so replace only the empty api_key:

[llm]
model = "openai/gpt-4.1-mini"
api_key = "<OPENROUTER_API_KEY>"
base_url = "https://openrouter.ai/api/v1"

This is the smallest Tier 1 setup: memory add, flush, Markdown persistence, cascade indexing, and keyword search.

Use everos init --root <path> if you want a different memory root. Pass the same --root <path> to subsequent commands.

4. 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

Look for "status":"ok". With this one-key setup, capabilities.llm is true; embedding and rerank remain false until you configure them.

5. Add and retrieve your first memory

[!NOTE] Business endpoints live under /api/v2. The older /api/v1 prefix still resolves to the same handlers so existing integrations keep working, but it is a legacy alias that may be removed in a future major release — write new code against /api/v2.

Add a tiny conversation:

TS=$(($(date +%s)*1000))

curl -X POST http://127.0.0.1:8000/api/v2/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.\"}
    ]
  }"

Flush the memory at the end of the session:

curl -X POST http://127.0.0.1:8000/api/v2/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/v2/memory/search \
  -H 'Content-Type: application/json' \
  -d '{
    "user_id": "alice",
    "app_id": "default",
    "project_id": "default",
    "query": "Where do I like to climb?",
    "method": "keyword",
    "top_k": 5
  }'

You should see the Yosemite memory in the response. Keep "method": "keyword" in this one-key setup because the API defaults to hybrid search, which requires an embedding provider.

[!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 ~/.everos and inspect the generated Markdown files.

For annotated responses and the Markdown files EverOS creates, see QUICKSTART.md.

What works with one key?

The OpenRouter one-key setup is EverOS Tier 1. It supports server startup, memory add and flush, durable Markdown storage, cascade indexing, and keyword search. Add optional providers only when you need the features below:

| Configuration | Adds | | --- | --- | | [llm] only | Core memory flow and keyword search | | Add [embedding] | Vector/user hybrid search, reflection, and skill extraction | | Add [rerank] too | Agentic search, default agent hybrid search, and Knowledge Wiki | | Add [multimodal] and parser extra | Image, PDF, audio, and office-file ingestion |

Missing optional capabilities are reported by /health and return a clear HTTP 422 if you request a feature that needs them.

[!NOTE] everos demo --live is different from the standalone demo in step 2: it connects to a running server and uses the real add/flush/search flow. It uses hybrid search, so add an embedding provider before you run it.

Optional: Ingest Multimodal Files

To ingest non-text content (image / pdf / audio / office documents) through /api/v2/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). Configure the [multimodal] section in everos.toml; its default model is 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 demo --plain                  # try the local educational demo; no API keys needed
everos init                          # add one OpenRouter key to ~/.everos/everos.toml

everos --help
make test
<br> <div align="right">

</div>

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.

<table> <tr> <td width="50%" valign="top">

banner-gif

Reunite - Find With EverOS

Parents describe what they remember. Children describe what they recall. Reunite uses semantic memory to surface the connections.

Learn more

</td> <td width="50%" valign="top">

banner-gif

Hive Orchestrator

Browser-native hive-mind for CLI coding agents - Claude Code, Codex, Gemini, and OpenCode collaborate as real PTY processes via a team protocol.

Code

</td> </tr> <tr> <td width="50%" valign="top">

banner-gif

AI Coding Assistants With EverOS

Universal long-term memory layer for AI coding assistants, powered by EverOS.

Code

</td> <td width="50%"

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars13.1k
CategoryAutomation
Updated12d ago
Forks924

Languages

Python

Security Score

100/100

Audited on Sep 9, 2026

No findings