Heads up This site is currently under heavy development.
← all tools
◆ VECTOR DB RAG

EverOS

v1.2.2 open-source

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

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.

Release history

  1. v1.2.2 Aug 5, 2026 · issue 004

    EverOS v1.2.2 adds a cascade health block on GET /health and the everos cascade rebuild recovery 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 IT
    Poll 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 cascade readiness block to GET /health with fields healthy, reasons, pending, failed_permanent, failed_retryable, drain_consecutive_failures, unrecoverable_total, optimize_failure_streak, and prune_stale_seconds — alert on cascade.healthy flipping 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 rebuild CLI 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 / -y for non-interactive use; requires the server to be stopped first (exits with code 3 if the server is running, 130 on Ctrl-C).
    • Startup schema verification now detects column type drift in addition to missing or extra columns, catching cases such as episode.subject_vector stored as string instead of the declared 1024-d fixed_size_list; mismatch now points the operator to everos 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 retryable VectorStoreBusyError instead of silently wedging a table.
    +1 moreshow less
    • A query vector whose dimension disagrees with the embedding provider's declared dim now fails immediately with CONFIGURATION_ERROR instead of reaching LanceDB and returning an opaque unhandled 500 after 13–14s.
  2. v1.2.1 Jul 29, 2026 · issue 004

    EverOS v1.2.1 makes [embedding] and [rerank] optional, adds a everos cascade backfill CLI, 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 IT
    After 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.
    everos.toml
    [llm]
    model = "gpt-4o"
    api_key = "<key>"
    
    # [embedding] and [rerank] intentionally omitted — EverOS boots in Tier 1
    • Adds everos cascade backfill CLI command with three phases (vectorsclustersskills, or --phase all), interactive row/token estimates, --yes / -y for CI, and exit codes 0 success / 1 declined / 2 preconditions unmet / 3 server running / 4 completed-with-failures / 130 SIGINT.
    • Makes [embedding] and [rerank] soft runtime dependencies in everos.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 allow vector NULL, enabling row writes without an embedding provider and later backfill.
    • Adds a startup unbackfilled-rows banner that emits unbackfilled_memory_rows and points at everos cascade backfill when rows with vector IS NULL exist.
    • GET /health now returns a typed Pydantic HealthResponse model with capabilities and disabled_features fields, producing real OpenAPI shapes instead of additionalProperties: 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 the everos.toml section) 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_score is reserved for calibrated methods (HYBRID LR sigmoid, AGENTIC cross-encoder) on a comparable [0, 1] scale, with metadata = {"method": ..., "calibrated": ...} on every recall score.
    • Docs, README, QUICKSTART, and everos demo --live now target the canonical /api/v2 prefix; /api/v1 remains a legacy compatibility alias.
    └──▷ BREAKING ON UPGRADE
    • !Dashboards built on recall_top_score for keyword search must switch to recall_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 DeprecationWarning and will be removed in a future major release.
    • !cluster_repo.find_cluster_id_for_member now requires (app_id, project_id, owner_id) instead of entry_id alone.
  3. v1.2.0 Jul 24, 2026 · issue 004

    EverOS v1.2.0 adds the /api/v2 API 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 IT
    Point 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/v2 API prefix serving all memory/*, ome/*, and knowledge/* endpoints, aligning the open-source API with the EverOS Cloud contract; /api/v1 is retained as a permanent backward-compatible alias.
    • Adds native OpenTelemetry tracing (enabled via [observability] config with the optional otel extra) 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.
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →