with one click
protocol-quiet-in-groups
// Enforces PROTOCOLS.md "stay quiet in group chats" deterministically. Blocks outbound messages in Discord/Telegram/Slack/etc group channels when the bot was not @mentioned and recently spoke.
// Enforces PROTOCOLS.md "stay quiet in group chats" deterministically. Blocks outbound messages in Discord/Telegram/Slack/etc group channels when the bot was not @mentioned and recently spoke.
When the agent's epistemic state (GCCRF) indicates low empowerment and falling certainty, hedges out confident absolutes ("definitely", "always", "100%") in outgoing messages.
Forces a memory_search before the agent sends a message containing a factual assertion that has not yet been grounded this turn. Closes the citation-rate gap from ~40% to ~90%+.
When the agent calls memory_search with a relationship-shaped query ("who did I talk to about X"), redirect to the knowledge_graph backend where it will actually find the answer.
Deploy browser automations as scheduled, API-callable serverless Functions — plus stealth sessions, vault-backed login, captcha solving, and natural-language agent runs via the Notte CLI. Turns any browser flow into a deterministic Bitterbot-callable endpoint, ideal for crystallized skills + dream-engine cron schedules.
Display and control HTML content on connected Bitterbot nodes (Mac, iOS, Android) via the canvas host server. Use when presenting games, visualizations, dashboards, or interactive demos on a connected device, navigating canvas URLs, capturing canvas snapshots, or debugging canvas connectivity.
Send, read, edit, delete, and search Discord messages, reactions, polls, pins, and threads via the message tool. Use when interacting with Discord channels, sending media or embeds, creating polls or threads, managing presence, or moderating messages.
| name | protocol-quiet-in-groups |
| description | Enforces PROTOCOLS.md "stay quiet in group chats" deterministically. Blocks outbound messages in Discord/Telegram/Slack/etc group channels when the bot was not @mentioned and recently spoke. |
| tier | executable |
| bitterbot | {"always":true,"interceptors":[{"id":"protocol-quiet-in-groups:default","builtin":true,"activates_on":"send_message-shaped tools on group channels","intervention":"block"}]} |
In group channels (Discord, Telegram, Slack, WhatsApp groups, Google Chat rooms, IRC), the agent should usually observe more than it speaks. PROTOCOLS.md captures this as a "speak ~1 in 5 turns" rule, but as a prompt-level instruction it is fragile under high-engagement conditions.
This interceptor makes the rule deterministic. If the agent is in a group channel AND was not @mentioned in the last 3 turns AND has spoken within the past minute (or is in the first few turns of joining), it silently blocks the next outbound message.
In group chats you will notice the agent participating less often than it would otherwise. When it is directly addressed (@bitterbot or @bot), the block is bypassed and the agent responds normally.
Built-in interceptor protocol-quiet-in-groups:default lives in src/agents/skills/builtin-interceptors/protocol-quiet-in-groups.ts. High priority (90) so it short-circuits ahead of recall/calibration when it fires. Up to 50 fires per session.