-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
110 lines (100 loc) · 3.72 KB
/
Copy path.env.example
File metadata and controls
110 lines (100 loc) · 3.72 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
107
108
109
110
# Discord Developer Portal
DISCORD_TOKEN=
DISCORD_GUILD_ID=1515356172092178512
# Comma-separated Discord user IDs that receive cooperative owner-priority handling.
BOT_OWNER_USER_IDS=
# OpenAI-compatible text provider for all text chat and summaries
TEXT_API_URL=https://api.example.com/v1/chat/completions
TEXT_API_KEY=
TEXT_MODEL=your-text-model
TEXT_MAX_TOKENS=16384
# Rolling summaries may need more room than user-facing Discord replies.
SUMMARY_MAX_TOKENS=16384
# Typed memory extraction is intentionally thorough; it runs out of band.
MEMORY_MAX_TOKENS=8192
# FW-GLM-5.2 supports no-reasoning mode; this prevents chain-of-thought from reaching Discord.
TEXT_REASONING_EFFORT=none
# Optional OpenAI-compatible embeddings. Enabling all three upgrades durable recall with
# 1024-dimensional pgvector/HNSW semantic search while preserving lexical fallback.
EMBEDDING_API_URL=
EMBEDDING_API_KEY=
# Recommended when using OpenAI: text-embedding-3-large
EMBEDDING_MODEL=
EMBEDDING_DIMENSIONS=1024
EMBEDDING_BATCH_SIZE=64
# Cloudflare Workers AI for the Fish Audio fallback and opt-in live voice chat
CLOUDFLARE_ACCOUNT_ID=
CLOUDFLARE_API_TOKEN=
# Fish Audio stays primary. Aura-2 Amalthea is used only if Fish fails.
CLOUDFLARE_VOICE_FALLBACK=true
CLOUDFLARE_VOICE_MODEL=@cf/deepgram/aura-2-en
CLOUDFLARE_VOICE_SPEAKER=amalthea
# `/voicechat` is administrator-only and off until you explicitly enable it.
VOICE_CHAT_ENABLED=false
CLOUDFLARE_STT_MODEL=@cf/openai/whisper-large-v3-turbo
VOICE_CHAT_LANGUAGE=en
VOICE_CHAT_MAX_UTTERANCE_SECONDS=20
VOICE_CHAT_IDLE_TIMEOUT_SECONDS=900
VOICE_CHAT_MAX_REPLY_CHARACTERS=900
# OpenAI-compatible provider retained only for image understanding
OPENAI_BASE_URL=https://api.example.com/v1/chat/completions
OPENAI_API_KEY=
OPENAI_VISION_MODEL=your-vision-model
OPENAI_MAX_TOKENS=2400
# Firecrawl v2
FIRECRAWL_API_KEY=
# Fish Audio native voice messages. The default reference is Fish Audio's E-Girl library voice.
FISH_AUDIO_API_KEY=
FISH_AUDIO_REFERENCE_ID=ca3007f96ae7499ab87d27ea3599956a
FISH_AUDIO_MODEL=s2-pro
FISH_AUDIO_MAX_CHARACTERS=1800
# OpenRouter Fish Audio (free tier) — used as the primary voice provider.
# Set OPENROUTER_API_KEY and the bot will use fish-audio/s2.1-pro-free:free
# via OpenRouter's API gateway, falling back to Cloudflare Aura-2 on failure.
OPENROUTER_API_KEY=
OPENROUTER_FISH_AUDIO_MODEL=fish-audio/s2.1-pro
# Music is off by default. `LAVALINK_URL` is an internal Docker address, never a public endpoint.
MUSIC_ENABLED=false
LAVALINK_URL=lavalink:2333
# Generate with: openssl rand -hex 32
LAVALINK_PASSWORD=
LAVALINK_SECURE=false
MUSIC_DEFAULT_VOLUME=65
MUSIC_MAX_QUEUE_LENGTH=100
MUSIC_MAX_PLAYLIST_TRACKS=25
MUSIC_IDLE_TIMEOUT_SECONDS=120
# Local Docker defaults. Change the password outside source control.
BOT_DATA_ROOT=./.data
POSTGRES_DB=go_senior_bot
POSTGRES_USER=go_senior_bot
POSTGRES_PASSWORD=change-me
DATABASE_URL=postgresql://go_senior_bot:change-me@postgres:5432/go_senior_bot
REDIS_URL=redis://redis:6379/0
# Bot behavior
INTERACTION_MODE=ambient
AMBIENT_REPLY_CHANCE=0.65
AMBIENT_EVALUATION_COOLDOWN_SECONDS=12
MAX_CONCURRENT_AI_REQUESTS=4
MAX_USER_REQUESTS_PER_MINUTE=8
MAX_VISION_REQUESTS_PER_MINUTE=10
RECENT_MESSAGE_COUNT=20
RAG_RESULT_COUNT=8
SUMMARY_EVERY_MESSAGES=40
MAX_WEB_RESULTS=5
# Iterative agent runtime. Read tools can run in parallel; writes are serialized and policy-gated.
AGENT_ENABLED=true
DISCORD_AGENT_ACTIONS_ENABLED=true
AGENT_MAX_ITERATIONS=8
AGENT_MAX_TOOL_CALLS=24
AGENT_MAX_PARALLEL_TOOL_CALLS=6
AGENT_RUN_TIMEOUT_MS=120000
AGENT_TOOL_TIMEOUT_MS=30000
# Durable typed-memory consolidation worker.
MEMORY_WORKER_ENABLED=true
MEMORY_BATCH_SIZE=32
MEMORY_POLL_MS=750
MEMORY_STARTUP_DELAY_MS=15000
MEMORY_SUCCESS_INTERVAL_MS=30000
MEMORY_RECALL_COUNT=12
LOG_LEVEL=info
HEALTH_PORT=3000