mit einem Klick
route-by-query-shape
// 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.
// 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.
| name | route-by-query-shape |
| description | 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. |
| tier | executable |
| bitterbot | {"always":false,"interceptors":[{"id":"route-by-query-shape:relationship","builtin":true,"activates_on":"memory_search with relationship-shaped query","intervention":"modify (route to knowledge_graph backend)"}]} |
When you ask Bitterbot a relationship question — "who did I talk to about Q4?", "who worked with me on Foo?" — the vector-based memory_search often misses because the answer lives in entity relationships, not in chunk text. The graph backend gets these right.
This interceptor watches memory_search calls, detects relationship-shaped queries, extracts the salient entity, and re-routes the call to the graph backend before it executes.
For relationship questions, the agent will hit the knowledge graph rather than searching through unstructured text. Expect noticeably better hit rates on "who did X with Y" style questions.
Built-in interceptor route-by-query-shape:relationship lives in src/agents/skills/builtin-interceptors/route-by-query-shape.ts. Fires up to 12 times per session.
When the agent's epistemic state (GCCRF) indicates low empowerment and falling certainty, hedges out confident absolutes ("definitely", "always", "100%") in outgoing messages.
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.
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%+.
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.