Streaming & UX

Bidirectional Impulse Channel

Let the user inject impulses into the agent and let the agent push messages to the user, both through one channel.

Problem

A pure request-and-response chat interface fits this poorly: the agent has nothing to say when nothing is asked, and the user has no way to inject a correction without phrasing it as a new question for the model to interpret. A pure notification firehose in the other direction is worse, because it trains the user to mute the channel within a day. The team has to choose between an agent that goes silent until prompted and an agent that becomes background noise, with no obvious middle ground.

Solution

A single CLI/chat surface where the user can send sigil-prefixed commands (e.g. `!<verb> ...`) that bypass the model and write directly to memory, while the agent can push messages when salience clears a threshold (insight, stuck focus, contradiction, goal complete). Hygiene rule: at most one unsolicited message per window.

When to use

  • The agent runs long enough that pure request-response chat misses the point.
  • Users want to inject commands or facts that bypass the model and write directly to memory.
  • Salience signals exist that justify agent-initiated push messages without spamming the user.

Open the full interactive page

Diagram, neighbourhood map, code examples, related patterns and full provenance.

Related