# WhisperGate Plugin ## Hook strategy - `message:received` caches a per-session decision from deterministic rules. - `before_model_resolve` applies `providerOverride + modelOverride` when decision says no-reply. ## Rules (in order) 1. non-discord -> skip 2. bypass sender -> skip 3. end symbol matched -> skip 4. else -> no-reply override ## Config See `docs/CONFIG.example.json`. Required: - `noReplyProvider` - `noReplyModel` Optional: - `enabled` (default true) - `discordOnly` (default true) - `bypassUserIds` (default []) - `endSymbols` (default punctuation set)