AX Agent 모델 선택 표시 단순화
Some checks failed
Release Gate / gate (push) Has been cancelled

모델 빠른 설정 팝업 하단의 중복 모델 칩 줄을 제거해 리스트 선택만 남기도록 정리했다.

하단 모델 표시 라벨은 서비스명과 모델명을 함께 나열하던 방식에서 현재 모델명 중심의 간결한 표기로 바꿨다.

README와 DEVELOPMENT 문서에 변경 이력과 시점을 반영했다.

검증: 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 19:45:20 +09:00
parent cfacb903e1
commit eed87db268
4 changed files with 7 additions and 59 deletions

View File

@@ -1021,3 +1021,5 @@ MIT License
- AX Agent 상단 탭이 깨져 보이던 문제를 수정하고, `채팅 / Cowork / 코드` pill 세그먼트 형태를 안정적으로 복구했다.
- 업데이트: 2026-04-05 19:41 (KST)
- AX Agent 빈 상태 상단 심볼은 더 크게 키우고, 대화 주제/작업 유형 프리셋 카드 내부 아이콘은 한 단계 줄여 시각 균형을 조정했다.
- 업데이트: 2026-04-05 19:46 (KST)
- 모델 빠른 설정 팝업에서 하단 중복 모델 칩 줄을 제거하고, 하단 모델 라벨은 서비스+모델 조합 대신 현재 모델명만 보이도록 더 심플하게 정리했다.

View File

@@ -4766,3 +4766,5 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎.
- `ChatWindow.xaml`의 상단 탭 스타일과 헤더 래퍼를 정리해 AX Agent의 `채팅 / Cowork / 코드` 탭이 예전 pill 형태로 다시 보이도록 복구했다.
- 업데이트: 2026-04-05 19:41 (KST)
- `ChatWindow` 빈 상태 상단 심볼 크기를 확대하고, 프리셋 카드/기타/프리셋 추가 카드의 내부 아이콘 크기를 축소해 화면 비율을 정리했다.
- 업데이트: 2026-04-05 19:46 (KST)
- `ChatWindow` 모델 선택 팝업의 중복 `InlineModelChipPanel`을 제거하고, 하단 `ModelLabel`은 현재 모델명 중심으로 단순화해 Claude류의 간결한 표시 방식에 가깝게 조정했다.

View File

@@ -1973,10 +1973,6 @@
<StackPanel x:Name="InlineModelListPanel"
Margin="0,0,0,8"/>
<WrapPanel x:Name="InlineModelChipPanel"
Visibility="Collapsed"
Margin="0,0,0,8"/>
<WrapPanel x:Name="InlineSettingsQuickActions" Margin="0,0,0,0">
<Button x:Name="BtnInlineFastMode"
Style="{StaticResource OutlineHoverBtn}"

View File

@@ -14252,12 +14252,12 @@ public partial class ChatWindow : Window
_ => "Ollama",
};
var model = GetCurrentModelDisplayName();
const int maxLen = 22;
const int maxLen = 24;
if (model.Length > maxLen)
model = model[..(maxLen - 1)] + "…";
ModelLabel.Text = $"서비스 {serviceLabel} · {model}";
ModelLabel.Text = string.IsNullOrWhiteSpace(model) ? serviceLabel : model;
if (BtnModelSelector != null)
BtnModelSelector.ToolTip = $"현재 서비스: {serviceLabel}\n현재 모델: {GetCurrentModelDisplayName()}\n모델/추론 빠른 설정";
BtnModelSelector.ToolTip = $"현재 모델: {GetCurrentModelDisplayName()}\n서비스: {serviceLabel}";
}
private static string NextReasoning(string current) => (current ?? "normal").ToLowerInvariant() switch
@@ -14345,13 +14345,10 @@ public partial class ChatWindow : Window
BuildInlineServiceCards(normalizedService);
CmbInlineModel.Items.Clear();
InlineModelChipPanel.Children.Clear();
if (models.Count == 0)
{
CmbInlineModel.Items.Add(new ComboBoxItem { Content = "등록된 모델 없음", IsEnabled = false });
CmbInlineModel.SelectedIndex = 0;
if (InlineModelChipPanel != null)
InlineModelChipPanel.Visibility = Visibility.Collapsed;
}
else
{
@@ -14367,55 +14364,6 @@ public partial class ChatWindow : Window
var selectedIndex = models.FindIndex(m => m.Id == llm.Model);
CmbInlineModel.SelectedIndex = selectedIndex >= 0 ? selectedIndex : 0;
BuildInlineModelRows(models, llm.Model);
if (InlineModelChipPanel != null)
{
InlineModelChipPanel.Visibility = Visibility.Visible;
foreach (var (id, label) in models.Take(6))
{
var isActive = string.Equals(id, llm.Model, StringComparison.OrdinalIgnoreCase);
var chip = new Border
{
Background = isActive ? BrushFromHex("#EEF2FF") : Brushes.Transparent,
BorderBrush = isActive ? BrushFromHex("#C7D2FE") : (TryFindResource("BorderColor") as Brush ?? Brushes.Gray),
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(14),
Padding = new Thickness(10, 5, 10, 5),
Margin = new Thickness(0, 0, 6, 6),
Cursor = Cursors.Hand,
};
var text = new TextBlock
{
Text = label,
FontSize = 10.5,
Foreground = isActive
? BrushFromHex("#1D4ED8")
: (TryFindResource("PrimaryText") as Brush ?? Brushes.White),
};
chip.Child = text;
var capturedId = id;
var capturedLabel = label;
chip.MouseEnter += (_, _) =>
{
if (!isActive)
chip.Background = TryFindResource("ItemHoverBackground") as Brush ?? Brushes.LightGray;
};
chip.MouseLeave += (_, _) =>
{
if (!isActive)
chip.Background = Brushes.Transparent;
};
chip.MouseLeftButtonUp += (_, _) =>
{
llm.Model = capturedId;
_settings.Save();
UpdateModelLabel();
RefreshInlineSettingsPanel();
SetStatus($"모델 전환: {capturedLabel}", spinning: false);
};
InlineModelChipPanel.Children.Add(chip);
}
}
}
BtnInlineFastMode.Content = GetQuickActionLabel("Fast", llm.FreeTierMode ? "켜짐" : "꺼짐");