Compare commits

..

6 Commits

Author SHA1 Message Date
2b972ac4e9 [Fix] 설정창 XamlParseException 수정 — ModernComboBox 스타일 누락
SettingsWindow.xaml (라인 2875):
- Style="{StaticResource ModernComboBox}" 참조 제거
- 이유: ModernComboBox 스타일이 정의되지 않아 XamlParseException 발생
- 기본 ComboBox 스타일(라인 224, TargetType 전체 적용)이 이미 존재

SettingsWindow.xaml.cs (OnClosed):
- _revertCallback() → _revertCallback?.Invoke()
- XAML 파싱 실패 시 null 역참조 방지

빌드: 경고 0, 오류 0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 08:32:42 +09:00
b018d54e9b [정리] 빌드 산출물 4,720개 git 추적 제거 + .gitignore 강화
.gitignore 업데이트:
- bin/, obj/ → **/bin/, **/obj/ (하위 폴더 재귀 적용)
- dist/ 폴더 추가 (배포 산출물)
- src/AxCopilot.Installer/payload.zip 추가

git 추적 제거 (파일은 로컬 유지, git에서만 삭제):
- dist/ (540개): 배포 바이너리 전체 (DLL, EXE, 런타임)
- src/AxCopilot/bin,obj/ (3,800+개): 메인 앱 빌드 산출물
- src/AxCopilot.SDK/bin,obj/ (30+개): SDK 빌드 산출물
- src/AxCopilot.Installer/bin,obj/ (20+개): 인스톨러 빌드 산출물
- src/AxCopilot.Tests/bin,obj/ (230+개): 테스트 빌드 산출물
- src/AxKeyEncryptor/bin,obj/ (20+개): 암호화 도구 빌드 산출물
- tools/IconGenerator/bin,obj/ (24개): 아이콘 생성 도구 빌드 산출물
- publish/ (8개): 레거시 AxCommander 퍼블리시 폴더

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 23:02:51 +09:00
7837c696cc [Phase L29] AX 차별화 심화 — 한국어·사내 독점 기능 4종 구현
DictHandler.cs (신규, 300줄+):
- prefix=dict, 오프라인 국어·영한 사전
- 국어: 혼동어·업무용어·한자어 48개 (가르치다/가리키다, 품의/결재/결제 등)
- 영한: 업무 영어 25개 (agenda, align, approve, deploy 등) + 예문
- dict {단어} → 뜻풀이·유의어·반의어·주의사항
- dict en {word} → 영한 검색, Enter: 클립보드 복사

FlowHandler.cs (신규, 237줄):
- prefix=flow, 명령 체인 워크플로우
- flow add {이름} {cmd1} > {cmd2} > ... 텍스트 기반 워크플로우 저장
- %APPDATA%\AxCopilot\flows.json 로컬 JSON 저장
- flow {이름} → 명령 목록 클립보드 복사, flow del 삭제
- Alfred 워크플로우 경량 대응

SpellHandler.cs (수정, +144줄):
- spell add {틀린} {올바른} [설명] 사용자 항목 추가
- spell del {틀린} 삭제, spell custom 사용자 항목만 보기
- %APPDATA%\AxCopilot\spell_custom.json 저장
- AllEntries() 제너레이터로 내장+사용자 통합 검색

BookmarkHandler.cs (수정, +2줄):
- 검색 결과에 Group="📑 북마크" 카테고리 헤더 설정

App.xaml.cs: DictHandler, FlowHandler 등록 (L29 블록)
LauncherWindow.ShortcutHelp.cs: F3 빠른 미리보기 도움말 추가
LAUNCHER_ROADMAP.md: L29  완료, 123개 핸들러
- 빌드: 경고 0, 오류 0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 20:13:34 +09:00
b5c60b5398 [Phase L28] Windows 생태계 통합 + 콘텐츠 UX 강화 4종 구현
PkgHandler.cs (신규, prefix=pkg):
- winget search subprocess 결과 Regex 파싱 (PkgResult 레코드)
- pkg install {id} → cmd 터미널으로 실행 (사용자 확인 가능)
- pkg list / pkg upgrade 서브명령
- winget 미설치 감지 → 안내 메시지 (캐시 체크)
- PowerToys Command Palette winget 기능 대응

ApHandler.cs (신규, prefix=ap):
- 클립보드 텍스트 즉시 변환 15종 내장
- upper/lower/trim/sort/rsort/unique/number/reverse
- blank/single/count/json/slug/base64/decode64
- replace {A} {B} 텍스트 치환 명령
- PowerToys Advanced Paste 대응

SnippetHandler.cs (수정, L28-2):
- ExpandVariables 5개 플레이스홀더 추가:
  · {clipboard} → 현재 클립보드 텍스트
  · {user} → Windows 사용자명
  · {computer} → PC명
  · {weekday} → 한국어 요일 (월요일~일요일)
  · {app} → 이전 포커스 앱 프로세스명
- GetWindowThreadProcessId P/Invoke 추가
- Raycast 스니펫 동적 플레이스홀더 대응

LauncherViewModel.cs (수정, L28-3):
- UpdatePreviewAsync 미리보기 확장:
  · 이미지 10종 (.jpg/.png/.gif 등): BitmapDecoder 해상도 + 파일 크기
  · PDF: PdfPig 페이지 수 + 첫 페이지 텍스트 200자 추출
  · 오디오/동영상 12종: 파일 크기 + 수정일 메타
- IsImageFile(), IsMediaFile(), GetImageMeta(), GetPdfMeta(),
  GetFileSizeMeta(), FormatFileSize() 헬퍼 메서드 추가

App.xaml.cs: L28 핸들러 2개 등록 (PkgHandler, ApHandler)
LAUNCHER_ROADMAP.md: Phase L28  완료 + 벤치마킹 공백 3개 해소
빌드: 경고 0, 오류 0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 20:05:14 +09:00
a67cdf574d [Phase L27] 경쟁 공백 즉시 해소 — Windows 일상 제어 도구 5종 구현
VolHandler.cs (신규, prefix=vol):
- Windows Core Audio API COM 직접 호출 (IAudioEndpointVolume)
- vol 50 설정, vol up/down ±10%, vol mute 토글
- AudioEndpoint 래퍼 클래스 + IDisposable 해제
- 볼륨 바 시각화 (20칸 블록), NuGet 불필요

QrHandler.cs (신규, prefix=qr):
- QRCoder 1.6.0 NuGet 추가 (순수 C#, ~150KB)
- qr {텍스트} → PNG 클립보드 복사
- qr save {텍스트} → TEMP 저장 후 탐색기 열기
- 바이트 길이·URL 자동 감지 표시

MeetHandler.cs (신규, prefix=meet):
- %APPDATA%\AxCopilot\meet.json 로컬 저장
- meet add/del CRUD, 이름·URL·서비스 검색
- 서비스 자동 감지 (Zoom/Teams/Google Meet/Webex/Discord/Slack)
- Enter → UseShellExecute URI 열기

BrightHandler.cs (신규, prefix=bright):
- WMI PowerShell subprocess (Get-CimInstance WmiMonitorBrightness)
- bright 70 설정, bright up/down ±10%
- 노트북 내장 디스플레이 전용, 외장 모니터 미지원 안내
- 밝기 바 시각화 (20칸 블록)

PasteHandler.cs (신규, prefix=paste):
- ClipboardHistoryService 의존성 주입
- paste 3 1 5 → 3번→1번→5번 순서대로 Ctrl+V
- paste all → 최근 20개 항목 전체 순차 붙여넣기
- SendInput P/Invoke + AttachThreadInput 포커스 전환
- Raycast "Paste Sequentially" 대응

App.xaml.cs: L27 핸들러 5개 등록 (Vol/Qr/Meet/Bright/Paste)
AxCopilot.csproj: QRCoder 1.6.0 패키지 참조 추가
LAUNCHER_ROADMAP.md: Phase L27  완료 + 벤치마킹 공백 해소 표시
빌드: 경고 0, 오류 0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-04 19:37:52 +09:00
837cc0692b [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>
2026-04-04 19:21:17 +09:00
4740 changed files with 2347 additions and 136990 deletions

22
.gitignore vendored Normal file
View File

@@ -0,0 +1,22 @@
# Build outputs
**/bin/
**/obj/
**/publish/
dist/
# Installer payload
src/AxCopilot.Installer/payload.zip
# IDE
.vs/
*.user
*.suo
# OS
Thumbs.db
Desktop.ini
.DS_Store
# Secrets
*.env
credentials.json

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 555 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

View File

@@ -1,19 +0,0 @@
{
"runtimeOptions": {
"tfm": "net8.0",
"includedFrameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.25"
},
{
"name": "Microsoft.WindowsDesktop.App",
"version": "8.0.25"
}
],
"configProperties": {
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
"CSWINRT_USE_WINDOWS_UI_XAML_PROJECTIONS": false
}
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More