Skip to main content
The Knowledge Wiki turns unstructured documents (Markdown, PDF, DOCX, and more) into a searchable topic library. Upload a file and EverOS extracts a structured topic tree with an LLM, classifies it into a taxonomy, indexes it for keyword + vector search, and keeps the original file for reference. It is a distinct memory track from conversation memory: the Wiki is reference material you deliberately upload, not experience the agent extracts from talking. All endpoints live under /api/v1/knowledge.

Three-Tier Hierarchy

Instead of slicing every document into fixed-length chunks like classic RAG, the Wiki organizes content into three levels, from broadest to most granular. Each tier maps to its own endpoint, so an agent can navigate top-down and pull detail only when it needs it.

Quick Start

Examples assume EverOS is running on the default port 8000.
Responses use the envelope {"request_id": "...", "data": {...}}.

Storage Layout

Every document is a self-contained directory. Markdown is the single source of truth; SQLite and LanceDB are derived indexes the cascade daemon builds automatically. Even if the indexes are lost, they rebuild fully from the Markdown.

Taxonomy

L0 categories are not produced by unsupervised clustering. They come from a predefined taxonomy in .taxonomy.md at the knowledge root, and on upload an LLM picks the best-matching category from that list, making classification predictable, auditable, and overridable. EverOS ships with 20 default categories (Technology, Science, Medical, Finance, Legal, …) plus an Others fallback.
  • Editable: add, rename, or remove categories by editing .taxonomy.md. Changes hot-reload (read on every upload and category request), so no restart or reindex is needed.
  • Auto or manual: omit category_id on upload to let the LLM choose, or pass one to bypass classification.
  • Others fallback: anything that doesn’t match a defined category lands here.
  • Directory follows category: a PATCH that changes category_id moves the whole document directory (the _original/ folder follows).
.taxonomy.md

Document Lifecycle

Search runs a five-stage pipeline rather than a flat vector lookup:
Three methods are available via the method field: All three methods embed the query and apply cross-encoder reranking, with a small category-aware boost (lambda, default 0.1). Results carry their L1 document context (title, summary) so no second query is needed; set include_content: true to inline full topic content (default false; drill down via GET /topics/{id} instead).
Knowledge search requires both an embedding and a rerank provider; there is no provider-free fallback (by design: no silent degradation). A missing provider returns 500 CONFIGURATION_ERROR (set EVEROS_EMBEDDING__* / EVEROS_RERANK__*); a configured provider failing at call time returns 503 EXTERNAL_SERVICE_UNAVAILABLE (retryable).
Search tuning lives in [knowledge.search] (overridable via EVEROS_KNOWLEDGE__SEARCH__*): recall_n (recall pool per channel, 200), rerank_n (candidates reranked, 50), lambda (category boost, 0.1), top_k_cap (100).

Supported Formats

Text files are accepted natively; binary formats require the multimodal extra (pip install 'everos[multimodal]', which depends on LibreOffice for document conversion). See Multimodal Memory for parser configuration.

Cascade Sync

The cascade daemon watches the knowledge Markdown directory and keeps SQLite + LanceDB in sync: a file write is detected, dispatched by type (index.md → document metadata, N_topic.md → tokenize + embed + index), and a SHA-256 content digest skips re-embedding unchanged files. Typical latency from file write to search availability is 1–3 seconds.

Errors & Multi-Tenancy

Errors return a uniform envelope with a machine-readable code and a human-readable message: Every endpoint accepts app_id and project_id (both default to "default"). Storage paths, SQLite rows, and LanceDB indexes are fully isolated per tenant pair.

Design Principles

Three principles run through the Wiki: progressive disclosure (navigate L0→L1→L2, pull content on demand), human-readable and editable (Markdown is the source of truth), and determinism (taxonomy-based classification is predictable and auditable).