Mobile Chat
The Chat tab is the primary interface for interacting with your Snippbot agents on mobile. It supports streaming responses, agent selection, voice input, file attachments, and full conversation history.
Starting a conversation
Section titled “Starting a conversation”- Tap the Chat tab in the bottom bar
- Tap New Chat (top-right) or select an existing conversation
- Choose an agent from the agent selector at the top of the chat
- Type your message and tap Send
The agent’s response streams in real-time via Server-Sent Events (SSE), showing content as it’s generated.
Agent selector
Section titled “Agent selector”Tap the agent name at the top of a conversation to switch agents:
- Default agent — General-purpose assistant
- Custom agents — Your configured agents with specific tools and personalities
- The selected agent persists for the conversation
Message types
Section titled “Message types”The chat displays several message types with distinct styling:
| Type | Appearance | Description |
|---|---|---|
| User message | Right-aligned bubble | Your sent messages |
| Agent response | Left-aligned bubble | Streaming text with markdown rendering |
| Tool call | Collapsed card | Shows tool name, expandable to see input/output |
| Thinking | Dimmed italic text | Agent’s reasoning (when thinking is enabled) |
| Error | Red banner | Error messages from the agent or daemon |
| System | Centered gray text | Status messages (session joined, etc.) |
Markdown rendering
Section titled “Markdown rendering”Agent responses render full markdown:
- Bold, italic,
strikethrough - Code blocks with syntax highlighting
- Tables
- Lists (ordered and unordered)
- Links (tappable)
- Images (inline display)
Voice input
Section titled “Voice input”The mobile app supports hold-to-talk voice input:
- Long-press the microphone icon next to the text input
- Speak your message — a waveform animation shows recording is active
- Release to send — speech is transcribed and sent automatically
File attachments
Section titled “File attachments”Attach files to your messages:
- Tap the + (attachment) icon in the input bar
- Choose a source:
- Camera — Take a photo
- Photo Library — Select from your gallery
- Files — Browse device files
- The file appears as a preview in the input area
- Type an optional message and tap Send
Supported file types:
- Images (JPEG, PNG, GIF, WebP)
- Documents (PDF, TXT, MD)
- Code files
Streaming events
Section titled “Streaming events”The chat handles these real-time events from the daemon:
| Event | What happens |
|---|---|
message_start | Begins a new agent response bubble |
content_delta | Appends text to the current response |
thinking_delta | Shows agent reasoning text |
tool_start | Displays a tool call card |
tool_result | Updates the tool card with results |
message_complete | Finalizes the response |
ask_questions | Shows interactive question buttons |
cancelled | Marks the response as cancelled |
error | Displays an error banner |
Conversation history
Section titled “Conversation history”Access past conversations:
- Tap History from the More tab to browse all conversations
- Each conversation shows the last message preview, agent name, and timestamp
- Swipe left on a conversation to delete it
- Pull down to refresh the list
Chat keyboard shortcuts
Section titled “Chat keyboard shortcuts”When using an external keyboard (iPad or Android tablet):
| Shortcut | Action |
|---|---|
Enter | Send message |
Shift+Enter | New line |
Troubleshooting
Section titled “Troubleshooting”Messages not streaming
Section titled “Messages not streaming”- Check your daemon connection in Settings > Connection
- Ensure the daemon is running:
snippbot status - Check that the selected agent exists and has a valid model configured
Voice input not working
Section titled “Voice input not working”- Grant microphone permission in device Settings > Snippbot
- Ensure you’re long-pressing (not tapping) the microphone icon
- Check that speech recognition is enabled on your device
File upload fails
Section titled “File upload fails”- Check the file size (max 10 MB per attachment)
- Ensure the daemon has enough disk space
- Verify camera/photo library permissions in device settings