# 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. - `before_prompt_build` prepends instruction `你的这次发言必须以🔚作为结尾。` when decision is: - `bypass_sender` - `end_symbol:*` ## 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)