Files
Dirigent/README.md

58 lines
1.5 KiB
Markdown

# 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, integration, run-mode notes
- `scripts/` — smoke/dev/helper checks
- `Makefile` — common dev commands (`make check`, `make check-rules`, `make test-api`, `make up`)
- `CHANGELOG.md` — milestone summary
## Quick start (no Docker)
```bash
cd no-reply-api
node server.mjs
```
Then render config snippet:
```bash
node scripts/render-openclaw-config.mjs
```
See `docs/RUN_MODES.md` for Docker mode.
---
## Development plan (incremental commits)
- [x] Task 1: project docs + structure
- [x] Task 2: no-reply API MVP
- [x] Task 3: plugin MVP with rule chain
- [x] Task 4: sample config + quick verification scripts
- [x] Task 5: plugin rule extraction + hardening
- [x] Task 6: containerization + compose
- [x] Task 7: plugin usage notes
- [x] Task 8: sender normalization + TTL + one-shot decision
- [x] Task 9: auth-aware no-reply API
- [x] Task 10: smoke test helpers
- [x] Task 11: plugin structure checker
- [x] Task 12: rollout checklist