EverOS uses a two-file TOML configuration system with environment variable
overrides for container deployments.
# 1. Generate config files in the default root (~/.everos/)
everos init
# 2. Edit the config — fill in API keys
$EDITOR ~/.everos/everos.toml
# 3. Start the server
everos server start
Located at <root>/everos.toml. Controls all application behavior: API
bind address, LLM/embedding/rerank provider credentials, SQLite pragmas,
search strategy, memorize mode, and clustering tunables.
Generated by everos init from the shipped config/default.toml
template. Changes require a server restart.
Located at <root>/ome.toml. Controls the Offline Memory Engine (OME)
strategy scheduling: which strategies are enabled, cron expressions,
gate thresholds, and retry limits.
Generated by everos init from the shipped config/default_ome.toml
template. Changes are hot-reloaded within ~2 seconds — no server
restart needed.
Settings are resolved in this order (later wins):
config/default.toml — shipped defaults (lowest priority)
<root>/everos.toml — user configuration (optional)
EVEROS_* environment variables — container/CI overrides
- Programmatic init args (highest priority; internal use)
The memory root directory is resolved from three sources (first wins):
| Source | Example |
|---|
--root CLI flag | everos server start --root /data/everos |
EVEROS_ROOT env var | export EVEROS_ROOT=/data/everos |
| Default | ~/.everos |
All CLI commands that interact with storage accept --root:
everos server start --root /data/everos
everos cascade status --root /data/everos
everos config show --root /data/everos
everos init --root /data/everos
| Field | Type | Default | Description |
|---|
timezone | string | "UTC" | Effective timezone for date buckets and timestamps. Validated against zoneinfo.ZoneInfo. |
| Field | Type | Default | Description |
|---|
host | string | "127.0.0.1" | HTTP server bind address. |
port | int | 8000 | HTTP server bind port (1–65535). |
| Field | Type | Default | Description |
|---|
journal_mode | string | "WAL" | PRAGMA journal_mode. Options: WAL, DELETE, MEMORY, OFF, TRUNCATE, PERSIST. |
synchronous | string | "NORMAL" | PRAGMA synchronous. Options: FULL, NORMAL, OFF, EXTRA. |
foreign_keys | bool | true | PRAGMA foreign_keys. |
temp_store | string | "MEMORY" | PRAGMA temp_store. Options: DEFAULT, FILE, MEMORY. |
busy_timeout_ms | int | 5000 | PRAGMA busy_timeout in milliseconds. |
journal_size_limit_bytes | int | 67108864 | PRAGMA journal_size_limit (~64 MB). |
cache_size_kb | int | 2048 | PRAGMA cache_size in KB (per connection). |
| Field | Type | Default | Description |
|---|
read_consistency_seconds | float | null | null | Read consistency interval. null = no check, 0 = strict, >0 = eventual. |
index_cache_size_bytes | int | 16777216 | Upper bound on LanceDB index cache (16 MB default). |
| Field | Type | Default | Required | Description |
|---|
model | string | "gpt-4.1-mini" | No | LLM model identifier. |
api_key | string | — | Yes | API key for the LLM provider. |
base_url | string | — | Yes | Endpoint URL (OpenAI-compatible). |
| Field | Type | Default | Required | Description |
|---|
model | string | "google/gemini-3-flash-preview" | No | Multimodal parsing model. |
api_key | string | — | Yes | API key. |
base_url | string | — | Yes | Endpoint URL. |
max_concurrency | int | 4 | No | Max parallel parsing requests. |
file_uri_allow_dirs | list[string] | [] | No | Allowlisted base dirs for file:// URIs. Empty = allow any readable file. |
file_uri_max_bytes | int | 52428800 | No | Max size (bytes) of a file:// asset; larger files are rejected. |
| Field | Type | Default | Required | Description |
|---|
model | string | — | Yes | Embedding model identifier. |
api_key | string | — | Yes | API key. |
base_url | string | — | Yes | Embedding endpoint URL. |
timeout_seconds | float | 30.0 | No | Request timeout. |
max_retries | int | 3 | No | Retry count on failure. |
batch_size | int | 10 | No | Texts per batch request. |
max_concurrent | int | 5 | No | Max parallel batch requests. |
| Field | Type | Default | Required | Description |
|---|
provider | string | inferred | No | Rerank provider: deepinfra, vllm, or dashscope. |
model | string | — | Yes | Reranker model identifier. |
api_key | string | — | Yes | API key. |
base_url | string | — | Yes | Rerank endpoint URL. |
timeout_seconds | float | 30.0 | No | Request timeout. |
max_retries | int | 3 | No | Retry count on failure. |
batch_size | int | 10 | No | Documents per batch. |
max_concurrent | int | 5 | No | Max parallel batch requests. |
| Field | Type | Default | Description |
|---|
hard_token_limit | int | 65536 | Max tokens before forced boundary. |
hard_msg_limit | int | 500 | Max messages before forced boundary. |
| Field | Type | Default | Description |
|---|
mode | string | "agent" | Conversation mode: chat (user-memory only) or agent (user + agent memory). Requires restart. |
session_lock_timeout_seconds | float | 360.0 | Max wall-clock per memorize() invocation. |
| Field | Type | Default | Description |
|---|
threshold | float | 0.65 | Cosine similarity threshold for clustering (0–1). |
time_window_days | float | 7.0 | Max age gap between cluster members. |
| Field | Type | Default | Description |
|---|
vector_strategy | string | "maxsim_atomic" | Vector retrieval path: maxsim_atomic (finer-grained) or episode (legacy). |
| Field | Type | Default | Description |
|---|
max_upload_bytes | int | 52428800 | Max bytes for an uploaded knowledge document (50 MiB). Oversized uploads are rejected with HTTP 422 before parsing. |
| Field | Type | Default | Description |
|---|
recall_n | int | 200 | Initial recall pool size. |
rerank_n | int | 50 | Candidates sent to reranker. |
mass_top_m | int | 50 | Top-M for mass scoring. |
lambda | float | 0.1 | Interpolation weight. |
top_k_cap | int | 100 | Hard cap on returned results. |
Use everos config show to inspect the effective configuration:
everos config show
everos config show --root /data/everos
This prints:
- The resolved root directory
- Which config files were found
- All settings sections with their effective values
- API keys are masked in output
In containerized environments, skip everos init and use environment
variables directly:
ENV EVEROS_ROOT=/data/everos
ENV EVEROS_LLM__API_KEY=sk-...
ENV EVEROS_LLM__MODEL=gpt-4o
ENV EVEROS_LLM__BASE_URL=https://api.openai.com/v1
ENV EVEROS_EMBEDDING__MODEL=text-embedding-3-large
ENV EVEROS_EMBEDDING__API_KEY=sk-...
ENV EVEROS_EMBEDDING__BASE_URL=https://api.openai.com/v1
ENV EVEROS_RERANK__MODEL=Qwen/Qwen3-Reranker-4B
ENV EVEROS_RERANK__API_KEY=...
ENV EVEROS_RERANK__BASE_URL=https://api.deepinfra.com/v1/inference
ENV EVEROS_API__HOST=0.0.0.0
ENV EVEROS_API__PORT=8000
Environment variable naming convention:
EVEROS_<SECTION>__<KEY>
- Section and key are uppercased
- Double underscore (
__) separates section from key
- Nested sections use additional
__ separators
Examples:
| TOML | Environment Variable |
|---|
[llm] api_key = "sk-..." | EVEROS_LLM__API_KEY=sk-... |
[sqlite] busy_timeout_ms = 10000 | EVEROS_SQLITE__BUSY_TIMEOUT_MS=10000 |
[memory] timezone = "Asia/Tokyo" | EVEROS_MEMORY__TIMEZONE=Asia/Tokyo |