Configuration

June 28, 2026 · View on GitHub

EverOS uses a two-file TOML configuration system with environment variable overrides for container deployments.

Quick Start

# 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

Configuration Files

everos.toml — Application Settings

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.

ome.toml — Strategy Configuration

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.

Source Priority

Settings are resolved in this order (later wins):

  1. config/default.toml — shipped defaults (lowest priority)
  2. <root>/everos.toml — user configuration (optional)
  3. EVEROS_* environment variables — container/CI overrides
  4. Programmatic init args (highest priority; internal use)

Memory Root Resolution

The memory root directory is resolved from three sources (first wins):

SourceExample
--root CLI flageveros server start --root /data/everos
EVEROS_ROOT env varexport 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

Configuration Reference

[memory]

FieldTypeDefaultDescription
timezonestring"UTC"Effective timezone for date buckets and timestamps. Validated against zoneinfo.ZoneInfo.

[api]

FieldTypeDefaultDescription
hoststring"127.0.0.1"HTTP server bind address.
portint8000HTTP server bind port (1–65535).

[sqlite]

FieldTypeDefaultDescription
journal_modestring"WAL"PRAGMA journal_mode. Options: WAL, DELETE, MEMORY, OFF, TRUNCATE, PERSIST.
synchronousstring"NORMAL"PRAGMA synchronous. Options: FULL, NORMAL, OFF, EXTRA.
foreign_keysbooltruePRAGMA foreign_keys.
temp_storestring"MEMORY"PRAGMA temp_store. Options: DEFAULT, FILE, MEMORY.
busy_timeout_msint5000PRAGMA busy_timeout in milliseconds.
journal_size_limit_bytesint67108864PRAGMA journal_size_limit (~64 MB).
cache_size_kbint2048PRAGMA cache_size in KB (per connection).

[lancedb]

FieldTypeDefaultDescription
read_consistency_secondsfloat | nullnullRead consistency interval. null = no check, 0 = strict, >0 = eventual.
index_cache_size_bytesint16777216Upper bound on LanceDB index cache (16 MB default).

[llm]

FieldTypeDefaultRequiredDescription
modelstring"gpt-4.1-mini"NoLLM model identifier.
api_keystringYesAPI key for the LLM provider.
base_urlstringYesEndpoint URL (OpenAI-compatible).

[multimodal]

FieldTypeDefaultRequiredDescription
modelstring"google/gemini-3-flash-preview"NoMultimodal parsing model.
api_keystringYesAPI key.
base_urlstringYesEndpoint URL.
max_concurrencyint4NoMax parallel parsing requests.
file_uri_allow_dirslist[string][]NoAllowlisted base dirs for file:// URIs. Empty = allow any readable file.
file_uri_max_bytesint52428800NoMax size (bytes) of a file:// asset; larger files are rejected.

[embedding]

FieldTypeDefaultRequiredDescription
modelstringYesEmbedding model identifier.
api_keystringYesAPI key.
base_urlstringYesEmbedding endpoint URL.
timeout_secondsfloat30.0NoRequest timeout.
max_retriesint3NoRetry count on failure.
batch_sizeint10NoTexts per batch request.
max_concurrentint5NoMax parallel batch requests.

[rerank]

FieldTypeDefaultRequiredDescription
providerstringinferredNoRerank provider: deepinfra, vllm, or dashscope.
modelstringYesReranker model identifier.
api_keystringYesAPI key.
base_urlstringYesRerank endpoint URL.
timeout_secondsfloat30.0NoRequest timeout.
max_retriesint3NoRetry count on failure.
batch_sizeint10NoDocuments per batch.
max_concurrentint5NoMax parallel batch requests.

[boundary_detection]

FieldTypeDefaultDescription
hard_token_limitint65536Max tokens before forced boundary.
hard_msg_limitint500Max messages before forced boundary.

[memorize]

FieldTypeDefaultDescription
modestring"agent"Conversation mode: chat (user-memory only) or agent (user + agent memory). Requires restart.
session_lock_timeout_secondsfloat360.0Max wall-clock per memorize() invocation.

[clustering]

FieldTypeDefaultDescription
thresholdfloat0.65Cosine similarity threshold for clustering (0–1).
time_window_daysfloat7.0Max age gap between cluster members.
FieldTypeDefaultDescription
vector_strategystring"maxsim_atomic"Vector retrieval path: maxsim_atomic (finer-grained) or episode (legacy).

[knowledge]

FieldTypeDefaultDescription
max_upload_bytesint52428800Max bytes for an uploaded knowledge document (50 MiB). Oversized uploads are rejected with HTTP 422 before parsing.

[knowledge.search]

FieldTypeDefaultDescription
recall_nint200Initial recall pool size.
rerank_nint50Candidates sent to reranker.
mass_top_mint50Top-M for mass scoring.
lambdafloat0.1Interpolation weight.
top_k_capint100Hard cap on returned results.

Troubleshooting

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

Advanced: Container Deployment

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:

TOMLEnvironment Variable
[llm] api_key = "sk-..."EVEROS_LLM__API_KEY=sk-...
[sqlite] busy_timeout_ms = 10000EVEROS_SQLITE__BUSY_TIMEOUT_MS=10000
[memory] timezone = "Asia/Tokyo"EVEROS_MEMORY__TIMEZONE=Asia/Tokyo