Files
zalbot/.env.example
Kaysser Kayyali 9dc6e8e1a3 Initial commit — Mardonar encounter engine with UX improvements
Includes full bot source (Phases 1–4), plus five new features:
- Epic 1: emoji reaction state machine (👀🎲) + burst queue cap at 2 with in-world drop notices
- Epic 2: per-encounter tone field in YAML injected into LLM system prompt
- Epic 3: player pronouns via modal registration + system prompt players block
- Epic 4: strengthened skill_check_emit tool contract + missed-skill-check diagnostic

Also includes UX design docs, epics, and story files under Docs/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 04:51:21 +00:00

69 lines
3.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
DISCORD_TOKEN=your_discord_bot_token
DISCORD_CLIENT_ID=your_discord_application_id
# DISCORD_GUILD_ID=your_server_id # Set for instant command registration (vs 1hr global propagation)
# ── Redis ──────────────────────────────────────────────────────────────────────
# Shared with GraphMCP-Example stack via knowledge-graph-ai_internal network
REDIS_URL=redis://redis:6379
# How long a session stays alive in Redis without activity (hours)
# SESSION_TTL_HOURS=12
# ── Ollama / LLM ───────────────────────────────────────────────────────────────
OLLAMA_BASE_URL=http://192.168.1.x:11434
OLLAMA_MODEL=gemma4-it:e2b
# Sampling temperature — higher = more creative, lower = more consistent (02)
# OLLAMA_TEMPERATURE=0.75
# Context window in tokens — must match your model's actual max
# OLLAMA_NUM_CTX=131072
# LLM call timeout in milliseconds
# OLLAMA_TIMEOUT_MS=120000
# ── GraphMCP ───────────────────────────────────────────────────────────────────
GRAPHMCP_URL=http://mcp-server:9000
# Minimum semantic similarity score (01) to count a chunk as relevant context.
# Raise to be stricter (fewer but more accurate results).
# Lower to be more permissive (more context, more noise).
# GRAPHMCP_SCORE_THRESHOLD=0.68
# How many memory chunks to fetch per NPC at encounter start
# GRAPHMCP_NPC_MEMORY_LIMIT=5
# How many chunks to fetch when @Zalram is mentioned
# GRAPHMCP_MENTION_LIMIT=5
# ── Encounter behaviour ────────────────────────────────────────────────────────
SPECS_DIR=./specs
# Delay before archiving a resolved thread — gives players time to read the ending (ms)
# ENCOUNTER_ARCHIVE_DELAY_MS=5000
# How long the player-gate embed stays visible before auto-delete (ms)
# ENCOUNTER_GATE_TIMEOUT_MS=30000
# ── Persona ────────────────────────────────────────────────────────────────────
# Path to the YAML file defining the bot's @mention persona
# PERSONA_PATH=./persona.yaml
# ── Access control ─────────────────────────────────────────────────────────────
# Comma-separated channel IDs where encounters are allowed.
# The bot checks the parent channel of threads before responding.
# Leave empty and the bot responds nowhere (secure by default).
# DISCORD_ALLOWED_CHANNELS=123456789012345678,987654321098765432
DISCORD_ALLOWED_CHANNELS=
# Comma-separated user IDs who can use /encounter commands. Empty = everyone.
# DISCORD_ALLOWED_USERS=123456789012345678,987654321098765432
DISCORD_ALLOWED_USERS=
# ── Logging ────────────────────────────────────────────────────────────────────
LOG_LEVEL=debug
LITELLM_BASE_URL=
LITELLM_API_KEY=
LITELLM_MODEL=ollama-cloud