Load system prompt from persistent file

- Load system prompt from data/system-prompt.txt (persistent)
- Fallback to AI_SYSTEM_PROMPT env variable
- Fallback to hardcoded default
- File can be edited without rebuilding container
- Includes default UlfBot/SchrottBot personality

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-24 10:54:36 +01:00
parent cffc818dd9
commit cfa281e676
5 changed files with 58 additions and 3 deletions

View File

@@ -61,7 +61,9 @@ src/
### AI Client (ai.ts)
- OpenAI-compatible API (works with OpenAI, Ollama, OpenRouter, etc.)
- Prompt system: Global (.env) + Group-specific (DB)
- Prompt system:
- Global: `data/system-prompt.txt``.env` fallback → default
- Group-specific: stored in DB per chat
- API key masking for security
- Context: Last 50 messages
@@ -78,6 +80,14 @@ BOT_TOKEN= # Telegram bot token (required)
AI_DEFAULT_API_KEY= # Default API key (optional)
AI_DEFAULT_BASE_URL= # Default API URL (default: OpenAI)
AI_DEFAULT_MODEL= # Default model (default: gpt-4o-mini)
AI_SYSTEM_PROMPT= # Global system prompt (fallback, see below)
```
**System Prompt Loading:**
1. `data/system-prompt.txt` (persistent, editable without rebuild)
2. `AI_SYSTEM_PROMPT` env variable (fallback)
3. Hardcoded default (last resort)
AI_DEFAULT_MODEL= # Default model (default: gpt-4o-mini)
AI_SYSTEM_PROMPT= # Global system prompt
```