Commit Graph

9 Commits

Author SHA1 Message Date
f557f53449 [Phase L2-7] 퀵 액션 바 — 최근 실행 항목 칩 표시
Models/QuickActionChip.cs (신규 12줄):
- Title, Symbol, Path, Background 레코드

Services/UsageRankingService.cs:
- GetTopItems(int n) 메서드 추가: 실행 횟수 상위 N개 (경로, 횟수) 반환

ViewModels/LauncherViewModel.cs:
- QuickActionItems (ObservableCollection<QuickActionChip>) 프로퍼티 추가
- ShowQuickActions: 입력 비었을 때 칩 표시 조건
- LoadQuickActions(): 상위 8개 경로 → 파일 존재 확인 → 타입별 아이콘/색상 칩 생성
- OnShown()에서 LoadQuickActions() 호출
- InputText 변경 시 ShowQuickActions 알림

Views/LauncherWindow.xaml:
- 입력 Grid를 2행 구조로 변환 (RowDefinitions 추가)
- Row 1: ItemsControl + WrapPanel + DataTemplate 칩 UI
  - CornerRadius=10 Border, 아이콘+제목 StackPanel
  - 호버 시 AccentColor 테두리, 최대 너비 100px 말줄임

Views/LauncherWindow.Shell.cs:
- QuickActionChip_Click 핸들러: 창 숨김 → 경로 실행 → 사용 통계 기록

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 10:44:02 +09:00
679de30f68 [Phase L2-6] 검색 결과 그룹핑 (앱/폴더/파일/단축키)
AxCopilot.SDK/IActionHandler.cs:
- LauncherItem 레코드에 Group? 선택 매개변수 추가 (기존 호출 코드 무변경)

Core/CommandResolver.cs:
- Fuzzy 검색 결과에 Group 태깅: 앱/폴더/단축키/파일

ViewModels/LauncherViewModel.cs:
- ICollectionView GroupedResults 프로퍼티 추가
- CollectionViewSource + PropertyGroupDescription(nameof(LauncherItem.Group)) 초기화

Views/LauncherWindow.xaml:
- ItemsSource: Results → GroupedResults 변경
- ListView.GroupStyle 추가: 그룹 이름 헤더(10px, SemiBold, 흐린 보조 텍스트)
- GroupItem ContainerStyle로 헤더+아이템 수직 배치
- Group=null 항목은 NullToCollapsedConverter로 헤더 숨김

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 10:36:26 +09:00
72b92b905c [Phase L3-9 + 버그] AX Agent 오류 수정 + 런처 미니 위젯 4종 구현
AX Agent 오류 수정:
- AgentSettingsPanel.xaml에 <UserControl.Resources> 추가
- ToggleSwitch 스타일 자체 정의 (SettingsWindow 리소스 미접근 문제 해결)
- 원인: XamlParseException — 'ToggleSwitch' 리소스 찾을 수 없음 (CS 로그 확인)

PerformanceMonitorService.cs (신규, 138줄):
- GetSystemTimes P/Invoke → CPU% (이전/현재 샘플 델타 계산)
- GlobalMemoryStatusEx P/Invoke → RAM% + "6.1/16GB" 형식 텍스트
- DriveInfo → C: 드라이브 사용률/용량 텍스트
- 2초 폴링, StartPolling/StopPolling 제어

PomodoroService.cs (신규, 179줄):
- 집중(25분)/휴식(5분) 타이머, 상태: Idle/Focus/Break
- pomodoro.json 영속성 (경과 시간 자동 보정)
- StateChanged 이벤트 → 위젯 실시간 갱신

ServerStatusService.cs (신규, 124줄):
- Ollama(/api/version), LLM API, 첫 번째 MCP 서버 15초 주기 핑
- HttpClient 1.5초 타임아웃, StatusChanged 이벤트

PomoHandler.cs (신규, 130줄):
- pomo prefix: 상태보기/start/break/stop/reset
- PomodoroService 직접 연동

LauncherViewModel.Widgets.cs (신규, 81줄):
- Widget_PerfText, Widget_PomoText, Widget_PomoRunning
- Widget_NoteText, Widget_OllamaOnline, Widget_LlmOnline, Widget_McpOnline
- UpdateWidgets() — 5틱마다 메모 건수 갱신 (파일 I/O 최소화)

LauncherWindow.Widgets.cs (신규, 143줄):
- IsVisibleChanged 이벤트로 위젯 자동 시작/중지
- DispatcherTimer 1초마다 UpdateWidgets + 서버 상태 dot 색상 직접 갱신
- 위젯 클릭 → 해당 prefix 자동 입력 (perf→info, pomo→pomo, note→note, server→port)

LauncherWindow.xaml:
- RowDefinition 6개 → 7개
- Row 6: 위젯 바 (시스템모니터/뽀모도로/메모/서버 4열)

빌드: 경고 0, 오류 0
2026-04-04 09:28:07 +09:00
bfa8e8c548 [Phase L3-8] 알림 센터 핸들러(notif) 구현 완료
NotifHandler.cs (신규, 120줄):
- notif 프리픽스: 최근 알림 이력 목록 표시 (최대 12건)
- notif [검색어]: 제목·내용 기반 필터링
- notif clear: 전체 이력 초기화 (건수 표시 후 확인)
- Enter: 선택 알림 내용 클립보드 복사
- NotificationType(Error/Warning/Success/Info)별 심볼 자동 적용
- TimeAgo() 헬퍼: 방금 전/N분 전/N시간 전/N일 전

NotificationService.cs (정리, 24줄):
- 중복 정의된 NotificationEntry 레코드 제거 (CS0101 오류 해결)
- 이력 관리는 NotificationCenterService에 위임
- LogOnly(): NotificationCenterService.Show() 호출로 대체

App.xaml.cs:
- commandResolver.RegisterHandler(new NotifHandler()) 추가

LauncherViewModel.cs:
- PrefixMap에 notif 배지 추가 (알림, ReminderBell, #F59E0B)

docs/LAUNCHER_ROADMAP.md:
- L3-8 알림 센터 통합  완료 표시

빌드: 경고 0, 오류 0
2026-04-04 09:10:12 +09:00
cb9d197969 [v2.0.0] Phase L3-5 파일 태그 시스템 구현
FileTagService.cs (140줄) — 신규:
- 파일·폴더에 사용자 태그 부여 서비스 (싱글턴)
- AddTag / RemoveTag / ClearTags / GetTags / GetFilesByTag / GetAllTags / HasTags
- %APPDATA%\AxCopilot\file_tags.json 로컬 저장 (key=경로, value=태그목록)
- 태그 정규화: 소문자 + 공백→하이픈 변환

TagHandler.cs (190줄) — 신규:
- "tag" 프리픽스 핸들러 (IActionHandler 구현)
- tag              → 전체 태그 목록 (파일 수 내림차순)
- tag work         → "work" 태그 파일 목록 (prefix match + contains)
- tag add [태그] [경로] → 파일에 태그 추가 (Enter로 확정)
- tag del [태그] [경로] → 파일에서 태그 제거 (Enter로 확정)
- tag clear [경로]       → 파일의 모든 태그 삭제 (Enter로 확정)
- 파일 열기: Process.Start UseShellExecute

Symbols.cs (+1줄):
- Tag = "\uEAB4" 심볼 상수 추가

LauncherViewModel.cs (+2줄):
- PrefixMap에 "tag" → ("태그", Symbols.Tag, "#6366F1") 추가

App.xaml.cs (+2줄):
- Phase L3 핸들러 섹션에 TagHandler 등록

docs/LAUNCHER_ROADMAP.md:
- L3-1~L3-5 완료 표시 ()

빌드: 경고 0, 오류 0
2026-04-04 08:51:04 +09:00
aa907d7b79 [Phase46] 대형 파일 분할 리팩터링 2차 — 19개 신규 파셜 파일 생성
## 분할 대상 및 결과

### AgentLoopService.cs (1,334줄 → 846줄)
- AgentLoopService.HtmlReport.cs (151줄): AutoSaveAsHtml, ConvertTextToHtml, EscapeHtml
- AgentLoopService.Verification.cs (349줄): 도구 분류 판별 + RunPostToolVerificationAsync + EmitEvent + CheckDecisionRequired + FormatToolCallSummary

### ChatWindow 분할 (8개 신규 파셜 파일)
- ChatWindow.PlanViewer.cs (474줄): 계획 뷰어 — AddPlanningCard, AddDecisionButtons, CollapseDecisionButtons, ShowPlanButton 등 8개 메서드
- ChatWindow.EventBanner.cs (411줄): AddAgentEventBanner, BuildFileQuickActions
- ChatWindow.TaskDecomposition.cs (1,170줄 → 307줄): RenderSuggestActionChips, BuildFeedbackContext, UpdateProgressBar, BuildDiffView 잔류
- ChatWindow.BottomBar.cs (345줄): BuildBottomBar, BuildCodeBottomBar, ShowLogLevelMenu, ShowLanguageMenu 등
- ChatWindow.MoodMenu.cs (456줄): ShowFormatMenu, ShowMoodMenu, ShowCustomMoodDialog 등
- ChatWindow.CustomPresets.cs (978줄 → 203줄): ShowCustomPresetDialog, SelectTopic 잔류
- ChatWindow.ConversationMenu.cs (255줄): ShowConversationMenu (카테고리/삭제/즐겨찾기 팝업)
- ChatWindow.ConversationTitleEdit.cs (108줄): EnterTitleEditMode

### SettingsViewModel 분할
- SettingsViewModel.LlmProperties.cs (417줄): LLM·에이전트 관련 바인딩 프로퍼티
- SettingsViewModel.Properties.cs (837줄 → 427줄): 기능 토글·테마·스니펫 등 앱 수준 프로퍼티

### TemplateService 분할
- TemplateService.Css.cs (559줄): 11종 CSS 테마 문자열 상수
- TemplateService.cs (734줄 → 179줄): 메서드 로직만 잔류

### PlanViewerWindow 분할
- PlanViewerWindow.StepRenderer.cs (616줄): RenderSteps + SwapSteps + EditStep + 버튼 빌더 9개
- PlanViewerWindow.cs (931줄 → 324줄): Win32/생성자/공개 API 잔류

### App.xaml.cs 분할 (776줄 → 452줄)
- App.Settings.cs (252줄): SetupTrayIcon, OpenSettings, ToggleDockBar, RefreshDockBar, OpenAiChat
- App.Helpers.cs (92줄): LoadAppIcon, IsAutoStartEnabled, SetAutoStart, OnExit

### LlmService.ToolUse.cs 분할 (719줄 → 115줄)
- LlmService.ClaudeTools.cs (180줄): SendClaudeWithToolsAsync, BuildClaudeToolBody
- LlmService.GeminiTools.cs (175줄): SendGeminiWithToolsAsync, BuildGeminiToolBody
- LlmService.OpenAiTools.cs (215줄): SendOpenAiWithToolsAsync, BuildOpenAiToolBody

### SettingsWindow.UI.cs 분할 (802줄 → 310줄)
- SettingsWindow.Storage.cs (167줄): RefreshStorageInfo, BtnStorageCleanup_Click 등
- SettingsWindow.HotkeyUI.cs (127줄): RefreshHotkeyBadges, EnsureHotkeyInCombo, GetKeyName 등
- SettingsWindow.DevMode.cs (90줄): DevModeCheckBox_Checked, UpdateDevModeContentVisibility

## 빌드 결과: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 20:51:26 +09:00
35e6e4c060 [Phase 44] LauncherViewModel·SettingsWindow.Tools·MarkdownRenderer 파셜 분할
LauncherViewModel (805줄 → 402줄, 50% 감소):
- LauncherViewModel.FileAction.cs (154줄): 파일 액션 서브메뉴, EnterActionMode, ExitActionMode
- LauncherViewModel.Commands.cs (273줄): CopySelectedPath, Favorite, Terminal, 클립보드 병합, INotifyPropertyChanged
- 오류 수정: FileAction.cs에 using AxCopilot.Themes 누락 → 추가

SettingsWindow.Tools (875줄 → 605줄):
- SettingsWindow.ToolCards.cs (283줄): AX Agent 서브탭 전환 + 도구 관리 카드 UI

MarkdownRenderer (825줄 → 621줄):
- MarkdownRenderer.Highlighting.cs (215줄): 구문 하이라이팅 전체 분리

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 20:03:25 +09:00
c9a6e6442f [Phase 41] SettingsViewModel·AgentLoopService 파셜 클래스 분할
SettingsViewModel (1,855줄 → 320줄, 82.7% 감소):
- SettingsViewModel.Properties.cs (837줄): 바인딩 프로퍼티 전체
- SettingsViewModel.Methods.cs (469줄): Save/Browse/Add 등 메서드
- SettingsViewModelModels.cs (265줄): 6개 모델 클래스 분리

AgentLoopService (1,823줄 → 1,334줄, 26.8% 감소):
- AgentLoopService.Execution.cs (498줄): 병렬 도구 실행, ToolExecutionState
- 빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 19:37:24 +09:00
deffb33cf9 Initial commit to new repository 2026-04-03 18:23:52 +09:00