Conversations¶
Agora's conversation system is built around non-linear branching — unlike most chat apps, you can edit any past message and explore alternative response paths without losing the original conversation.
Creating Conversations¶
Tap New Chat in the conversations drawer, or simply start typing in the chat screen. A new conversation is created automatically with your first message.
Conversations are auto-titled after the first response (if Title Generation is enabled), or you can rename them manually.
Managing Conversations¶
Switch Conversations¶
Open the conversations drawer (hamburger menu :material-menu: or swipe right) and tap any conversation to open it.
Rename¶
- Long-press a conversation in the drawer
- Tap Rename
- Enter a new title and save
Delete¶
- Long-press a conversation in the drawer
- Tap Delete
- Confirm the deletion — this action cannot be undone
Non-Linear Branching¶
This is Agora's signature feature. Every message can be a branching point.
Editing a Past Message¶
- Long-press any message bubble (user or model)
- Tap Edit
- Modify the message content
- Send — Agora creates a new branch from this point
The original branch is preserved. You can switch between branches at any time.
How Branches Work¶
Each message lives in a tree structure:
Message 1 (User)
├── Message 2 (Model) ← original response
└── Message 3 (Model) ← branch created after editing Message 1
├── Message 4 (User)
└── ...
When you edit a message and regenerate, the new response becomes a sibling of the original — both exist under the same parent message.
Switching Branches¶
When a message has multiple children (branches), the UI shows navigation controls to switch between them. You can explore alternative paths without losing context.
Why Branch?¶
- Explore alternatives — ask the same question with different wording
- A/B test prompts — compare responses from different system prompts or models
- Fix mistakes — correct a typo in your question without losing the original thread
- Iterate — refine a prompt through multiple versions while keeping all attempts
Message Operations¶
Long-press any message to access these actions:
| Action | Description |
|---|---|
| Copy | Copy the message text to clipboard |
| Edit | Edit the message and create a branch |
| Info | View metadata: timestamp, model used, token count |
| Delete | Delete this message and all follow-up replies |
Deleting a Message
Deleting a message also removes all responses that follow it. This cannot be undone.
The Bottom Bar¶
The chat input area provides quick access to essential controls:
Model Selector¶
Tap the model name on the left side of the bottom bar to open the model picker. You can switch models at any time — even mid-conversation. Different messages in the same conversation can use different models.
Attachments¶
Tap + (:material-plus:) to attach files:
- Photos — images from your gallery
- Videos — video files (with frame extraction support)
- Files — any file type, including PDFs
Supported image formats are sent directly to vision-capable models. PDF files open a page selection dialog.
Sending¶
Type your message and tap Send (:material-send:). The model streams its response token-by-token.
Streaming & Display¶
Real-Time Streaming¶
Responses appear word-by-word as the model generates them. Agora auto-scrolls to keep the latest content visible. Tap the scroll-to-bottom button (appears when you scroll up) to jump back to the live response.
Markdown Rendering¶
Model responses are rendered with full markdown support:
- Headers, bold, italic,
inline code - Code blocks with syntax highlighting (use
```) - Tables, blockquotes, lists
- LaTeX math — inline
$E=mc^2$and block$$\int_a^b f(x)dx$$
Thinking Display¶
For models that support reasoning (OpenAI o-series, Anthropic extended thinking, Gemini thinking, DeepSeek-R1), the model's thought process is shown in a collapsible panel before the final response:
- The panel shows "Thinking..." during the reasoning phase
- Once complete, it displays the thinking duration (e.g., "Thought for 12s")
- Tap to expand/collapse the thought content
- Tool calls made during thinking are counted (e.g., "Thought for 8s, called 2 tools")
Per-Conversation Settings¶
Each conversation can override global defaults:
- Model — select a different model for this conversation
- System Prompt — use a different system instruction
- Generation parameters — temperature, max tokens, thinking level
These overrides are set from the conversation's overflow menu in the top bar.
Context Window¶
Agora tracks token usage in real time. When a conversation exceeds the model's context window, older messages are visually dimmed to indicate they are outside the active context. The model no longer "sees" dimmed messages, but they remain visible in your UI.
Adjust the context window size in Settings → Generation → Context Window.