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)