diff --git a/README.md b/README.md index 227286d..b53e115 100644 --- a/README.md +++ b/README.md @@ -1426,3 +1426,5 @@ MIT License - 업데이트: 2026-04-07 01:35 (KST) - Cowork/Code 진행 표시 줄에도 `메모리 규칙 n개 · 학습 n개 적용 중` 근거가 함께 표시되도록 보강했습니다. 기다리는 동안 현재 어떤 메모리 계층이 반영되고 있는지 transcript에서 바로 확인할 수 있습니다. - 메모리 include 감사는 `최근 3일` 기준으로 다시 집계해 보여주도록 정리했고, `/memory list`·`/memory search` 결과도 우선순위·레이어·설명·paths·tags를 두 줄 구조로 더 읽기 쉽게 정리했습니다. +- 업데이트: 2026-04-07 01:44 (KST) + - AX Agent footer/preset 안내에 남아 있던 한글 깨짐 문자열을 복구했습니다. Cowork/Code 입력창 워터마크, 선택된 프리셋 설명, 메모리 상태 팝업 문구가 정상 한글로 다시 표시됩니다. diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 5c0dfc7..180f760 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -5257,3 +5257,9 @@ ow + toggle ?쒓컖 ?몄뼱濡??ㅼ떆 ?뺣젹?덈떎. - [MemoryTool.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Services/Agent/MemoryTool.cs) - `/memory list`와 `/memory search`의 계층형 메모리 출력 형식을 두 줄 구조로 정리했다. - 이제 각 규칙은 경로와 함께 `우선순위 · layer · description · paths · tags`를 한 번에 읽을 수 있다. + +## 2026-04-07 01:44 (KST) + +- [ChatWindow.FooterPresentation.cs](/E:/AX%20Copilot%20-%20Codex/src/AxCopilot/Views/ChatWindow.FooterPresentation.cs) + - Cowork/Code 입력창 워터마크, 선택된 프리셋 안내, 메모리 상태 팝업 문구에 섞여 들어간 깨진 한글 리터럴을 정상 문자열로 복구했다. + - `메모리 규칙 n개 · 학습 n개 적용 중` 근거 표시와 메모리 팝업 상세 문구도 읽기 쉬운 한글 기준으로 다시 정리했다. diff --git a/src/AxCopilot/Views/ChatWindow.FooterPresentation.cs b/src/AxCopilot/Views/ChatWindow.FooterPresentation.cs index b863359..2fefcd3 100644 --- a/src/AxCopilot/Views/ChatWindow.FooterPresentation.cs +++ b/src/AxCopilot/Views/ChatWindow.FooterPresentation.cs @@ -22,12 +22,12 @@ public partial class ChatWindow return _activeTab switch { "Cowork" => hasFolder - ? "臾몄꽌 ?묒꽦, ?곗씠??遺꾩꽍, ?뚯씪 ?묒뾽???붿껌?섏꽭?? ?꾩슂?섎㈃ ?묒뾽 ?대뜑 ?뚯씪???④퍡 李멸퀬?⑸땲??" - : "臾몄꽌 ?묒꽦, ?곗씠??遺꾩꽍, ?뚯씪 ?묒뾽???붿껌?섏꽭?? ?묒뾽 ?대뜑瑜??좏깮?섎㈃ 愿€???뚯씪???④퍡 李멸퀬?⑸땲??", + ? "문서 작성, 데이터 분석, 파일 작업을 요청하세요. 필요하면 작업 폴더 파일도 함께 참고합니다." + : "문서 작성, 데이터 분석, 파일 작업을 요청하세요. 작업 폴더를 선택하면 관련 파일도 함께 참고합니다.", "Code" => hasFolder - ? "肄붾뱶 ?섏젙, ?먯씤 遺꾩꽍, 鍮뚮뱶쨌?뚯뒪?몃? ?붿껌?섏꽭?? ?묒뾽 ?대뜑 肄붾뱶瑜?李멸퀬?섍퀬, ?곷떒 ?€?μ냼 諛곕꼫濡?釉뚮옖移섏? 蹂€寃??곹깭瑜??④퍡 遊낅땲??" - : "?묒뾽 ?대뜑瑜??좏깮????肄붾뱶 ?섏젙, ?먯씤 遺꾩꽍, 鍮뚮뱶쨌?뚯뒪?몃? ?붿껌?섏꽭??", - _ => "吏덈Ц, ?붿빟, 珥덉븞 ?묒꽦, ?꾩씠?붿뼱 ?뺣━瑜??붿껌?섏꽭??", + ? "코드 수정, 원인 분석, 빌드·테스트를 요청하세요. 작업 폴더 코드를 참고하고, 상단 저장소 배너로 브랜치와 변경 상태를 함께 봅니다." + : "작업 폴더를 선택한 뒤 코드 수정, 원인 분석, 빌드·테스트를 요청하세요.", + _ => "질문, 요약, 초안 작성, 아이디어 정리를 요청하세요.", }; } @@ -47,9 +47,9 @@ public partial class ChatWindow return preset.Description.Trim(); if (string.Equals(_activeTab, "Cowork", StringComparison.OrdinalIgnoreCase)) - return "?좏깮???묒뾽 ?좏삎??留욌뒗 臾몄꽌쨌?곗씠?걔룻뙆???묒뾽 ?먮쫫?쇰줈 ?댁뼱吏묐땲??"; + return "선택된 작업 유형에 맞는 문서·데이터·파일 작업 흐름으로 이어집니다."; - return "?좏깮???€??二쇱젣??留욌뒗 ?묐떟 諛⑺뼢怨?珥덉븞 ?먮쫫?쇰줈 ?댁뼱吏묐땲??"; + return "선택된 대화 주제에 맞는 응답 방향과 초안 흐름으로 이어집니다."; } private void UpdateFolderBar() @@ -74,7 +74,7 @@ public partial class ChatWindow } else { - FolderPathLabel.Text = "?대뜑瑜??좏깮?섏꽭??"; + FolderPathLabel.Text = "폴더를 선택하세요"; FolderPathLabel.ToolTip = null; } @@ -168,11 +168,7 @@ public partial class ChatWindow ? "외부 include 허용" : "외부 include 차단"; var auditEnabled = _settings.Settings.Llm.EnableAuditLog; - var recentIncludeEntries = AuditLogService.LoadToday() - .Where(x => string.Equals(x.Action, "MemoryInclude", StringComparison.OrdinalIgnoreCase)) - .OrderByDescending(x => x.Timestamp) - .Take(5) - .ToList(); + var recentIncludeEntries = AuditLogService.LoadRecent("MemoryInclude", maxCount: 5, daysBack: 3); var primaryText = TryFindResource("PrimaryText") as Brush ?? Brushes.White; var secondaryText = TryFindResource("SecondaryText") as Brush ?? Brushes.Gray; @@ -251,7 +247,7 @@ public partial class ChatWindow { panel.Children.Add(new TextBlock { - Text = "오늘 기록된 include 시도가 없습니다.", + Text = "최근 3일 include 감사 기록이 없습니다.", FontSize = 11, Foreground = secondaryText, Margin = new Thickness(8, 0, 8, 6), @@ -436,8 +432,8 @@ public partial class ChatWindow } SelectedPresetGuideTitle.Text = string.Equals(_activeTab, "Cowork", StringComparison.OrdinalIgnoreCase) - ? $"?좏깮???묒뾽 ?좏삎 쨌 {preset.Label}" - : $"?좏깮???€??二쇱젣 쨌 {preset.Label}"; + ? $"선택된 작업 유형 · {preset.Label}" + : $"선택된 대화 주제 · {preset.Label}"; SelectedPresetGuideDesc.Text = BuildSelectedPresetGuideDescription(preset); SelectedPresetGuide.Visibility = Visibility.Visible; }