Conversations
OMNI conversations are durable sessions with rich turn metadata, not just plain text threads.Session model
A chat session stores:- Title and model selection
- Context type (
sidebarorterminal) - Message count and preview metadata
- Todo/status state, labels, flags, archive state
- Permission mode and enabled sources
- Token usage aggregates
Message model
Messages support structured parts for richer rendering and execution:- Markdown text
- Tool call/result blocks
- Thinking summaries
- File attachments
- Context badges (sources, skills, files)
Streaming lifecycle
Typical turn flow:- User message arrives
- Backend resolves active skills and source snapshot
- Model streams text/thinking/tool events
- Tool calls execute with permission controls
- Final response and usage are persisted
Session contexts
OMNI uses two context behaviors:sidebar: shared conversational state across tabsterminal: tab-local focused execution context