Files
household-bot/.env.example
whekin f38ee499ae feat(bot): unified topic processor replacing router+interpreter stack
Replace 3-layer architecture (gpt-5-nano router + gpt-4o-mini interpreter) with
single unified topic processor (gpt-4o-mini) for simplified message handling.

New components:
- HouseholdContextCache: TTL-based caching (5 min) for household config data
- TopicProcessor: Unified classification + parsing with structured JSON output

Key changes:
- Renamed ASSISTANT_ROUTER_MODEL → TOPIC_PROCESSOR_MODEL
- Added TOPIC_PROCESSOR_TIMEOUT_MS (default 10s)
- Refactored save() → saveWithInterpretation() for pre-parsed interpretations
- Removed deprecated createOpenAiTopicMessageRouter and ~300 lines legacy code
- Fixed typing indicator to only start when needed (purchase routes)
- Fixed amount formatting: convert minor units to major for rawText

Routes: silent, chat_reply, purchase, purchase_clarification, payment,
payment_clarification, topic_helper, dismiss_workflow

All 212 bot tests pass. Typecheck, lint, format, build clean.
2026-03-14 13:33:57 +04:00

33 lines
870 B
Plaintext

# Core
NODE_ENV=development
LOG_LEVEL=info
PORT=3000
# Database
DATABASE_URL=postgres://postgres:postgres@127.0.0.1:54322/postgres
# Telegram
TELEGRAM_BOT_TOKEN=your-telegram-bot-token
TELEGRAM_WEBHOOK_SECRET=your-webhook-secret
TELEGRAM_WEBHOOK_PATH=/webhook/telegram
# Mini app
MINI_APP_ALLOWED_ORIGINS=http://localhost:5173
# Parsing / AI
OPENAI_API_KEY=your-openai-api-key
PURCHASE_PARSER_MODEL=gpt-4o-mini
ASSISTANT_MODEL=gpt-4o-mini
TOPIC_PROCESSOR_MODEL=gpt-4o-mini
TOPIC_PROCESSOR_TIMEOUT_MS=10000
ASSISTANT_TIMEOUT_MS=20000
ASSISTANT_MEMORY_MAX_TURNS=12
ASSISTANT_RATE_LIMIT_BURST=5
ASSISTANT_RATE_LIMIT_BURST_WINDOW_MS=60000
ASSISTANT_RATE_LIMIT_ROLLING=50
ASSISTANT_RATE_LIMIT_ROLLING_WINDOW_MS=86400000
# Scheduler
SCHEDULER_SHARED_SECRET=your-scheduler-shared-secret
SCHEDULER_OIDC_ALLOWED_EMAILS=scheduler-invoker@your-project.iam.gserviceaccount.com