재구성 AX Agent 설정과 채팅 UI를 Claude형 구조로
Some checks failed
Release Gate / gate (push) Has been cancelled

This commit is contained in:
2026-04-04 17:48:51 +09:00
parent 90c2f15e96
commit a027ea4f9a
6000 changed files with 11532 additions and 94063 deletions

View File

@@ -538,7 +538,7 @@
<!-- ══════════════════════════════════════════════════════════════════ -->
<!-- 탭 컨트롤 (좌측 사이드바) -->
<!-- ══════════════════════════════════════════════════════════════════ -->
<TabControl Grid.Row="0" TabStripPlacement="Left"
<TabControl x:Name="MainSettingsTab" Grid.Row="0" TabStripPlacement="Left"
Background="Transparent" BorderThickness="0">
<TabControl.Template>
<ControlTemplate TargetType="TabControl">
@@ -574,6 +574,35 @@
</Border>
<Rectangle DockPanel.Dock="Top" Height="1"
Fill="{DynamicResource BorderColor}" Margin="12,0,12,8"/>
<Border DockPanel.Dock="Bottom" Margin="12,0,12,8"
Visibility="Collapsed"
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}" BorderThickness="1"
CornerRadius="10" Padding="8,8">
<StackPanel>
<TextBlock Text="설정 표현"
FontSize="11" FontWeight="SemiBold"
Foreground="{DynamicResource SecondaryText}"
Margin="2,0,0,6"/>
<WrapPanel>
<RadioButton x:Name="DisplayModeRich"
Content="풍부하게"
GroupName="DisplayMode"
Style="{StaticResource AgentSubTabStyle}"
Checked="DisplayMode_Checked"/>
<RadioButton x:Name="DisplayModeBalanced"
Content="적절하게"
GroupName="DisplayMode"
Style="{StaticResource AgentSubTabStyle}"
Checked="DisplayMode_Checked"/>
<RadioButton x:Name="DisplayModeSimple"
Content="간단하게"
GroupName="DisplayMode"
Style="{StaticResource AgentSubTabStyle}"
Checked="DisplayMode_Checked"/>
</WrapPanel>
</StackPanel>
</Border>
<!-- 탭 목록 — 창 높이가 충분히 크므로 스크롤 없음 -->
<ScrollViewer VerticalScrollBarVisibility="Disabled"
HorizontalScrollBarVisibility="Disabled"
@@ -621,7 +650,7 @@
<StackPanel>
<TextBlock Text="AI 기능" Style="{StaticResource SectionHeader}"/>
<Border Style="{StaticResource SettingsRow}">
<Border Style="{StaticResource SettingsRow}" Visibility="Collapsed">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
@@ -3258,7 +3287,7 @@
<!-- ═════════════════════════════════════════════════════════════ -->
<!-- AX Agent 탭 -->
<!-- ═════════════════════════════════════════════════════════════ -->
<TabItem x:Name="AgentTabItem" Header="AX Agent" Tag="&#xE8BD;" Style="{StaticResource SideNavItem}">
<TabItem x:Name="AgentTabItem" Header="AX Agent" Tag="&#xE8BD;" Style="{StaticResource SideNavItem}" Visibility="Collapsed">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
@@ -3540,6 +3569,16 @@
Text="{Binding VllmApiKey, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left" Margin="0,0,60,0">
<TextBlock Style="{StaticResource RowLabel}" Text="SSL 인증서 검증 생략"/>
<TextBlock Style="{StaticResource RowHint}" Text="사내 자체 인증서 환경에서만 사용하세요. vLLM HTTPS 인증서 오류를 무시합니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding VllmAllowInsecureTls, Mode=TwoWay}"/>
</Grid>
</Border>
</StackPanel>
<!-- Gemini 패널 -->
@@ -4019,6 +4058,7 @@
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="슬래시 팝업 표시 개수"/>
<TextBlock Style="{StaticResource RowHint}" Text="/ 입력 시 한 번에 보여줄 명령어 개수입니다. (최소 3 ~ 최대 20)"/>
<TextBlock Style="{StaticResource RowHint}" Text="저장 후 즉시 반영"/>
</StackPanel>
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Center"
Orientation="Horizontal">
@@ -4035,6 +4075,50 @@
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="슬래시 핀 최대 개수"/>
<TextBlock Style="{StaticResource RowHint}" Text="핀 고정 가능한 슬래시 명령어 최대 개수입니다. (최소 1 ~ 최대 30)"/>
<TextBlock Style="{StaticResource RowHint}" Text="저장 후 즉시 반영"/>
</StackPanel>
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock Text="{Binding MaxFavoriteSlashCommands}"
FontSize="13" FontWeight="SemiBold"
Foreground="{DynamicResource AccentColor}"
VerticalAlignment="Center"
MinWidth="24" TextAlignment="Right"
Margin="0,0,8,0"/>
<Slider Width="140" Minimum="1" Maximum="30" TickFrequency="1"
IsSnapToTickEnabled="True"
Value="{Binding MaxFavoriteSlashCommands, Mode=TwoWay}"/>
</StackPanel>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="슬래시 최근 최대 개수"/>
<TextBlock Style="{StaticResource RowHint}" Text="최근 사용(MRU)으로 기억할 슬래시 명령어 최대 개수입니다. (최소 5 ~ 최대 50)"/>
<TextBlock Style="{StaticResource RowHint}" Text="저장 후 즉시 반영"/>
</StackPanel>
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Center"
Orientation="Horizontal">
<TextBlock Text="{Binding MaxRecentSlashCommands}"
FontSize="13" FontWeight="SemiBold"
Foreground="{DynamicResource AccentColor}"
VerticalAlignment="Center"
MinWidth="24" TextAlignment="Right"
Margin="0,0,8,0"/>
<Slider Width="140" Minimum="5" Maximum="50" TickFrequency="1"
IsSnapToTickEnabled="True"
Value="{Binding MaxRecentSlashCommands, Mode=TwoWay}"/>
</StackPanel>
</Grid>
</Border>
<!-- ── 드래그 앤 드롭 AI ── -->
<TextBlock Style="{StaticResource SectionHeader}" Text="드래그 앤 드롭 AI"/>
<Border Style="{StaticResource SettingsRow}">
@@ -4373,24 +4457,6 @@
</StackPanel>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="오류 시 최대 재시도"/>
<TextBlock Style="{StaticResource RowHint}" Text="도구 실행 실패 시 자동으로 재시도할 횟수입니다. (0~10)"/>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<Slider Width="100" Minimum="0" Maximum="10" TickFrequency="1"
IsSnapToTickEnabled="True"
Value="{Binding MaxRetryOnError, Mode=TwoWay}"
VerticalAlignment="Center"/>
<TextBlock Text="{Binding MaxRetryOnError}"
FontSize="13" FontWeight="SemiBold" Foreground="{DynamicResource AccentColor}"
Width="24" TextAlignment="Center" VerticalAlignment="Center"
Margin="8,0,0,0"/>
</StackPanel>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left" Margin="0,0,180,0">
@@ -4454,6 +4520,32 @@
</ComboBox>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left" Margin="0,0,60,0">
<TextBlock Style="{StaticResource RowLabel}" Text="사전 컨텍스트 압축"/>
<TextBlock Style="{StaticResource RowHint}" Text="토큰 한도 전에 이전 대화를 요약/정리해 컨텍스트를 안정적으로 유지합니다."/>
</StackPanel>
<CheckBox Style="{StaticResource ToggleSwitch}" HorizontalAlignment="Right" VerticalAlignment="Center"
IsChecked="{Binding EnableProactiveContextCompact, Mode=TwoWay}"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="압축 시작 임계치"/>
<TextBlock Style="{StaticResource RowHint}" Text="최대 컨텍스트 토큰 대비 사용률이 이 값에 도달하면 사전 압축을 수행합니다."/>
</StackPanel>
<StackPanel HorizontalAlignment="Right" VerticalAlignment="Center" Orientation="Horizontal">
<TextBlock Text="{Binding ContextCompactTriggerPercent, StringFormat={}{0}%}"
FontSize="13" FontWeight="SemiBold" Foreground="{DynamicResource AccentColor}"
VerticalAlignment="Center" MinWidth="42" TextAlignment="Right" Margin="0,0,8,0"/>
<Slider Width="140" Minimum="50" Maximum="95" TickFrequency="5"
IsSnapToTickEnabled="True"
Value="{Binding ContextCompactTriggerPercent, Mode=TwoWay}"/>
</StackPanel>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left" Margin="0,0,60,0">
@@ -4698,9 +4790,9 @@
<ComboBox HorizontalAlignment="Right" VerticalAlignment="Center"
Width="180" SelectedValue="{Binding FolderDataUsage, Mode=TwoWay}"
SelectedValuePath="Tag">
<ComboBoxItem Content="적극 활용 (자동 탐색)" Tag="active"/>
<ComboBoxItem Content="소극 활용 (요청 시)" Tag="passive"/>
<ComboBoxItem Content="활용하지 않음" Tag="none"/>
<ComboBoxItem Content="소극 활용 (요청 시)" Tag="passive"/>
<ComboBoxItem Content="적극 활용 (자동 탐색)" Tag="active"/>
</ComboBox>
</Grid>
</Border>
@@ -5211,6 +5303,24 @@
HorizontalAlignment="Center"/>
</Grid>
</Border>
<Border Style="{StaticResource SettingsRow}">
<Grid>
<StackPanel HorizontalAlignment="Left">
<TextBlock Style="{StaticResource RowLabel}" Text="오류 재시도 횟수"/>
<TextBlock Style="{StaticResource RowHint}" Text="도구 실행 실패 시 자동 복구를 위해 재시도할 최대 횟수입니다. (0~10)"/>
</StackPanel>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<Slider Width="100" Minimum="0" Maximum="10" TickFrequency="1"
IsSnapToTickEnabled="True"
Value="{Binding MaxRetryOnError, Mode=TwoWay}"
VerticalAlignment="Center"/>
<TextBlock Text="{Binding MaxRetryOnError}"
FontSize="13" FontWeight="SemiBold" Foreground="{DynamicResource AccentColor}"
Width="24" TextAlignment="Center" VerticalAlignment="Center"
Margin="8,0,0,0"/>
</StackPanel>
</Grid>
</Border>
<!-- ── 모델 폴백 ── -->
<TextBlock Style="{StaticResource SectionHeader}" Text="모델 폴백"/>