EverOS
v1.2.2 open-sourceOne portable memory layer for every AI agent: local-first, Markdown-native, user-owned, and self-evolving across apps, tools, and workflows.
curl -s https://<everos-host>/health | jq '.cascade' everos cascade rebuild --yes everos cascade backfill --phase all --yes everos cascade backfill --phase vectors [llm] model = "gpt-4o" api_key = "<key>" # [embedding] and [rerank] intentionally omitted — EverOS boots in Tier 1 curl -X GET https://<everos-host>/api/v2/memory/search
Summary
EverOS is an open-source Python library and local-first memory runtime for agents and makers, functioning as a portable memory layer across various applications. It stores conversational data, files, and agent trajectories as editable Markdown, while indexing local SQLite and LanceDB for retrieval. This system is aimed at developers building agent workflows, and its documentation positions it alongside other agent memory libraries. It is designed to be run as a local service and has been actively developed with ongoing documentation updates.
One portable memory layer for every AI agent: local-first, Markdown-native, user-owned, and self-evolving across apps, tools, and workflows.
What EverOS answers
Does it support using existing Markdown content?
It stores conversations, files, and agent trajectories as editable Markdown.
What kind of data sources can it index for retrieval?
It indexes local SQLite and LanceDB.
Can I modify the memory contents directly?
You can edit the source Markdown files, and the system syncs changes.
What is the persistence mechanism for the memory layer?
It functions as a local-first memory runtime, utilizing local databases.
How is the memory structured for portability?
It provides a portable memory layer across various applications.
Does it facilitate viewing the history of changes?
It keeps data in editable Markdown files that are readable and diffable.
Examples
Command line
No option matches that search.
| option | found in | since | description |
|---|
No option matches that search.
Values are placeholders taken from each option’s declared default. Nothing is executed here — the output shown is a recording of a run that already happened.
Release history
- v1.2.2
EverOS v1.2.2 adds a
cascadehealth block onGET /healthand theeveros cascade rebuildrecovery command for drifted or corrupt indexes.└──▷ GET THIS VERSION$ git clone --branch v1.2.2 https://github.com/EverMind-AI/EverOS.git # already have the repo? check out this version: $ git checkout v1.2.2
└──▷ TRY ITPoll the health endpoint to alert on cascade operational faults — drain failures, stuck index maintenance, or stalled per-table version cleanup.$ curl -s https://<everos-host>/health | jq '.cascade'
Recover a drifted or corrupt LanceDB index non-interactively after stopping the server — re-enqueues all markdown files so nothing is left silently un-indexed.$ everos cascade rebuild --yes
- ›Adds a
cascadereadiness block toGET /healthwith fieldshealthy,reasons,pending,failed_permanent,failed_retryable,drain_consecutive_failures,unrecoverable_total,optimize_failure_streak, andprune_stale_seconds— alert oncascade.healthyflipping false for operational faults (drain loop failing ≥3 in a row, index maintenance wedged ≥5, or per-table version cleanup stalled ≥3 missed 300s beats). HTTP status stays 200 to prevent container restarts on degraded state. - ›Adds
everos cascade rebuildCLI command — supported recovery from a drifted or corrupt index that drops all business LanceDB tables, clears the cascade queue, and re-indexes all markdown from scratch. Supports--yes/-yfor non-interactive use; requires the server to be stopped first (exits with code3if the server is running,130on Ctrl-C). - ›Startup schema verification now detects column type drift in addition to missing or extra columns, catching cases such as
episode.subject_vectorstored asstringinstead of the declared 1024-dfixed_size_list; mismatch now points the operator toeveros cascade rebuild. - ›LanceDB maintenance is split into lock-free optimize() compaction and a write-locked prune() reclamation step — files older than 60s are eligible for reclamation on a 300s beat, preventing unbounded index growth without manual intervention.
- ›All seven write-lock operations (
add,upsert,update,delete,delete_by_md_path,prune,rebuild_indexes) now run under a deadline covering both lock acquisition and body execution, surfacing contention as the retryableVectorStoreBusyErrorinstead of silently wedging a table.
+1 moreshow less
- ›A query vector whose dimension disagrees with the embedding provider's declared
dimnow fails immediately withCONFIGURATION_ERRORinstead of reaching LanceDB and returning an opaque unhandled 500 after 13–14s.
- ›Adds a
- v1.2.1
EverOS v1.2.1 makes [embedding] and [rerank] optional, adds a
everos cascade backfillCLI, and ships LanceDB schema v2 with nullable vectors.└──▷ GET THIS VERSION$ git clone --branch v1.2.1 https://github.com/EverMind-AI/EverOS.git # already have the repo? check out this version: $ git checkout v1.2.1
└──▷ TRY ITAfter adding[embedding]to a previously embedding-free instance, fill in NULL vectors for all existing rows without manual intervention.$ everos cascade backfill --phase all --yes
Run only the vector phase interactively to review row and token estimates before committing — useful when storage or token budget is a concern.$ everos cascade backfill --phase vectors
Start EverOS with only an LLM provider to get Tier 1 (KEYWORD search) while deferring embedding setup — no longer causes an abort on startup.[llm] model = "gpt-4o" api_key = "<key>" # [embedding] and [rerank] intentionally omitted — EverOS boots in Tier 1
- ›Adds
everos cascade backfillCLI command with three phases (vectors→clusters→skills, or--phase all), interactive row/token estimates,--yes/-yfor CI, and exit codes0success /1declined /2preconditions unmet /3server running /4completed-with-failures /130SIGINT. - ›Makes
[embedding]and[rerank]soft runtime dependencies ineveros.toml— EverOS now boots with only[llm]configured and degrades gracefully across three capability tiers: Tier 1 ([llm]only, KEYWORD search), Tier 2 (+ [embedding], VECTOR/HYBRID search + backfill), Tier 3 (+ [rerank], AGENTIC search + knowledge write/search). - ›Ships LanceDB schema v2 — the six tables (
episode,atomic_fact,foresight,agent_case,agent_skill,knowledge_topic) now allowvector NULL, enabling row writes without an embedding provider and later backfill. - ›Adds a startup unbackfilled-rows banner that emits
unbackfilled_memory_rowsand points ateveros cascade backfillwhen rows withvector IS NULLexist. - ›
GET /healthnow returns a typed PydanticHealthResponsemodel withcapabilitiesanddisabled_featuresfields, producing real OpenAPI shapes instead ofadditionalProperties: true.
+3 moreshow less
- ›Write and search endpoints that require embed or rerank now return HTTP 422
CAPABILITY_UNAVAILABLE(with a section-aware hint pointing at theeveros.tomlsection) instead of aborting startup or returning 500. - ›KEYWORD and single-route VECTOR searches now report their top score as
recall_top_score_raw;recall_top_scoreis reserved for calibrated methods (HYBRID LR sigmoid, AGENTIC cross-encoder) on a comparable[0, 1]scale, withmetadata = {"method": ..., "calibrated": ...}on every recall score. - ›Docs, README, QUICKSTART, and
everos demo --livenow target the canonical/api/v2prefix;/api/v1remains a legacy compatibility alias.
└──▷ BREAKING ON UPGRADE- !Dashboards built on
recall_top_scorefor keyword search must switch torecall_top_score_raw— the old name now carries only calibrated (HYBRID/AGENTIC) values. - !MemoryRoot.default() is renamed to MemoryRoot.resolve(); default() is kept as a shim that emits
DeprecationWarningand will be removed in a future major release. - !
cluster_repo.find_cluster_id_for_membernow requires (app_id, project_id, owner_id) instead ofentry_idalone.
- ›Adds
- v1.2.0
EverOS v1.2.0 adds the
/api/v2API prefix and native OpenTelemetry tracing with OTLP export.└──▷ GET THIS VERSION$ git clone --branch v1.2.0 https://github.com/EverMind-AI/EverOS.git # already have the repo? check out this version: $ git checkout v1.2.0
└──▷ TRY ITPoint an existing OTLP-compatible observability backend (e.g. Langfuse) at EverOS memory operations to capture token usage and recall-quality scores.$ curl -X GET https://<everos-host>/api/v2/memory/search
- ›Adds
/api/v2API prefix serving allmemory/*,ome/*, andknowledge/*endpoints, aligning the open-source API with the EverOS Cloud contract;/api/v1is retained as a permanent backward-compatible alias. - ›Adds native OpenTelemetry tracing (enabled via
[observability]config with the optionalotelextra) that exports memory operations — add/flush, memcell boundary, episode extraction, search, and OME reflection — to any OTLP backend (e.g. Langfuse) as nested traces carrying LLM/embedding token usage, per-request correlation, and recall-quality scores. - ›Supports opt-in content capture (query and extracted memory) with redaction awareness under the new OpenTelemetry tracing feature.
- ›Adds