evermind-ai--everos
6c9c7fe7f3
CI / lint (push) Failing after 1s
CI / unit tests (push) Failing after 1s
CI / unit tests (3.13) (push) Failing after 1s
CI / integration tests (push) Failing after 1s
CI / integration tests (3.13) (push) Failing after 1s
CI / package build (push) Failing after 1s
Commit lint / pull request title (push) Has been skipped
Commit lint / commit messages (push) Failing after 1s
Docs / links (push) Failing after 1s
231 行
7.9 KiB
Markdown
231 行
7.9 KiB
Markdown
# Configuration
|
|
|
|
EverOS uses a two-file TOML configuration system with environment variable
|
|
overrides for container deployments.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# 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):
|
|
|
|
| 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`:
|
|
|
|
```bash
|
|
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]`
|
|
|
|
| Field | Type | Default | Description |
|
|
|---|---|---|---|
|
|
| `timezone` | string | `"UTC"` | Effective timezone for date buckets and timestamps. Validated against `zoneinfo.ZoneInfo`. |
|
|
|
|
### `[api]`
|
|
|
|
| Field | Type | Default | Description |
|
|
|---|---|---|---|
|
|
| `host` | string | `"127.0.0.1"` | HTTP server bind address. |
|
|
| `port` | int | `8000` | HTTP server bind port (1–65535). |
|
|
|
|
### `[sqlite]`
|
|
|
|
| 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). |
|
|
|
|
### `[lancedb]`
|
|
|
|
| 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). |
|
|
|
|
### `[llm]`
|
|
|
|
| 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 | — | No | Custom endpoint URL (OpenAI-compatible). |
|
|
|
|
### `[multimodal]`
|
|
|
|
| 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 | — | No | Custom 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. |
|
|
|
|
### `[embedding]`
|
|
|
|
| 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. |
|
|
|
|
### `[rerank]`
|
|
|
|
| Field | Type | Default | Required | Description |
|
|
|---|---|---|---|---|
|
|
| `provider` | string | `"deepinfra"` | No | Rerank provider: `deepinfra` or `vllm`. |
|
|
| `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. |
|
|
|
|
### `[boundary_detection]`
|
|
|
|
| Field | Type | Default | Description |
|
|
|---|---|---|---|
|
|
| `hard_token_limit` | int | `65536` | Max tokens before forced boundary. |
|
|
| `hard_msg_limit` | int | `500` | Max messages before forced boundary. |
|
|
|
|
### `[memorize]`
|
|
|
|
| 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. |
|
|
|
|
### `[clustering]`
|
|
|
|
| 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. |
|
|
|
|
### `[knowledge]`
|
|
|
|
| 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. |
|
|
|
|
### `[knowledge.search]`
|
|
|
|
| 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. |
|
|
|
|
## Troubleshooting
|
|
|
|
Use `everos config show` to inspect the effective configuration:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```dockerfile
|
|
ENV EVEROS_ROOT=/data/everos
|
|
ENV EVEROS_LLM__API_KEY=sk-...
|
|
ENV EVEROS_LLM__MODEL=gpt-4o
|
|
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_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` |
|