AX Agent 내부 설정 서비스 전환과 테마 노출 정리\n\n- 공통 탭의 서비스 상세 패널을 주소 입력과 API 키 패널로 분리하고 Gemini/Claude에서는 주소 입력을 숨기도록 조정\n- 서비스 변경 직후 현재 서비스, 현재 모델, 라벨이 즉시 갱신되도록 내부 설정 새로고침 경로 보강\n- 테마 스타일과 테마 모드를 서비스/모델 바로 아래로 이동해 공통 탭에서 바로 보이게 재배치\n- README와 DEVELOPMENT 문서에 내부 설정 공통 탭 수정 이력 및 검증 결과 반영\n\n검증 결과\n- dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\\n- 경고 0 / 오류 0
Some checks failed
Release Gate / gate (push) Has been cancelled

This commit is contained in:
2026-04-05 16:26:15 +09:00
parent c3e1422b02
commit 29652c3ad4
4 changed files with 135 additions and 106 deletions

View File

@@ -14534,6 +14534,7 @@ public partial class ChatWindow : Window
RefreshOverlayModeButtons();
RefreshOverlayTokenPresetCards();
RefreshOverlayServiceFieldLabels(service);
RefreshOverlayServiceFieldVisibility(service);
BuildOverlayModelChips(service);
BuildOverlayRegisteredModelsPanel(service);
RefreshOverlayAdvancedChoiceButtons();
@@ -16402,19 +16403,33 @@ public partial class ChatWindow : Window
break;
case "gemini":
OverlayEndpointLabel.Text = "기본 서버 주소";
OverlayEndpointHint.Text = "Gemini는 기본 주소를 사용합니다. 비워두면 기본값을 사용합니다.";
OverlayEndpointHint.Text = "Gemini는 내부 기본 주소를 사용합니다.";
OverlayApiKeyLabel.Text = "Gemini API 키";
OverlayApiKeyHint.Text = "외부 호출에 필요한 키를 입력합니다.";
break;
default:
OverlayEndpointLabel.Text = "기본 서버 주소";
OverlayEndpointHint.Text = "Claude는 기본 주소를 사용합니다. 비워두면 기본값을 사용합니다.";
OverlayEndpointHint.Text = "Claude는 내부 기본 주소를 사용합니다.";
OverlayApiKeyLabel.Text = "Claude API 키";
OverlayApiKeyHint.Text = "외부 호출에 필요한 키를 입력합니다.";
break;
}
}
private void RefreshOverlayServiceFieldVisibility(string service)
{
if (OverlayEndpointFieldPanel == null || OverlayApiKeyFieldPanel == null)
return;
var hideEndpoint = string.Equals(service, "gemini", StringComparison.OrdinalIgnoreCase)
|| string.Equals(service, "claude", StringComparison.OrdinalIgnoreCase);
OverlayEndpointFieldPanel.Visibility = hideEndpoint ? Visibility.Collapsed : Visibility.Visible;
OverlayApiKeyFieldPanel.Margin = hideEndpoint ? new Thickness(0) : new Thickness(6, 0, 0, 0);
Grid.SetColumn(OverlayApiKeyFieldPanel, hideEndpoint ? 0 : 1);
Grid.SetColumnSpan(OverlayApiKeyFieldPanel, hideEndpoint ? 2 : 1);
}
private string GetOverlayServiceEndpoint(string service)
{
var llm = _settings.Settings.Llm;
@@ -16793,6 +16808,7 @@ public partial class ChatWindow : Window
? preferredModel
: candidates.FirstOrDefault().Id ?? llm.Model;
PersistOverlaySettingsState(refreshOverlayDeferredInputs: true);
RefreshOverlayVisualState(loadDeferredInputs: true);
}
private void BtnOverlayOperationMode_Click(object sender, RoutedEventArgs e)