WhisperGate

Rule-based no-reply gate for OpenClaw.

What it does

WhisperGate adds a deterministic gate before model selection:

  1. If message is not from Discord → skip gate
  2. If sender is in bypass user list → skip gate
  3. If message ends with configured end-symbol → skip gate
  4. Otherwise switch this turn to a no-reply model/provider

The no-reply provider returns NO_REPLY for any input.


Repo layout

  • plugin/ — OpenClaw plugin (before_model_resolve hook)
  • no-reply-api/ — OpenAI-compatible minimal API that always returns NO_REPLY
  • docs/ — rollout and configuration notes
  • scripts/ — smoke/dev helper scripts

Development plan (incremental commits)

  • Task 1: project docs + structure
  • Task 2: no-reply API MVP
  • Task 3: plugin MVP with rule chain
  • Task 4: sample config + quick verification scripts
  • Task 5: plugin rule extraction + hardening
  • Task 6: containerization + compose
  • Task 7: plugin usage notes
  • Task 8: sender normalization + TTL + one-shot decision
  • Task 9: auth-aware no-reply API
  • Task 10: smoke test helpers
  • Task 11: plugin structure checker
  • Task 12: rollout checklist
Description
Rule-based no-reply gate for OpenClaw
Readme 1.6 MiB
Languages
TypeScript 75.7%
JavaScript 23.8%
Shell 0.4%
Makefile 0.1%