트레이 AX Agent 우선 진입과 설정 반영 fan-out 보강
Some checks failed
Release Gate / gate (push) Has been cancelled

- 트레이 우클릭 메뉴 상단에 AX Copilot 버전 헤더를 추가
- 트레이 좌클릭 시 AI 기능 활성화 상태에서는 AX Agent 창을 우선 열도록 변경
- 메인 설정 저장 완료 후 열린 AX Agent 창이 테마, 모델, 권한, 데이터 활용, 하단 composer 라벨을 즉시 다시 반영하도록 fan-out 경로 추가
- DraftQueue kind 분류를 message/command/steering/direct/followup 기준으로 보강하고 전송 버튼은 일반 메시지 전송 경로를 사용하도록 정리
- README.md, docs/DEVELOPMENT.md, docs/AGENT_ROADMAP.md 이력 갱신

검증
- 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-04 23:17:55 +09:00
parent 72a8c0d541
commit 0fa2528401
6 changed files with 85 additions and 5 deletions

View File

@@ -458,6 +458,11 @@ public partial class App : System.Windows.Application
private void SetupTrayIcon(PluginHost pluginHost, SettingsService settings)
{
var version = typeof(App).Assembly.GetName().Version;
var versionText = version == null
? "AX Copilot v.0.0.0"
: $"AX Copilot v.{version.Major}.{version.Minor}.{version.Build}";
_trayIcon = new NotifyIcon
{
Text = "AX Copilot",
@@ -468,6 +473,7 @@ public partial class App : System.Windows.Application
// ─── WPF 커스텀 트레이 메뉴 구성 ──────────────────────────────────
_trayMenu = new Views.TrayMenuWindow();
_trayMenu
.AddHeader(versionText)
.AddItem("\uE7C5", "AX Commander 호출하기", () =>
Dispatcher.Invoke(() => _launcher?.Show()))
.AddItem("\uE8BD", "AX Agent 대화하기", () =>
@@ -522,7 +528,15 @@ public partial class App : System.Windows.Application
_trayIcon.MouseClick += (_, e) =>
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
Dispatcher.Invoke(() => _launcher?.Show());
{
Dispatcher.Invoke(() =>
{
if (settings.Settings.AiEnabled)
OpenAiChat();
else
_launcher?.Show();
});
}
else if (e.Button == System.Windows.Forms.MouseButtons.Right)
Dispatcher.Invoke(() => _trayMenu?.ShowWithUpdate());
};
@@ -752,6 +766,7 @@ public partial class App : System.Windows.Application
_settings.Settings.ScreenCapture.GlobalHotkeyEnabled);
}
_worktimeReminder?.RestartTimer();
_chatWindow?.RefreshFromSavedSettings();
};
_settingsWindow.Show();