Bot platform adapters now ship in the
praisonai-bot package. praisonai bot serve still works exactly as documented here; for a standalone install see praisonai-bot Migration.allow_silence: true, an agent can return NO_REPLY (or a custom token) to send nothing β no message, no typing indicator, no error.
Both
NO_REPLY (this page) and BotLoopGuard live in praisonaiagents/bots/silence.py. Where NO_REPLY lets an agent opt out of a single reply, BotLoopGuard lets the gateway opt out of an entire runaway bot-to-bot exchange.allow_silence: true, the agent can return NO_REPLY so nothing is sent.
Quick Start
How It Works
| Marker | Honoured when allow_silence=true |
|---|---|
NO_REPLY | β default token |
[SILENT] | β |
SILENT | β |
Custom silence_token | β exact match only |
| Prose containing βNO_REPLYβ | β not treated as silence |
Configuration
| Field | Type | Default | Description |
|---|---|---|---|
allow_silence | bool | false | Honour silence markers (opt-in) |
silence_token | str | None | Override marker; when set, only this exact string triggers silence |
group_policy: respond_all so the agent may respond, then chooses silence via NO_REPLY.
Best Practices
Opt in explicitly
Opt in explicitly
allow_silence defaults to false β existing bots behave unchanged.Teach the agent the contract
Teach the agent the contract
Instructions should say when to return exactly
NO_REPLY vs a normal reply.Use for ambient group channels
Use for ambient group channels
Reduces noise when the bot listens to everything but should rarely speak.
Related
Bot Loop Protection
Break runaway bot-to-bot reply loops
Gateway
Channel configuration reference
Messaging Bots
Multi-platform bot setup
Bot Loop Protection
Break runaway bot-to-bot reply loops with a sliding-window pair budget

