[Roadmap] L27~L29 신규 계획 수립 + 벤치마킹 전면 갱신

경쟁 서비스 벤치마킹 섹션 갱신 (2026년 4월):
- Raycast v1.104+ Windows 베타 출시 반영
- PowerToys Command Palette 0.98 신규 추가
- 기능 매트릭스 30개 항목으로 확장 (기존 21개)
- 공백 분석 3단계 우선순위로 재편 (🔴🟠🟡)
- AX 경쟁 우위 표 신규 추가

Phase L27 — 경쟁 공백 즉시 해소 (v2.3.0):
- L27-1: bm — Edge/Chrome 북마크 검색
- L27-2: vol — 시스템 볼륨 제어 (Core Audio API)
- L27-3: qr — QR 코드 생성 (QRCoder NuGet)
- L27-4: meet — 회의 링크 전용 관리
- L27-5: bright — 화면 밝기 제어 (WMI)
- L27-6: paste — 클립보드 순차 붙여넣기

Phase L28 — Windows 생태계 통합 (v2.3.0):
- L28-1: pkg — winget 앱 검색·설치
- L28-2: snip 확장 — 동적 플레이스홀더 ({date}/{clipboard}/{app})
- L28-3: 파일 미리보기 강화 (이미지·PDF·음악)
- L28-4: ap — AI 붙여넣기 변환 (PowerToys Advanced Paste 대응)

Phase L29 — AX 차별화 심화 (v2.4.0):
- L29-1: dict — 오프라인 국어사전 + 영한사전
- L29-2: flow — 명령 체인 텍스트 워크플로우
- L29-3: spell 확장 — 사내 용어 사전 사용자 추가
- L29-4: 검색 결과 카테고리 분류 (Alfred 5 방향)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-04 19:21:17 +09:00
parent f14e863f0b
commit 837cc0692b

View File

@@ -1,8 +1,8 @@
# AX Commander (런처) 고도화 계획 # AX Commander (런처) 고도화 계획
## 현재 상태 (v2.1.0) ## 현재 상태 (v2.2.0)
### 핵심 기능 (114개 핸들러, L26 완료) ### 핵심 기능 (114개 핸들러, L26 완료 / L27~L29 계획 중)
- 퍼지 검색 + 한글 초성 검색 (FuzzyEngine) + **최근 실행 지수 감소 랭킹 (30일 decay)** - 퍼지 검색 + 한글 초성 검색 (FuzzyEngine) + **최근 실행 지수 감소 랭킹 (30일 decay)**
- 110개+ 프리픽스 명령 (계산기·이모지·웹검색·스니펫·클립보드·프로세스·데이터·네트워크·업무양식 등) - 110개+ 프리픽스 명령 (계산기·이모지·웹검색·스니펫·클립보드·프로세스·데이터·네트워크·업무양식 등)
- 10가지 테마 + 커스텀 테마 - 10가지 테마 + 커스텀 테마
@@ -21,46 +21,88 @@
## 경쟁 서비스 심층 벤치마킹 (2026년 4월 기준) ## 경쟁 서비스 심층 벤치마킹 (2026년 4월 기준)
> 조사 범위: Raycast v1.104+ (macOS + **Windows 베타 출시**), Alfred 5.6, Flow Launcher 2.1,
> PowerToys Command Palette 0.98, Listary 6.3, Wox 2.0 (개발 중)
### 주요 런처 기능 매트릭스 ### 주요 런처 기능 매트릭스
| 기능 | AX Commander | Raycast | Alfred 5 | Flow Launcher | Listary | PowerToys | | 기능 | AX Commander | Raycast | Alfred 5 | Flow Launcher | PowerToys CP | Listary 6 |
|------|:---:|:---:|:---:|:---:|:---:|:---:| |------|:---:|:---:|:---:|:---:|:---:|:---:|
| **플랫폼** | Windows | macOS | macOS | Windows | Windows | Windows | | **플랫폼** | Windows | macOS + **Win 베타** | macOS | Windows | Windows | Windows |
| **기본 앱/파일 검색** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | **기본 앱/파일 검색** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| **한글 초성 검색** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | | **한글 초성 검색** | ✅ **독점** | ❌ | ❌ | ❌ | ❌ | ❌ |
| **AI 대화 통합** | ✅ (AX Agent) | ✅ (AI Commands) | 워크플로우 | ❌ | ❌ | ❌ | | **한국어 UI** | ✅ **독점** | ❌ | ❌ | ❌ | △ OS 따름 | ❌ |
| **MCP / 에이전트 코딩** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | | **AI 대화 통합** | ✅ AX Agent 3탭 | ✅ Quick AI | △ 워크플로우 | △ Ollama 플러그인 | ❌ | ❌ |
| **클립보드 히스토리** | ✅ (핀·분류) | ✅ (이미지 포함) | ✅ (파워팩) | 플러그인 | ❌ | ❌ | | **MCP 에이전트** | ✅ | ✅ @멘션 방식 | ❌ | ❌ | ❌ | ❌ |
| **스니펫 확장** | ✅ | | ✅ (파워팩) | ❌ | ❌ | ❌ | | **사내망 LLM (Ollama)** | ✅ **특화** | | ❌ | △ 플러그인 | △ Foundry Local | ❌ |
| **창 관리** | ✅ (22 레이아웃) | ✅ (70+ 레이아웃) | ❌ | ❌ | ❌ | ✅ (FancyZones) | | **AI 자동 모델 선택** | ✅ 폴백 모델 | ✅ Auto Model | ❌ | ❌ | ❌ | |
| **파일 관리자 통합** | ✅ (대화 감지) | ❌ | ❌ | ❌ |**핵심** | ❌ | | **에이전트 코딩 루프** | ✅ 실구현 | 선언만 | ❌ | ❌ | ❌ | ❌ |
| **브라우저 북마크 검색** | **공백** | | | | ❌ | ❌ | | **사내 보안 AI 게이트** | **독점** | | | | ❌ | ❌ |
| **브라우저 히스토리 검색** | **공백** | ✅ | ✅ | 플러그인 | ❌ | ❌ | | **클립보드 히스토리** | ✅ 핀·분류·이미지 | ✅ | ✅ | 플러그인 | ❌ | ❌ |
| **시스템 볼륨 제어** | ❌ **공백** | ✅ (System Cmds) | | ❌ | ❌ | ❌ | | **순차 붙여넣기** | ❌ **공백** | ✅ | | ❌ | ❌ | ❌ |
| **QR 코드 생성** | ❌ **공백** | ✅ (확장) | ✅ (확장) | 플러그인 | ❌ | ❌ | | **스니펫 확장** | ✅ | ✅ 동적 플레이스홀더 | ✅ | △ 플러그인 | ❌ | ❌ |
| **회의 링크 관리** | ⚠️ (QuickLink 수동) | ✅ (Google Calendar) | | ❌ | | ❌ | | ** 관리** | ✅ 22 레이아웃 | ✅ 70+ (Win 베타 탑재) | | ❌ | △ FancyZones 연동 | ❌ |
| **캘린더 이벤트 조회** | ❌ **공백** | ✅ (오늘 일정 표시) | | ❌ | ❌ | | | **파일 탐색기 인라인** | ❌ | ❌ | | ❌ | ❌ | **독점** |
| **파일 미리보기** | △ 텍스트 6줄 | ❌ | ✅ Grid View | ❌ | ❌ | △ 사이드바 |
| **브라우저 북마크 검색** | ❌ **공백** | ✅ 확장 연동 | ✅ | △ 플러그인 | ✅ 내장 | ❌ |
| **브라우저 탭 AI 전달** | ❌ **공백** | ✅ {browser-tab} | ❌ | ❌ | ❌ | ❌ |
| **시스템 볼륨 제어** | ❌ **공백** | ✅ | ✅ | ❌ | ❌ | ❌ |
| **화면 밝기 제어** | ❌ **공백** | ✅ | ❌ | ❌ | ❌ | ❌ | | **화면 밝기 제어** | ❌ **공백** | ✅ | ❌ | ❌ | ❌ | ❌ |
| **스크립트 명령 실행** | ✅ (^ 프리픽스) | ✅ (Script Commands) | ✅ | ✅ | ❌ | ❌ | | **QR 코드 생성** | ❌ **공백** | ✅ | ✅ | △ 플러그인 | ❌ | ❌ |
| **Everything 연동** | ✅ (es 프리픽스) | | ❌ | ✅ | ❌ | ❌ | | **회의 링크 빠른 열기** | △ QuickLink 수동 | ✅ Calendar 연동 | | ❌ | ❌ | ❌ |
| **선택 텍스트 AI** | ✅ (팝업) | ✅ (AI Commands) | ❌ | | ❌ | | | **winget 앱 설치** | ❌ **공백** | ✅ Win 베타 | ❌ | △ 플러그인 | ❌ | ✅ 내장 |
| **독 바 (영구 표시)** | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ | | **노코드 워크플로우** | ❌ **공백** | △ AI Ext 베타 | ✅ 완전 지원 | ❌ | ❌ | ❌ |
| **플러그인 마켓** | DLL+JSON | 1,500+ | 갤러리 | 200+ | | 모듈 | | **스크립트 명령 실행** | ✅ ^ 프리픽스 | ✅ Script Commands | ✅ | ✅ | | |
| **클라우드 동기화** | ❌ (사내 정책) | ✅ (Pro) | Dropbox | | ❌ | ❌ | | **Everything 연동** | ✅ es 프리픽스 | ❌ | ❌ | | ❌ | ❌ |
| **다국어·한글 지원** | ✅ **강점** | 영어 | 영어 | 영어 | 영어 | 다국어 | | **선택 텍스트 AI** | ✅ 팝업 | ✅ AI Commands | | | | |
| **AI 붙여넣기 변환** | ❌ **공백** | ❌ | ❌ | ❌ | ✅ Advanced Paste | ❌ |
| **OCR** | ✅ | ❌ | ❌ | △ 플러그인 | ✅ Text Extractor | ❌ |
| **독 바 (영구 표시)** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| **플러그인 생태계** | DLL+JSON | 1,300+ | 수백+ | 200+ | 내장 중심 | ❌ |
| **클라우드 동기화** | ❌ 사내 정책 | ✅ Pro | ❌ | ❌ | ❌ | ❌ |
### 핵심 공백 분석 — "매일 50회 이상 쓰는 기능" 기준 ### 핵심 공백 분석 — 우선순위 3단계
경쟁 서비스가 공통으로 제공하지만 AX Commander에 없는 기능을 **사용 빈도**로 정렬: #### 🔴 즉시 해소 대상 — 경쟁 2개+ 공통 제공, 구현 난이도 낮음, 매일 사용
| 순위 | 공백 기능 | Raycast | Alfred | Flow | 사용 빈도 | 구현 난이도 | | 순위 | 공백 기능 | Raycast | Alfred | PowerToys | 구현 방식 | 사무 적합성 |
|:---:|----------|:---:|:---:|:---:|----------|------------| |:---:|----------|:---:|:---:|:---:|----------|:---:|
| 1 | **브라우저 북마크 검색** | ✅ | ✅ | ✅ | 매우 높음 | 낮음 (로컬 JSON 파싱) | | 1 | **브라우저 북마크 검색** (Edge/Chrome) | ✅ | ✅ | ✅ | 로컬 JSON 파싱 | ⭐⭐⭐ |
| 2 | **시스템 볼륨 제어** | ✅ | ✅ | ❌ | 매우 높음 | 중간 (Windows Core Audio API) | | 2 | **시스템 볼륨 제어** | ✅ | ✅ | ❌ | Windows Core Audio API | ⭐⭐⭐ |
| 3 | **QR 코드 생성** | ✅ | ✅ | 플러그인 | 높음 | 낮음 (QRCoder 라이브러리) | | 3 | **QR 코드 생성** | ✅ | ✅ | ❌ | QRCoder NuGet (순수 행렬 렌더링) | ⭐⭐ |
| 4 | **회의 링크 빠른 열기** | ✅ | ✅ | ❌ | 높음 | 낮음 (JSON 설정 기반) | | 4 | **회의 링크 전용 관리** | ✅ | ✅ | ❌ | 로컬 JSON + URI Scheme 실행 | ⭐⭐⭐ |
| 5 | **화면 밝기 제어** | ✅ | ❌ | ❌ | 중간 | 중간 (WMI) | | 5 | **화면 밝기 제어** | ✅ | ❌ | ❌ | WMI MonitorBrightness | ⭐⭐ |
| 6 | **오늘 캘린더 이벤트** | ✅ | | ❌ | 중간 | 높음 (Outlook COM / ICS 파싱) | | 6 | **순차 붙여넣기** | ✅ | | ❌ | ClipboardHistoryHandler 확장 | ⭐⭐ |
#### 🟠 중기 과제 — 구현 난이도 중간, 차별화 효과 큼
| 순위 | 공백 기능 | 경쟁 현황 | 구현 방식 |
|:---:|----------|---------|---------|
| 1 | **winget 앱 검색·설치** | Raycast Win·PowerToys | `winget search/install` subprocess |
| 2 | **스니펫 동적 플레이스홀더** | Raycast {browser-tab} 등 | {date}, {clipboard}, {app}, {user} 치환 |
| 3 | **파일 미리보기 강화** | Alfred Grid View | 이미지 썸네일, PDF 첫 페이지 렌더링 |
| 4 | **AI 붙여넣기 변환** | PowerToys Advanced Paste | 선택 텍스트 → AX Agent 즉시 변환 |
#### 🟡 장기 과제 — 높은 구현 비용 또는 외부 의존
| 공백 기능 | 낮게 본 이유 |
|----------|------------|
| 노코드 워크플로우 편집기 | GUI 빌더 구현 복잡 — `flow` 핸들러 텍스트 방식으로 우선 대응 |
| 파일 탐색기 인라인 검색 | Listary 독점 영역, Hook 방식 불안정 |
| 클라우드 동기화 | 사내 보안 정책상 불가 |
| 1,000개+ 플러그인 스토어 | 생태계 규모는 단기 추격 불가 |
### AX Commander 경쟁 우위 — 지켜야 할 강점
| 강점 | 수준 | 경쟁 대비 |
|------|------|---------|
| **한글 초성 검색 + 한국어 UI** | 독점 | 경쟁 서비스 전무 |
| **사내망 LLM + AI 보안 게이트** | 독점 | 사내 배포 필수 — 타사 구조적 불가 |
| **에이전트 코딩 루프 실구현** | 선두 | Raycast는 방향 선언만, 실제 루프 없음 |
| **한국 특화 핸들러** | 독점 | cal·leave·fix·spell·phrase 등 |
| **독 바 영구 표시** | 차별화 | Raycast·Alfred 모두 없음 |
| **MCP 에이전트 통합** | 동급 | Raycast 2025년 출시, 대등 경쟁 |
| **OCR 통합** | 차별화 | PowerToys와 동급, Raycast 미지원 |
### 기존 핸들러 중 재검토 대상 ### 기존 핸들러 중 재검토 대상
@@ -541,6 +583,60 @@ public record HotkeyAssignment(string HotkeyStr, string TargetPath, string Label
--- ---
## Phase L27 — 경쟁 공백 즉시 해소: Windows 일상 제어 (v2.3.0) 📋 계획
> **방향**: Raycast·Alfred·PowerToys가 공통 제공하나 AX에 없는 **일상 빈도 최상위 기능** 6종 일괄 구현.
> 모두 외부 설치 의존 없이 Windows 네이티브 API + 로컬 파싱으로 구현.
| # | 기능 | 프리픽스 | 구현 방식 | 사무 적합성 |
|---|------|---------|---------|:---:|
| 📋 L27-1 | **브라우저 북마크 검색** | `bm` | Edge: `%LOCALAPPDATA%\Microsoft\Edge\User Data\Default\Bookmarks` JSON 파싱. Chrome 동일 경로. 제목·URL·폴더 검색. Enter → 기본 브라우저로 열기 | ⭐⭐⭐ |
| 📋 L27-2 | **시스템 볼륨 제어** | `vol` | `Windows.Media.Audio` COM / `NAudio.CoreAudioApi` IAudioEndpointVolume. `vol 50` → 50% 설정, `vol up/down` → ±10%, `vol mute` → 토글. 현재 볼륨 실시간 표시 | ⭐⭐⭐ |
| 📋 L27-3 | **QR 코드 생성** | `qr` | QRCoder NuGet (순수 C# 행렬). `qr {텍스트/URL}` → 128×128 BitmapImage 결과 패널 인라인 표시. Enter → PNG 클립보드 복사. `save``%TEMP%\qr.png` 저장 후 탐색기 | ⭐⭐ |
| 📋 L27-4 | **회의 링크 전용 관리** | `meet` | `%APPDATA%\AxCopilot\meet.json` 로컬 저장. `meet add {이름} {URL}` 등록. 서비스 자동 감지 (Zoom/Teams/Google Meet/Webex). Enter → URI 실행. 빈 쿼리 → 전체 목록 | ⭐⭐⭐ |
| 📋 L27-5 | **화면 밝기 제어** | `bright` | WMI `WmiMonitorBrightnessMethods.WmiSetBrightness()`. `bright 70` → 70% 설정. `bright up/down` → ±10%. 노트북 내장 모니터 대상. 외장 모니터는 미지원 안내 | ⭐⭐ |
| 📋 L27-6 | **클립보드 순차 붙여넣기** | `paste` | 클립보드 히스토리 항목 N개를 번호 지정해 순서대로 전송 (`paste 3 1 5` → 3번→1번→5번 순). SendKeys 방식. Raycast "Paste Sequentially" 대응 기능 | ⭐⭐ |
**구현 순서**: L27-1(bm) → L27-4(meet) → L27-3(qr) → L27-2(vol) → L27-5(bright) → L27-6(paste)
**NuGet 추가**: `QRCoder` (순수 C#, 외부 의존 없음, ~150KB DLL)
**예상 핸들러 파일**: BookmarkHandler.cs, MeetHandler.cs, QrHandler.cs, VolHandler.cs, BrightHandler.cs — PasteHandler.cs 또는 ClipboardHistoryHandler 확장
---
## Phase L28 — Windows 생태계 통합 + 콘텐츠 UX 강화 (v2.3.0) 📋 계획
> **방향**: PowerToys·Raycast Windows 버전이 선점 중인 **Windows 네이티브 통합** + 스니펫·미리보기 UX 수준 향상.
> 외부 설치(winget)가 필요한 기능은 미설치 감지 → 안내 메시지 패턴 적용.
| # | 기능 | 프리픽스 | 구현 방식 | 경쟁 대비 |
|---|------|---------|---------|---------|
| 📋 L28-1 | **winget 앱 검색·설치** | `pkg` | `winget search {q}` subprocess → 결과 파싱. `pkg install {id}` → 권한 확인 후 실행. `pkg list` → 설치된 앱. winget 미설치 감지 후 안내. PowerToys CP 내장 기능 대응 | PowerToys CP |
| 📋 L28-2 | **스니펫 동적 플레이스홀더** | `snip` 확장 | 기존 SnippetHandler에 치환 엔진 추가. `{date}` → 오늘 날짜, `{time}` → 현재 시각, `{clipboard}` → 현재 클립보드, `{user}` → Windows 사용자명, `{app}` → 포커스 앱명. Raycast 스니펫 플레이스홀더 대응 | Raycast |
| 📋 L28-3 | **파일 미리보기 강화** | 파일 검색 결과 확장 | 기존 텍스트 6줄에서: 이미지(jpg·png·gif·svg) → WPF BitmapImage 썸네일 (120px). PDF → `Windows.Data.Pdf` 첫 페이지 렌더링. 음악(mp3) → 파일 메타(태그·길이·비트레이트). Alfred Grid View 방향 | Alfred 5 |
| 📋 L28-4 | **AI 붙여넣기 변환** | `ap` | 클립보드 텍스트를 AX Agent에 즉시 전달해 변환. `ap 요약`, `ap 번역`, `ap 교정`, `ap 표로 변환` 등. AI 비활성 시 차단. PowerToys Advanced Paste 대응 (사내 LLM 버전) | PowerToys |
**구현 우선순위**: L28-2(snip 확장) → L28-3(미리보기) → L28-1(pkg) → L28-4(ap)
**주의**: L28-1 winget은 winget 설치 여부 런타임 체크 필수. L28-4는 `AiEnabled` 게이트 필수.
---
## Phase L29 — AX 차별화 심화: 한국어·사내·AI 독점 (v2.4.0) 📋 계획
> **방향**: 경쟁 서비스가 구조적으로 따라올 수 없는 **한국어 특화·사내 환경·AI 연동** 깊이 강화.
> Raycast가 Windows로 확장하더라도 절대 복제 불가한 영역.
| # | 기능 | 프리픽스 | 구현 방식 | 차별화 포인트 |
|---|------|---------|---------|------------|
| 📋 L29-1 | **오프라인 국어사전** | `dict` | 국립국어원 표준국어대사전 오픈 API (사내 모드 차단 → 로컬 SQLite 캐시). `dict {단어}` → 뜻·품사·예문. `dict en {word}` → 내장 영한 사전 (경량 SQLite, ~20MB). 경쟁사 전무 | 한국어 독점 |
| 📋 L29-2 | **명령 체인 (flow)** | `flow` | 여러 핸들러 명령을 순서대로 묶어 실행하는 텍스트 기반 워크플로우. `flow add {이름} {cmd1} > {cmd2} > {cmd3}`. 예: `flow add 출근준비 "remind 09:00 스탠드업" > "today" > "todo list"`. Alfred 워크플로우 경량 대응 | Alfred 대응 |
| 📋 L29-3 | **한국어 맞춤법 교정 강화** | `spell` 확장 | 기존 63개 항목에 사내 용어 사전 추가 기능. `spell add {틀린표현} {올바른표현} [설명]`. `spell import {파일}` → CSV 일괄 등록. 사내 문서·보고서 용어 표준화 용도 | 한국어 독점 |
| 📋 L29-4 | **검색 결과 카테고리 분류** | 전체 검색 강화 | 빈 쿼리·일반 검색 결과를 앱·파일·명령·AI·북마크 카테고리 헤더로 그루핑. 카테고리별 색상 배지. Alfred 5 "Result Types" 방향. 결과 50개 이상 시 카테고리 접기 | Alfred 대응 |
**구현 우선순위**: L29-4(카테고리) → L29-3(spell 확장) → L29-2(flow) → L29-1(dict)
**외부 의존**: L29-1 사전 API는 사내 모드 차단 → 로컬 SQLite 캐시 선구현 후 API 연동. `dict` SQLite 파일은 별도 선택적 다운로드 (~20MB, 인스톨러 미포함 기본).
---
## 핸들러 추가 기준 (신규 Phase 수립 시 체크리스트) ## 핸들러 추가 기준 (신규 Phase 수립 시 체크리스트)
> 아래 기준을 **3개 이상** 충족해야 새 핸들러로 추가. > 아래 기준을 **3개 이상** 충족해야 새 핸들러로 추가.