User Guide · 04

Chat

The chat page is JellyfishBot's core interface for streaming conversations with the AI Agent.

4.1 Conversation List

  • Located in the sidebar, shows all historical conversations
  • Click + button to create a new conversation
  • Click a conversation entry to switch to it
  • Hover shows delete button
  • Switching back to a conversation still streaming in background auto-restores display

4.2 Message Input

Bottom input area contains:

  • Text input: multi-line input (Shift+Enter for newline, Enter to send)
  • Capability switches: click to expand capability selection bar
    • 🌐 Web: enable web search and fetching (always enabled for Admin by default)
    • 🎨 Image: enable AI image generation
    • 🔊 Voice: enable TTS voice generation
    • 🎬 Video: enable AI video generation
  • Plan Mode: enable planning mode, Agent plans first then executes (requires approval)
  • Model selector: dropdown to select AI model for current conversation
  • Image attachments: three ways to add images
    • 📎 Click attachment button to select file
    • Ctrl+V to paste clipboard image
    • Drag image to input area
  • Voice input: click microphone button to start recording → click again to stop → auto-transcribed into input field; press Esc during recording to cancel
  • Send/Stop button:
    • Normal state shows send button (paper plane icon)
    • During streaming shows red Stop button — click to abort current reply

4.3 Streaming Message Display

AI replies display in streaming mode, containing the following block types:

Text Blocks

  • Markdown rendered with code highlighting (17 common languages)
  • Code blocks use JetBrains Mono font
  • Media embedding: auto-recognizes <<FILE:/generated/xxx.png>> tags, displays images/audio/video/PDF/HTML

Thinking Blocks

  • Shows AI's reasoning process (Thinking models only)
  • Collapsible/expandable (click header bar)
  • Shows three-dot bounce animation during streaming
  • Identified by Brain icon

Tool Calls (Tool Indicator)

  • Shows tool name and argument preview
  • Shows spinning loader while executing
  • Shows green checkmark when done
  • Results are expandable
  • Identified by Wrench icon

Subagent Cards

  • Shows subagent task description
  • Internal tool calls displayed in chronological order (text/tool/thinking timeline)
  • Streams subagent replies in real time
  • Identified by Robot icon

Approval Cards (HITL)

  • File operation approval: shows file modification diff preview, choose approve or reject
  • Plan approval: shows Agent's execution plan, can edit before approving or rejecting
  • Approval buttons use Check (approve) and X (reject) icons

4.4 History Messages

  • User messages appear on the right (pink-purple gradient bubble)
  • AI messages appear on the left (with jellyfish logo avatar)
  • History messages replay in interleaved order (thinking → text → tool → text → subagent → text…)
  • User attachments displayed as thumbnail gallery, click to enlarge

4.5 Smart Scroll

  • New messages auto-scroll to bottom
  • When user scrolls up to browse history, auto-scroll pauses
  • Returns to bottom, auto-scroll resumes

4.6 Stream Recovery

  • On backend crash / network interruption, already-generated partial content auto-persists (marked ⚠️ [Connection interrupted — saved generated content])
  • Switching back to a conversation still streaming in background shows yellow banner with "Abort & Save" and "Refresh Status" buttons
  • Cannot send new messages while streaming (prevents conflicts)