Streaming Cards

Every conversation turn produces a live-updating Lark card, your primary window for perceiving and controlling the CLI on your phone or in Lark.

Streaming card

  • Live screenshots of the terminal refreshed onto the card: xterm renders headlessly into an image that faithfully reproduces the CLI's TUI (borders, colors, and cursor are all there), instead of converting output to Markdown. One click to "Show / Hide output," "Export text," and "Scroll up / down."
  • Live status indicator: ๐ŸŸก Starting โ†’ Analyzing โ†’ ๐Ÿ”ต Working / Executing โ†’ ๐ŸŸข Waiting for input; when the quota is used up, it shows "Limit reached ยท Retryable."
  • Operate directly from the card: open a (writable) terminal, ๐Ÿ”‘ grab an operation link, restart / close / adopt the session, and resend the last task.
  • A fresh card per turn: the previous card freezes as an archive, keeping conversation history clear and traceable; after a session is moved to another group with /relay, the original card also automatically freezes as an archive.
  • An "recoverable" card on close: it includes the CLI's native resume command, so you can click back in to continue anytime.

The card body is a live screenshot (image) of the terminal, not text rendering. Messages the CLI proactively sends (via botmux send) are separate rich-text / image-and-text messages that can carry images, files, and @mentions; for fully custom display cards, --card-file / --card-json can send raw interactive card JSON (display + open_url only โ€” any callback-firing control, such as callback buttons, dropdowns, inputs, or form submits, is rejected).