Module 3 · Configuration & Host Mode

User Settings Overview

All configuration lives in a single UserSettings row (ID = 1) in the local SQLite database. You change settings through the Settings dialog (F4 in TUI, gear icon in MAUI) or programmatically via ISettingsService.

Here are the key settings groups:

Inference Settings

SettingPurposeDefault
DefaultModelNameWhich model to use for new conversationsFirst available
DefaultThinkLevelReasoning depth for new conversationsBasic
TemperatureRandomness of responses (0.0 – 2.0)0.7
TopPNucleus sampling threshold0.9
MaxTokensMaximum response length in tokens2048
SystemPromptDefault persona / instructions injected into every conversation(empty)

Host Mode Settings

These only apply when HostModeEnabled is true (the default).

SettingPurposeDefault
HostModeEnabledRun inference locally instead of routing to DaisiNettrue
ModelFolderPathWhere GGUF model files are storedAuto-detected
LlamaRuntimeBackend: CPU, CUDA, or VulkanAuto
ContextSizeToken context window for local models2048
GpuLayerCountLayers offloaded to GPU (-1 = auto-detect)-1
BatchSizeInference batch size512
NetworkHostEnabledServe your idle cycles to the DAISI networkfalse

Network Settings

SettingPurposeDefault
OrcDomainHostname of the orchestrator to connect toPublic ORC
OrcPortgRPC port443
OrcUseSslEnable TLS for the gRPC connectiontrue
NetworkNameNamed network partition to join(default)

Host Mode Deep Dive

When Host Mode is enabled, the startup flow is:

  1. Query the ORC for the list of required model files.
  2. Scan local folder and compare with the required list.
  3. Download missing models — a progress dialog appears (text bar in TUI, linear progress in MAUI).
  4. Initialize LLamaSharp with the selected backend (CPU / CUDA / Vulkan).
  5. Ready — inference happens entirely on your hardware.

You can toggle Host Mode at any time via the HostModeToggle component. Switching to DaisiNet mode skips local model loading and routes all requests through the orchestrator instead.

Tool Groups

Tool Groups control which capabilities the agent can use in a conversation. Think of them as permission sets for the agent's "hands." Each group is classified as either Standard (lower risk) or Elevated (higher risk — requires explicit confirmation when enabled).

Enable or disable these per-conversation in Settings (F4 in TUI, gear icon in MAUI). Skills can also declare which tool groups they require — when you install a skill, its required groups are shown with their permission level.

Standard Tool Groups

These groups are lower risk. They read data, perform calculations, or generate content without direct system-level side effects.

Standard
InformationTools

Search the web, look up facts, and retrieve public information.

Typical use cases: answering factual questions, summarizing web pages, looking up documentation, real-time data retrieval (weather, stock prices, news).

Standard
MathTools

Perform calculations, solve equations, and process numerical data.

Typical use cases: arithmetic, unit conversions, statistical analysis, plotting data, solving algebra or calculus problems step by step.

Standard
CodingTools

Write, analyze, and debug code snippets.

Typical use cases: generating code in any language, explaining existing code, finding bugs, refactoring suggestions, writing unit tests. Note: this does not grant filesystem access — the agent works with code in-memory. To save files, FileTools must also be enabled.

Standard
MediaTools

Generate, edit, and process images, audio, and video.

Typical use cases: image generation from prompts, resizing and cropping, audio transcription, thumbnail creation. Output is returned in the conversation; saving to disk requires FileTools.

Standard
SocialTools

Interact with social platforms and public APIs.

Typical use cases: reading public posts and profiles, summarizing social threads, monitoring hashtags or trends, querying public REST APIs.

Elevated Tool Groups

These groups carry higher risk because they can modify your filesystem, send messages on your behalf, or use your credentials to reach external services. DaisiBot shows a confirmation dialog when you enable them.

Elevated
FileTools

Read, write, and manage files on your local system. This grants access to your filesystem.

Typical use cases: creating and editing documents, reading CSVs or logs, organizing folders, saving generated code to disk. Risk: the agent can read sensitive files and overwrite existing ones. Limit use to conversations that genuinely need file access.

Elevated
CommunicationTools

Send emails, messages, and notifications on your behalf.

Typical use cases: drafting and sending emails, posting messages to team channels, scheduling reminders, sending SMS notifications. Risk: the agent acts as you — recipients will see messages from your account. Always review what the agent intends to send.

Elevated
IntegrationTools

Connect to third-party services and APIs with your credentials.

Typical use cases: creating Jira tickets, pushing to GitHub, querying databases, calling internal REST endpoints, updating spreadsheets in cloud services. Risk: the agent uses your stored credentials, so a misconfigured skill could take actions on external systems under your identity.

How Tool Groups Are Enforced

The ToolPermissions class in DaisiBot.Core.Security is the single source of truth. It maps every ToolGroupSelection enum value to a permission level and description. The UI component ToolGroupSelector reads this mapping to render checkboxes and automatically shows a confirmation dialog when you toggle an Elevated group.

GroupPermission Level
InformationToolsStandard
MathToolsStandard
CodingToolsStandard
MediaToolsStandard
SocialToolsStandard
FileToolsElevated
CommunicationToolsElevated
IntegrationToolsElevated

Active Recall Checkpoint

Cover the answers and test yourself before peeking.

1. Where are all user settings stored?

Reveal answer

In a single UserSettings row (ID = 1) in the local SQLite database.

2. What are the three LLamaSharp backends DaisiBot can use for local inference?

Reveal answer

CPU, CUDA, and Vulkan.

3. What does GpuLayerCount = -1 mean?

Reveal answer

Auto-detect — DaisiBot will automatically decide how many model layers to offload to the GPU.

4. Which three tool groups are classified as Elevated, and why?

Reveal answer

FileTools (reads/writes your filesystem), CommunicationTools (sends messages as you), and IntegrationTools (uses your credentials to reach third-party services). They are Elevated because they can take actions with real-world side effects under your identity.

5. CodingTools is Standard, yet it involves code. Why isn't it Elevated?

Reveal answer

CodingTools works with code in-memory only — it can write, analyze, and debug code snippets but cannot save files to disk or execute them. Filesystem access requires the separate FileTools group.

6. What happens in the UI when you try to enable an Elevated tool group?

Reveal answer

The ToolGroupSelector shows a confirmation dialog describing the elevated access and asking you to Allow or Deny before it is enabled.