Table of Contents

Class TuiSettings

Namespace
JD.AI.Core.Config
Assembly
JD.AI.Core.dll

User-configurable TUI display settings, persisted to ~/.jdai/tui-settings.json.

public sealed record TuiSettings : IEquatable<TuiSettings>
Inheritance
TuiSettings
Implements
Inherited Members

Properties

AutoCompact

When true, chat history is automatically compacted when context usage crosses CompactThresholdPercent.

public bool AutoCompact { get; init; }

Property Value

bool

CompactThresholdPercent

Percentage of the model context window at which auto-compaction triggers (0–100). Default: 75. Use /config set compact_auto off to disable auto-compaction entirely. A value of 100 means compact only when the window is completely full.

public int CompactThresholdPercent { get; init; }

Property Value

int

Status footer display settings.

public FooterSettings Footer { get; init; }

Property Value

FooterSettings

OutputStyle

Assistant output rendering style.

public OutputStyle OutputStyle { get; init; }

Property Value

OutputStyle

PromptCacheEnabled

When true, supported providers may auto-enable prompt caching.

public bool PromptCacheEnabled { get; init; }

Property Value

bool

PromptCacheTtl

Prompt cache TTL (5m default, optional 1h where supported).

public PromptCacheTtl PromptCacheTtl { get; init; }

Property Value

PromptCacheTtl

SpinnerStyle

The spinner/progress display style during LLM turns.

public SpinnerStyle SpinnerStyle { get; init; }

Property Value

SpinnerStyle

SystemPromptBudgetPercent

Maximum percentage of context window the system prompt should use (0-100). Default: 20.

public int SystemPromptBudgetPercent { get; init; }

Property Value

int

SystemPromptCompaction

System prompt compaction mode: Off, Auto (compact when over budget), Always.

public SystemPromptCompaction SystemPromptCompaction { get; init; }

Property Value

SystemPromptCompaction

Theme

Color theme used by the terminal renderer.

public TuiTheme Theme { get; init; }

Property Value

TuiTheme

Updates

Update workflow behavior and component orchestration settings.

public UpdateWorkflowSettings Updates { get; init; }

Property Value

UpdateWorkflowSettings

VimMode

When true, interactive input uses vim-style key bindings.

public bool VimMode { get; init; }

Property Value

bool

Welcome

Welcome panel visibility and MoTD settings.

public WelcomePanelSettings Welcome { get; init; }

Property Value

WelcomePanelSettings

Methods

Load()

Load settings from the data directory, returning defaults if not found.

public static TuiSettings Load()

Returns

TuiSettings

Save()

Save current settings to the data directory.

public void Save()