Module 4 · Conversations & Chat

Anatomy of a Conversation

Every conversation is a self-contained context with its own model, system prompt, think level, and message history. Key fields:

FieldPurpose
TitleDisplay name (auto-generated or user-set)
ModelNameWhich model processes this conversation
SystemPromptPersona / instructions prepended to every request
ThinkLevelReasoning depth (see below)
MessagesOrdered list of ChatMessage objects (cascade-deleted with the conversation)
IsArchivedHides the conversation without deleting it

Think Levels

Think levels are the most powerful knob in DaisiBot. They control how deeply the model reasons before responding.

LevelBehaviorTools?
Basic Direct inference — fast, simple answers. No
BasicWithTools Direct inference with access to enabled tool groups. Yes
Skilled Single-pass reasoning with visible thinking. The model reasons through the entire problem in one inference call, "thinking out loud" as it works toward an answer. Good for complex questions that benefit from visible reasoning. Yes
Agent Autonomous multi-step execution. Instead of answering in a single pass, the model first plans a set of steps, then executes each step individually (with full tool access), and finally synthesizes all results into a single response. This plan–execute–synthesize loop lets the model break down complex tasks and tackle them methodically. Yes

Not every model supports every level. The AvailableModel object exposes a SupportedThinkLevels list. Both Skilled and Agent work with any model that supports reasoning, though Agent benefits from models that produce structured plans.

Streaming Responses

DaisiBot streams every response as an IAsyncEnumerable<StreamChunk>. Each chunk carries:

  • Content – The text fragment.
  • Type – Text, Thinking, Tooling, ToolContent, Error, Image, or Audio.
  • IsCompletetrue on the final chunk.

The UI renders text chunks progressively (typewriter effect) and separates Thinking chunks into a collapsible section so you can see the model's chain-of-thought without cluttering the response.

Message Types

Each ChatMessage has a Role and a Type:

Roles
  • System – Hidden instructions
  • User – Your input
  • Assistant – Model response
  • Tool – Tool execution result
Types
  • Text – Normal content
  • Thinking – Chain-of-thought
  • Tooling – Tool invocation
  • ToolContent – Tool output
  • Error / Image / Audio

Slash Commands (TUI)

In the terminal client, type / to open the autocomplete popup. The top 5 matches appear and you navigate with Up/Down, complete with Tab or Enter.

CommandWhat It Does
/newCreate a new conversation
/modelOpen the model picker
/settingsOpen the settings dialog
/skillsOpen the skill browser
/install <skill>Install a skill by name
/loginStart the OTP authentication flow
/balanceCheck your DAISI credit balance
/statusShow bot status or all bots
/runnowRun a selected bot immediately
/killStop and delete a bot (with confirmation)
/exportExport the current conversation
/clearClear the screen
/helpShow help information

Chat Statistics

After every response, DaisiBot tracks token count, compute time, and tokens per second for both the last message and the running session total. In the TUI these appear in the ChatStatsBar; in MAUI/Web they appear below each message bubble. Use these to compare model performance and estimate costs.

Active Recall Checkpoint

Cover the answers and test yourself before peeking.

1. Name the four think levels in order from simplest to deepest.

Reveal answer

Basic, BasicWithTools, Skilled, Agent.

2. What is the difference between Skilled and Agent think levels?

Reveal answer

Skilled reasons through the problem in a single inference pass with visible thinking. Agent breaks the task into a multi-step plan, executes each step individually with tool access, then synthesizes all results into a final answer.

3. What three properties does a StreamChunk carry?

Reveal answer

Content (text fragment), Type (Text/Thinking/Tooling/etc.), and IsComplete (boolean).

4. How do you trigger slash command autocomplete in the TUI?

Reveal answer

Type / to open the autocomplete popup, then navigate with Up/Down and complete with Tab or Enter.