AX Agent 내부 설정 탭 분리와 테마 복구
Some checks failed
Release Gate / gate (push) Has been cancelled

- AX Agent 내부 설정에서 스킬/차단 탭을 도구, 스킬, 차단으로 분리하고 각 패널을 기능별로 재배치

- 공통 탭에 테마 스타일과 테마 모드를 실제 선택 카드 UI로 복구하고 기존 숨김 플레이스홀더를 제거

- 메인 설정 좌측의 AX Agent 이동 항목을 맨 아래로 재배치하고 README 및 DEVELOPMENT 문서 이력을 2026-04-05 15:06 (KST) 기준으로 갱신

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ / 경고 0 오류 0
This commit is contained in:
2026-04-05 13:39:44 +09:00
parent d102e17d47
commit d368ebf822
5 changed files with 231 additions and 84 deletions

View File

@@ -2481,22 +2481,30 @@
Margin="0,4,0,0"
Checked="OverlayNav_Checked"
Tag="dev"/>
<RadioButton x:Name="OverlayNavTools"
Content="도구"
<RadioButton x:Name="OverlayNavTools"
Content="도구"
GroupName="OverlayNav"
Style="{StaticResource SettingsNavBtn}"
HorizontalAlignment="Stretch"
Margin="0,4,0,0"
Checked="OverlayNav_Checked"
Tag="tools"/>
<RadioButton x:Name="OverlayNavSkill"
Content="스킬"
GroupName="OverlayNav"
Style="{StaticResource SettingsNavBtn}"
HorizontalAlignment="Stretch"
Margin="0,4,0,0"
Checked="OverlayNav_Checked"
Tag="tools"/>
<RadioButton x:Name="OverlayNavEtc"
Content="스킬/차단"
Tag="skill"/>
<RadioButton x:Name="OverlayNavBlock"
Content="차단"
GroupName="OverlayNav"
Style="{StaticResource SettingsNavBtn}"
HorizontalAlignment="Stretch"
Margin="0,4,0,0"
Checked="OverlayNav_Checked"
Tag="etc"/>
Tag="block"/>
</StackPanel>
</Border>
<ScrollViewer Grid.Row="0" Grid.RowSpan="2" Grid.Column="1"
@@ -2953,21 +2961,105 @@
</Grid>
<StackPanel x:Name="OverlayThemeStylePanel"
Visibility="Collapsed"
Height="0"
Margin="0"
IsHitTestVisible="False">
<Border x:Name="OverlayThemeStyleClawCard"/>
<Border x:Name="OverlayThemeStyleCodexCard"/>
<Border x:Name="OverlayThemeStyleSlateCard"/>
Margin="0,0,0,12">
<TextBlock Text="테마 스타일"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="AX Agent 전용 시각 언어를 고릅니다. 채팅 본문과 설정 카드 모두 같은 스타일로 바뀝니다."
Margin="0,4,0,8"
FontSize="11"
TextWrapping="Wrap"
Foreground="{DynamicResource SecondaryText}"/>
<WrapPanel>
<Border x:Name="OverlayThemeStyleClawCard"
Cursor="Hand"
CornerRadius="8"
BorderThickness="1"
BorderBrush="{DynamicResource BorderColor}"
Padding="10,7"
Margin="0,0,8,8"
MouseLeftButtonUp="OverlayThemeStyleClawCard_MouseLeftButtonUp">
<TextBlock Text="Claw"
FontSize="12"
Foreground="{DynamicResource PrimaryText}"/>
</Border>
<Border x:Name="OverlayThemeStyleCodexCard"
Cursor="Hand"
CornerRadius="8"
BorderThickness="1"
BorderBrush="{DynamicResource BorderColor}"
Padding="10,7"
Margin="0,0,8,8"
MouseLeftButtonUp="OverlayThemeStyleCodexCard_MouseLeftButtonUp">
<TextBlock Text="Codex"
FontSize="12"
Foreground="{DynamicResource PrimaryText}"/>
</Border>
<Border x:Name="OverlayThemeStyleSlateCard"
Cursor="Hand"
CornerRadius="8"
BorderThickness="1"
BorderBrush="{DynamicResource BorderColor}"
Padding="10,7"
Margin="0,0,8,8"
MouseLeftButtonUp="OverlayThemeStyleSlateCard_MouseLeftButtonUp">
<TextBlock Text="Slate"
FontSize="12"
Foreground="{DynamicResource PrimaryText}"/>
</Border>
</WrapPanel>
</StackPanel>
<StackPanel x:Name="OverlayThemePanel"
Visibility="Collapsed"
Height="0"
Margin="0"
IsHitTestVisible="False">
<Border x:Name="OverlayThemeSystemCard"/>
<Border x:Name="OverlayThemeLightCard"/>
<Border x:Name="OverlayThemeDarkCard"/>
Margin="0,0,0,12">
<TextBlock Text="테마 모드"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="시스템 테마를 따르거나, AX Agent만 별도로 라이트/다크 모드로 고정할 수 있습니다."
Margin="0,4,0,8"
FontSize="11"
TextWrapping="Wrap"
Foreground="{DynamicResource SecondaryText}"/>
<WrapPanel>
<Border x:Name="OverlayThemeSystemCard"
Cursor="Hand"
CornerRadius="8"
BorderThickness="1"
BorderBrush="{DynamicResource BorderColor}"
Padding="10,7"
Margin="0,0,8,8"
MouseLeftButtonUp="OverlayThemeSystemCard_MouseLeftButtonUp">
<TextBlock Text="System"
FontSize="12"
Foreground="{DynamicResource PrimaryText}"/>
</Border>
<Border x:Name="OverlayThemeLightCard"
Cursor="Hand"
CornerRadius="8"
BorderThickness="1"
BorderBrush="{DynamicResource BorderColor}"
Padding="10,7"
Margin="0,0,8,8"
MouseLeftButtonUp="OverlayThemeLightCard_MouseLeftButtonUp">
<TextBlock Text="Light"
FontSize="12"
Foreground="{DynamicResource PrimaryText}"/>
</Border>
<Border x:Name="OverlayThemeDarkCard"
Cursor="Hand"
CornerRadius="8"
BorderThickness="1"
BorderBrush="{DynamicResource BorderColor}"
Padding="10,7"
Margin="0,0,8,8"
MouseLeftButtonUp="OverlayThemeDarkCard_MouseLeftButtonUp">
<TextBlock Text="Dark"
FontSize="12"
Foreground="{DynamicResource PrimaryText}"/>
</Border>
</WrapPanel>
</StackPanel>
<Grid x:Name="OverlayDefaultOutputFormatRow" Margin="0,0,0,8">
<Grid.ColumnDefinitions>
@@ -4715,7 +4807,7 @@
</Grid>
<StackPanel x:Name="OverlayHookListPanel"/>
</StackPanel>
<Border x:Name="OverlayEtcInfoPanel"
<Border x:Name="OverlaySkillInfoPanel"
Visibility="Collapsed"
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
@@ -4724,7 +4816,7 @@
Padding="14,12"
Margin="0,14,0,0">
<StackPanel>
<TextBlock Text="스킬/차단 설명"
<TextBlock Text="스킬 설명"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
@@ -4750,9 +4842,35 @@
</TextBlock>
</StackPanel>
</Border>
<StackPanel x:Name="OverlayEtcRuntimePanel"
Visibility="Collapsed"
Margin="0,14,0,0">
<Border x:Name="OverlayBlockInfoPanel"
Visibility="Collapsed"
Background="{DynamicResource ItemBackground}"
BorderBrush="{DynamicResource BorderColor}"
BorderThickness="1"
CornerRadius="12"
Padding="14,12"
Margin="0,14,0,0">
<StackPanel>
<TextBlock Text="차단 설명"
FontSize="12.5"
FontWeight="SemiBold"
Foreground="{DynamicResource PrimaryText}"/>
<TextBlock Text="차단 탭에서는 에이전트가 접근하거나 수정하면 안 되는 경로와 파일 형식을 확인합니다."
Margin="0,4,0,10"
FontSize="11"
TextWrapping="Wrap"
Foreground="{DynamicResource SecondaryText}"/>
<TextBlock FontSize="11.5"
TextWrapping="Wrap"
Foreground="{DynamicResource PrimaryText}">
시스템 보호 경로와 실행 위험이 높은 형식은 기본값으로 막아 둡니다.
<LineBreak/>운영 정책에 맞춰 차단 기준을 검토할 때 이 탭을 확인하면 됩니다.
</TextBlock>
</StackPanel>
</Border>
<StackPanel x:Name="OverlayBlockRuntimePanel"
Visibility="Collapsed"
Margin="0,14,0,0">
<TextBlock Text="에이전트 접근 차단"
FontSize="12.5"
FontWeight="SemiBold"
@@ -4794,6 +4912,10 @@
</StackPanel>
</Border>
</StackPanel>
<StackPanel x:Name="OverlaySkillRuntimePanel"
Visibility="Collapsed"
Margin="0,14,0,0">
<TextBlock Text="스킬 설정"
FontSize="12.5"
FontWeight="SemiBold"
@@ -5052,7 +5174,10 @@
Margin="0,8,0,14">
<StackPanel x:Name="OverlayMcpServerListPanel"/>
</Border>
</StackPanel>
<StackPanel x:Name="OverlayToolRegistrySection"
Visibility="Collapsed"
Margin="0,14,0,0">
<TextBlock Text="등록된 도구/커넥터"
FontSize="12.5"
FontWeight="SemiBold"