Skip to content

Commit 0d05527

Browse files
committed
docs(env): update .env.example with clear English documentation and remove obsolete variables
1 parent 75b2809 commit 0d05527

1 file changed

Lines changed: 39 additions & 18 deletions

File tree

.env.example

Lines changed: 39 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,40 @@
11
# Copy to .env and fill in secrets/configs. This file is a template and should never be committed with real credentials.
22

33
# --- Discord Bot ---
4+
# Discord bot token (keep secret!)
45
APP_DISCORD_TOKEN=
6+
# Bot presence text shown in Discord
57
APP_BOT_STATUS="OneLiteFeather RAG"
8+
# Optional allowlist; JSON array of guild IDs. Empty = global commands
69
APP_GUILD_IDS=[]
10+
# Enable Message Content Intent (required for replies/mentions parsing)
711
APP_ENABLE_MESSAGE_CONTENT_INTENT=false
812

913
# Role-based admin control (optional, works in addition to Discord administrators)
1014
APP_ADMIN_ROLE_IDS=[]
1115
APP_ADMIN_ROLE_NAMES=[]
1216

1317
# --- AI provider selection ---
14-
APP_AI_PROVIDER=openai # openai | ollama | vllm
18+
# Choose the LLM/embedding provider: openai | ollama | vllm
19+
APP_AI_PROVIDER=openai
20+
# Chat completion model (provider-specific name)
1521
APP_LLM_MODEL=gpt-4.1-mini
22+
# Embedding model and backend
1623
APP_EMBED_MODEL=text-embedding-3-small
24+
APP_EMBED_PROVIDER=openai # openai|ollama|vllm
25+
# Sampling temperature for LLM
1726
APP_TEMPERATURE=0.1
18-
APP_EMBED_PROVIDER=openai
27+
# Optional base system prompt (leave empty to manage prompts in DB per scope)
1928
APP_LLM_SYSTEM_PROMPT=
2029

21-
# Optional: override provider endpoints
30+
# Optional: override provider endpoints/keys
2231
APP_OLLAMA_BASE_URL=http://localhost:11434
2332
APP_VLLM_BASE_URL=http://localhost:8000/v1
2433
APP_VLLM_API_KEY=
2534
OPENAI_API_KEY=
2635

2736
# --- GitHub API (used by orgs/issues/listing) ---
37+
# Optional; improves rate limits for GitHub ingestion
2838
GITHUB_TOKEN=
2939

3040
# --- Postgres / pgvector ---
@@ -35,41 +45,51 @@ APP_PG_PASSWORD=postgres
3545
APP_PG_DATABASE=postgres
3646

3747
# --- RAG table & behavior ---
48+
# Vector table name and embedding dimension
3849
APP_TABLE_NAME=rag_chunks
3950
APP_EMBED_DIM=1536
4051
APP_TOP_K=6
52+
# Behavior: fall back to plain LLM if no vectors exist
4153
APP_RAG_FALLBACK_TO_LLM=true
54+
# Optionally mix a plain LLM answer into the RAG answer
4255
APP_RAG_MIX_LLM_WITH_RAG=false
4356
APP_RAG_MIX_THRESHOLD=
44-
APP_RAG_SCORE_KIND=similarity
45-
APP_RAG_MODE=auto
46-
APP_RAG_GATE_STRATEGY=llm
57+
APP_RAG_SCORE_KIND=similarity # similarity|distance
58+
# Gating (when to use RAG):
59+
APP_RAG_MODE=auto # auto|rag|llm
60+
APP_RAG_GATE_STRATEGY=llm # llm|heuristic|hybrid
4761
APP_RAG_GATE_THRESHOLD=
62+
# Minimum input length (characters) to consider answering
4863
APP_RAG_MIN_QUESTION_LEN=12
4964

5065
# --- UI/messages (user-facing text; customizable) ---
51-
# Optional extra style appended to the system prompt (e.g. sarcasm, emoji usage)
66+
# Extra style appended to the system prompt (e.g., tone, emoji usage). Prefer DB prompts for scope overrides.
5267
APP_CHAT_STYLE_APPEND=
53-
# Placeholder message shown while answering
54-
APP_REPLY_PLACEHOLDER_TEXT="🧠 Einen kleinen Moment – ich suche passende Informationen und schreibe die Antwort"
55-
# Language hint template appended when language is detected; {lang} placeholder is replaced
56-
APP_LANGUAGE_HINT_TEMPLATE="Antwortsprache: {lang}"
68+
# Placeholder message shown while processing
69+
APP_REPLY_PLACEHOLDER_TEXT="🧠 Please wait — finding relevant context and preparing the answer"
70+
# Language hint template when language is detected; {lang} will be replaced
71+
APP_LANGUAGE_HINT_TEMPLATE="Response language: {lang}"
5772
# Headings/prefixes used in responses
5873
APP_SOURCES_HEADING="Sources:"
5974
APP_REPLY_CONTEXT_LABEL="Context (previous bot message):"
60-
APP_MEMORY_SUMMARY_HEADING="Nutzerprofil (Zusammenfassung):"
61-
APP_MEMORY_RECENT_HEADING="Letzte Unterhaltungsschritte:"
75+
APP_MEMORY_SUMMARY_HEADING="User profile (summary):"
76+
APP_MEMORY_RECENT_HEADING="Recent conversation steps:"
6277
APP_MEMORY_USER_PREFIX="User"
6378
APP_MEMORY_BOT_PREFIX="Bot"
6479

6580
# --- Ingestion defaults ---
6681
APP_INGEST_EXTS=[".md", ".py", ".yml", ".yaml", ".toml", ".json", ".txt", ".java"]
6782

6883
# --- Queue + ETL ---
69-
APP_JOB_BACKEND=rabbitmq # postgres (local) or rabbitmq (recommended for scale)
84+
# Job backend: postgres (local) or rabbitmq (recommended for scale)
85+
APP_JOB_BACKEND=rabbitmq
86+
# RabbitMQ AMQP URL when using rabbitmq (e.g., amqp://user:pass@localhost:5672/)
7087
APP_RABBITMQ_URL=
88+
# Default queue name; can be specialized per job type
7189
APP_RABBITMQ_QUEUE=rag_jobs
90+
# Worker poll interval (seconds)
7291
APP_QUEUE_WATCH_POLL_SEC=5.0
92+
# ETL staging (for manifests): backend + local dir or S3 settings
7393
APP_ETL_STAGING_BACKEND=s3 # local | s3
7494
APP_ETL_STAGING_DIR=.staging
7595
APP_S3_STAGING_BUCKET=
@@ -80,10 +100,11 @@ APP_S3_ACCESS_KEY_ID=
80100
APP_S3_SECRET_ACCESS_KEY=
81101

82102
# --- Health & metrics ---
103+
# Expose /healthz, /readyz, /metrics via the internal HTTP server
83104
APP_HEALTH_HTTP_PORT=8080
84105

85106
# --- Credits & Budgeting ---
86-
# Enable credits/budget enforcement
107+
# Enable credit/budget enforcement (false disables all checks)
87108
APP_CREDIT_ENABLED=false
88109
# Global monthly cap across all users (credits per month)
89110
APP_CREDIT_GLOBAL_CAP=100000
@@ -95,12 +116,12 @@ APP_CREDIT_RANK_LIMITS={}
95116
APP_CREDIT_ROLE_RANKS_BY_NAME={}
96117
# Map role ID (string) to rank as JSON, e.g.: {"123456": "gold"}
97118
APP_CREDIT_ROLE_RANKS_BY_ID={}
98-
# Roles treated as unlimited (still respects global cap)
119+
# Roles treated as unlimited (per-user); global cap still applies
99120
APP_CREDIT_UNLIMITED_ROLE_NAMES=[]
100121
APP_CREDIT_UNLIMITED_ROLE_IDS=[]
101-
# Estimation parameters
122+
# Estimation parameters for pre-authorization
102123
APP_CREDIT_TOKENS_PER_CHAR=0.25
103124
APP_CREDIT_EST_OUTPUT_TOKENS=600
104125
APP_CREDIT_PER_1K_TOKENS=1.0
105-
# Label when mixing LLM response into RAG answer (optional)
126+
# Label when mixing LLM response into a RAG answer (optional)
106127
APP_RAG_MIX_LABEL=

0 commit comments

Comments
 (0)