-
Notifications
You must be signed in to change notification settings - Fork 44
Expand file tree
/
Copy path.env.example
More file actions
106 lines (101 loc) · 5.3 KB
/
Copy path.env.example
File metadata and controls
106 lines (101 loc) · 5.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# =============================================================================
# Reflexio (open source) — example environment file
# =============================================================================
# Copy to `.env` and fill in the values you need. The open-source CLI runs with
# SQLite storage and no auth by default, so the only thing you must set is one
# LLM provider key.
#
# LEGEND:
# (optional) = safe to leave empty; code default shown
# options: = allowed values for a categorical variable
# =============================================================================
# =============================================================================
# 1. LLM PROVIDER KEYS
# =============================================================================
# Set at least one API key. The system auto-detects available providers and
# selects appropriate default models per role (generation, evaluation,
# should_run, pre_retrieval, embedding).
#
# Provider priority when multiple keys are set:
# Anthropic > Gemini > OpenRouter > DeepSeek > MiniMax > DashScope > xAI >
# Moonshot > ZAI > OpenAI
# For the embedding role, if the top-priority provider has no embedding support,
# the next embedding-capable provider is used (currently OpenAI or Gemini).
#
# Model resolution order (highest priority first):
# 1. Org-level LLMConfig override
# 2. Non-empty values in
# reflexio/server/site_var/site_var_sources/llm_model_setting.json
# 3. Auto-detected default for the primary available provider
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
OPENROUTER_API_KEY=
GEMINI_API_KEY=
MINIMAX_API_KEY=
DEEPSEEK_API_KEY=
DASHSCOPE_API_KEY=
ZAI_API_KEY=
MOONSHOT_API_KEY=
XAI_API_KEY=
# =============================================================================
# 2. OBSERVABILITY (optional)
# =============================================================================
# Set to enable Braintrust LLM observability (https://www.braintrust.dev).
# BRAINTRUST_API_KEY=
# BRAINTRUST_PROJECT_NAME=reflexio
# =============================================================================
# 3. STORAGE
# =============================================================================
# Local storage directory — houses disk-storage artifacts and the SQLite
# database file (reflexio.db). (optional; default ~/.reflexio/data/)
LOCAL_STORAGE_PATH=
# Default org id for no-auth / local mode. Controls the request org, and hence
# the config file name (config_<org>.json) and the SQLite data scope. Override
# it to run a second local backend under a distinct org so the two don't collide
# on the same config file under ~/.reflexio/. (optional; default self-host-org)
REFLEXIO_DEFAULT_ORG_ID=self-host-org
# =============================================================================
# 4. EXTRACTION
# =============================================================================
# Per-interaction content token budget when formatting interactions into an
# extraction/evaluation prompt. When an interaction's content exceeds this many
# tokens, the first half and last half are kept (head + tail) and the middle is
# elided. (optional; default 512; set <= 0 to disable slicing and pass full
# content)
REFLEXIO_MAX_INTERACTION_CONTENT_TOKENS=512
# Warn when queued post-persist async publish learning jobs reach this depth.
# The queue is unbounded so acknowledged publishes do not drop learning due to
# transient limiter pressure. (optional; default 1000)
REFLEXIO_PUBLISH_LEARNING_QUEUE_WARN_SIZE=1000
# Worker threads for post-persist async publish learning. (optional; default
# matches the configured publish concurrency limit, currently 4)
REFLEXIO_PUBLISH_LEARNING_WORKERS=
# Inactivity delay in seconds before a quiet session is evaluated by agent-success
# evaluation. (optional; default 600 = 10 minutes)
GROUP_EVALUATION_DELAY_SECONDS=600
# Opt-in background sweep that re-embeds interactions whose embedding failed at
# ingest (empty vector, no vector row -> invisible to vector/hybrid search). Runs
# per-org on the shared lineage-GC scheduler cadence. Off by default so the GC
# scheduler's start conditions are unchanged unless you opt in.
# options: true | false (optional; default false)
REFLEXIO_MISSING_VECTOR_BACKFILL_ENABLED=false
# Max interactions re-embedded per org per sweep tick (bounds embedding cost and
# log volume). (optional; default 200; values <= 0 fall back to the default)
REFLEXIO_MISSING_VECTOR_BACKFILL_CAP=200
# Bounded per-tick org fan-out width for the lineage-GC / expiry-reclamation
# scheduler. SQLite storage is pinned to serial (1) regardless of this value.
# (optional; default 8; non-numeric or <=0 falls back to default)
REFLEXIO_SCHEDULER_ORG_WORKERS=
# =============================================================================
# 5. TESTING & LOGGING
# =============================================================================
# Verbose debug logging to console. options: true | false
DEBUG_LOG_TO_CONSOLE=true
# Mark the process as a test environment. options: true | false
IS_TEST_ENV=true
# Return canned LLM responses instead of calling providers. options: true | false
MOCK_LLM_RESPONSE=false
# Override the base directory for log files. The .reflexio/logs suffix is always
# preserved, so e.g. REFLEXIO_LOG_DIR=/tmp/foo writes logs to
# /tmp/foo/.reflexio/logs/. (optional; default $HOME -> ~/.reflexio/logs/)
REFLEXIO_LOG_DIR=