L4-4 검색 히스토리 (↑/↓ 키 탐색): - Services/SearchHistoryService.cs (신규 100줄): 50개 FIFO JSON 저장 Add() · GetAll() · Clear(). 2자 미만/중복 최상단 무시 - ViewModels/LauncherViewModel.cs: _historyIndex·_isHistoryNavigation 필드 추가 NavigateHistoryPrev() / NavigateHistoryNext() / SetInputFromHistory() InputText setter: 직접 입력 시 _historyIndex 초기화 ExecuteSelectedAsync: 실행 전 히스토리 저장 (2자 이상) OnShown: _historyIndex = -1 초기화 - Views/LauncherWindow.Keyboard.cs: Key.Up/Down — Results.Count==0 분기: 히스토리 탐색 / 목록 탐색 분기 L4-3 클립보드 핀/카테고리: 기존 완전 구현 확인 (IsPinned, Category, TogglePin, Ctrl+P, #pin/#url/#코드/#경로 필터) L4-6 계산기 단위 변환 단축 문법: - Handlers/UnitConverter.cs: AutoSuggest(): "20km", "100f", "5lb" 등 목표 없이 주요 단위 자동 제안 _suggestions 테이블: 길이/무게/속도/데이터/온도 40개 단위 매핑 DateShortcut: "today+30d", "today-7w" → = 접두어에서 날짜 계산 - Handlers/CalculatorHandler.cs: DateShortcut.TryMatch 분기 추가 (통화 감지 전) UnitConverter.AutoSuggest 분기 추가 (명시 변환 후) - 힌트 텍스트: "20km · 100°F · today+30d" 추가 docs/LAUNCHER_ROADMAP.md: Phase L4 계획 테이블 추가 빌드: 경고 0, 오류 0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
9.6 KiB
9.6 KiB
AX Commander (런처) 고도화 계획
현재 상태 (v1.5.0)
핵심 기능 (44개 핸들러)
- 퍼지 검색 + 한글 초성 검색 (FuzzyEngine)
- 44개 프리픽스 명령 (계산기, 이모지, 웹검색, 스니펫, 클립보드, 프로세스 등)
- 10가지 테마 + 커스텀 테마
- 플러그인 시스템 (DLL + JSON 스킬)
- AX Agent AI 대화 통합
- 글로벌 핫키 (Alt+Space), 무지개 글로우 효과
- 파일/앱 인덱싱, 북마크 검색, 사용 빈도 랭킹
- 워크스페이스 프로파일 (창 레이아웃 저장/복원)
- 클립보드 히스토리, 스니펫 확장
- 스크린 캡처, 컬러 피커, JSON 도구
경쟁 서비스 비교 (2026년 3월 기준)
| 기능 | AX Commander | Raycast | Alfred 5 | Flow Launcher | PowerToys |
|---|---|---|---|---|---|
| AI 대화 | O (AX Agent) | O (멀티모델) | 워크플로우 | X | X |
| MCP 프로토콜 | O | X | X | X | X |
| 에이전트 코딩 | O (Code 탭) | O | X | X | X |
| 플러그인 | DLL+JSON | 1500+ 스토어 | 워크플로우 갤러리 | 200+ | 모듈 |
| 클립보드 히스토리 | O | O (리치) | 파워팩 | 플러그인 | X |
| 윈도우 관리 | O (22 레이아웃) | 70+ 레이아웃 | X | X | FancyZones |
| 파일 탐색기 통합 | X | X | X | X | X |
| Everything 연동 | O (es 프리픽스) | X | X | O | X |
| 선택 텍스트 AI | O (텍스트 액션 팝업) | O (AI Commands) | X | X | X |
| 영구 독 UI | O (독 바) | X | X | X | O (Command Palette Dock) |
| 클라우드 동기화 | X | Pro | Dropbox | X | X |
| 다국어 | 5개국어 | 영어 | 영어 | 영어 | 다국어 |
Phase L1 — 차세대 런처 고도화 (v1.5.0)
| # | 기능 | 구현 내용 |
|---|---|---|
| L1-1 | 선택 텍스트 AI 명령 | TextActionPopup (커서 위치 팝업), 번역/요약/교정/설명/다시쓰기. 설정 기반 명령 선택, 1개 시 팝업 없이 바로 실행 |
| L1-2 | Everything 연동 | EverythingHandler (es 프리픽스), Everything64.dll P/Invoke, 미설치 시 graceful fallback |
| L1-3 | 윈도우 타일링 확장 | SnapHandler 11→22개 레이아웃 (3등분, 2/3, 3분할 조합) |
| L1-4 | 플러그인 자동 설치 | PluginHost.InstallFromZip() + UninstallPlugin(). 로컬 zip 기반 (URL 제외: 사내 보안) |
| L1-5 | 영구 독 바 | DockBarWindow (화면 하단 고정). 설정 기반 아이템, CPU/RAM, 시계, 글로우, 투명도, 위치 기억 |
| L1-6 | 대화상자 통합 | FileDialogWatcher (SetWinEventHook + #32770 감지). 열기/저장 시 런처 자동 열기 |
| L1-7 | 클립보드 핀/카테고리 | IsPinned/Category 필드, 자동 분류(URL/코드/경로), Ctrl+P 핀 토글, #pin/#url/#코드 필터 |
| L1-8 | 클라우드 설정 동기화 | 보류 (사내 환경) |
| L1-9 | 커스텀 테마 마켓 | 보류 (사내 환경) |
| 추가 | 독 바 설정 탭 | 설정창에 독 바 전용 탭 (표시 항목, 투명도, 글로우, 위치 초기화) |
| 추가 | 설정창 UI 개편 | 테마+색상편집 하위탭 합침, 일반+알림 하위탭 합침, v1.5.0 신기능 설정값 추가 |
| 추가 | 아이콘 교체 | 다이아몬드 픽셀 ICO (7 sizes). 앱/인스톨러/바로가기/AboutWindow/LauncherWindow/SVG 전체 통일 |
Phase L1 추가 완료 (v1.5.0)
| # | 기능 | 상태 |
|---|---|---|
| 추가 | Windows 탐색기 셸 확장 | ✓ ShellExtensionService — HKCU 레지스트리 등록/해제, 명령줄 파싱 |
| 추가 | 저장 공간 관리 UI | ✓ StorageAnalyzer — 사용량 분석, 드라이브 여유, 7/14/30일 정리 |
| 추가 | 설정 도움말 아이콘 | ✓ AI 관련 설정 17개에 ? 아이콘 + 커스텀 다크 툴팁 |
| 추가 | 독 바 실시간 설정 | ✓ 설정 변경 즉시 반영, 자동 표시, 위치 기억 |
Phase L2 — 클립보드 고도화 + UX 개선 (v1.5.3)
방향: 클립보드 히스토리의 실용성 극대화 (이미지 원본 품질, 자동 복사 워크플로우), 런처 UX 개선. Raycast의 리치 클립보드, Alfred의 Snippet 확장을 참고하되 사내 로컬 환경에 최적화.
| # | 기능 | 설명 | 우선순위 |
|---|---|---|---|
| L2-1 | 클립보드 이미지 원본 해상도 보존 | 원본 PNG를 clipboard_images/ 캐시 폴더에 저장, 썸네일(80px)은 표시용으로만 사용. 캐시 정리 정책 (30일/500MB). Enter 복원 시 원본 해상도로 클립보드 복사 |
✅ 완료 |
| L2-2 | Shift+Enter 실행 시 자동 클립보드 복사 | Shift+Enter로 외부 뷰어 열기 전에 해당 항목을 시스템 클립보드에 자동 복사. 텍스트/이미지(원본 해상도) 모두 지원 | ✅ 완료 |
| ✅ L2-3 | 클립보드 이미지 미리보기 창 | # 이미지 항목에서 Shift+Enter → ClipboardImagePreviewWindow. 원본 해상도 표시, Ctrl+휠/+−/0/F 줌, PNG·JPEG·BMP 저장, Ctrl+C 복사 |
중간 |
| ✅ L2-4 | 클립보드 검색 강화 | 이미지 OCR 텍스트 추출 → 텍스트 기반 이미지 검색. Windows OCR API (로컬) 활용. OcrText 필드, ExtractOcrTextAsync(), TFM net8.0-windows10.0.17763.0 |
중간 |
| ✅ L2-5 | 클립보드 항목 병합 | Ctrl+Click 마우스 다중 선택 추가 (Shift+↑/↓ 키보드 선택은 기존 구현). ResultList_PreviewMouseLeftButtonUp 분기 |
낮음 |
Phase L2 추가 완료 (v1.5.3)
| # | 기능 | 상태 |
|---|---|---|
| 추가 | 독 바 탭 위치 이동 | ✓ 설정 탭 순서에서 독 바를 3번째(테마 뒤)로 이동 — 사용 빈도 기반 접근성 향상 |
| 추가 | 설정 기타 탭 접기/열기 | ✓ 등록된 도구, MCP 커넥터, 슬래시 스킬 각각 접기/펼치기 섹션 (화살표 토글) |
| 추가 | About 정보 변경 | ✓ ".NET 8" → "Commander + Agent" (기술 스택 비노출 원칙) |
| 추가 | 가이드 내장 뷰어 | ✓ GuideViewerWindow — 암호화된 가이드를 앱 내 WebBrowser로 복호화 렌더링. 개발자 모드 연동 |
Phase L3 — 차세대 런처 (v2.0) — 진행 중 / 일부 완료
방향: 경쟁 런처(Raycast 1500+ 확장, PowerToys Run)의 에코시스템 수준을 참고하되, 사내 보안/오프라인 환경에서 동작하는 자체 완결형 기능으로 구현. AX Agent Phase 18 (v2.0) 과 교차 개발 — 런처와 에이전트의 기능 경계가 겹치는 항목은 통합 구현.
| # | 기능 | 설명 | 우선순위 | 교차 |
|---|---|---|---|---|
| ✅ L3-1 | 플러그인 갤러리 + 레지스트리 | 로컬 NAS/Git 레지스트리 기반 탐색/설치/업데이트 인앱 갤러리 | 높음 | → Agent 18-2 |
| ✅ L3-2 | 웹 검색 AI 요약 | ? 검색 결과를 AI가 요약하여 런처에 표시 | 중간 | → Agent 18-6 |
| ✅ L3-3 | AI 스니펫 | ;email {수신자} {주제} → LLM이 이메일 초안 자동 생성. 기존 스니펫에 AI 확장 |
중간 | → Agent 18-3 |
| ✅ L3-4 | 파라미터 퀵링크 | jira {티켓번호} → URL 템플릿 변수 치환 (사내 JIRA/Confluence 등) |
중간 | → Agent 18-4 |
| ✅ L3-5 | 파일 태그 시스템 | 파일에 사용자 태그 부여, tag 프리픽스로 태그 기반 검색. file_tags.json 로컬 저장 |
중간 | — |
| L3-6 | 오프라인 AI (로컬 SLM) | ONNX Runtime + phi-3, 서버 없이 번역/요약 | 낮음 | → Agent 18-5 |
| ✅ L3-7 | 다중 디스플레이 | 마우스 커서 위치 모니터에 런처 표시, 독 바 per-monitor 위치 저장·유효성 검증 | 낮음 | — |
| ✅ L3-8 | 알림 센터 통합 | notif 프리픽스로 알림 이력 조회·검색·초기화. NotificationCenterService 이력 연동, 클립보드 복사 |
낮음 | — |
| ✅ L3-9 | 런처 미니 위젯 | 하단 위젯 바 4종: 시스템 모니터(CPU/RAM/디스크), 뽀모도로 타이머(pomo 프리픽스), 빠른 메모 건수, 서버 상태(Ollama/LLM/MCP). PerformanceMonitorService·PomodoroService·ServerStatusService 싱글턴 |
낮음 | — |
Phase L4 — 검색/탐색 UX 혁신 + 생산성 확장 (v1.7.x)
방향: Raycast/Alfred 기능 갭 해소 + 기존 L1-7 미완 기능 이행. 런처 단독 완결형 생산성 강화.
| # | 기능 | 설명 | 우선순위 |
|---|---|---|---|
| L4-1 | 파일 탐색기 인라인 패널 | cd + → 키로 인라인 탐색기 진입. 경로 브레드크럼, ←/→ 폴더 이동, Ctrl+D 즐겨찾기 핀 |
높음 |
| L4-2 | QuickLook F3 강화 | PDF(WinRT PdfDocument), 코드 구문강조(확장자별 배경색+라인 번호), Office 텍스트 추출 | 높음 |
| L4-3 | 클립보드 핀 & 카테고리 | Ctrl+P 핀 고정, #pin/#url/#code 필터, 자동 분류(URL/코드/경로). L1-7 이행 |
높음 |
| L4-4 | 검색 히스토리 | ↑/↓ 키로 이전 검색어 탐색. 50개 FIFO 로컬 저장. 런처 재시작 후에도 유지 | 중간 |
| L4-5 | 고급 검색 필터 문법 | ext:.pdf size:>1mb modified:week in:documents 인라인 필터. FuzzyEngine 파서 레이어 |
중간 |
| L4-6 | 계산기 단위 변환 확장 | =20km, =100°F, =today+30d. 로컬 변환 테이블. = 핸들러 확장 |
중간 |
기술 부채 (v1.5.0 해결)
| 항목 | 상태 |
|---|---|
| SnapHandler 기본 기능만 | ✓ 22개 레이아웃으로 확장 (3등분, 2/3, 3분할 조합 추가) |
| Everything 미연동 | ✓ EverythingHandler 구현 (es 프리픽스, P/Invoke, graceful fallback) |
| 플러그인 설치 수동 | ✓ PluginHost.InstallFromZip() 로컬 zip 자동 추출·등록 (URL 제외: 사내 보안) |
| 이미지 클립보드 미지원 | ✓ PNG→Base64 DPAPI 암호화 저장/복원, 앱 재시작 후 이미지 히스토리 유지 |