- Code ??? ?? ???? ?? ??? ??? ? ?? ?? ???? ???? no-progress ??? ??? - ??? ?? ??? 1~2? ????? ????? ToolCall/ToolResult ?? ??? ?? ????? ????? ??? - ??? Thinking/LLM ?? ??? ??? ???? ??? ?? ?? ??? ??? ??? ????? ???? - Cowork/Code ??? ??? ?? ??? ???? ??? ??? ??? ?? ???? ? - README.md, docs/DEVELOPMENT.md ??? 2026-04-15 18:30 (KST) ???? ??? ?? - dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_agent_ui_logs\\ -p:IntermediateOutputPath=obj\\verify_agent_ui_logs\\ - dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopCodeQualityTests|AgentStatusNarrativeCatalogTests|AgentProgressSummarySanitizerTests" -p:OutputPath=bin\\verify_agent_ui_logs_tests\\ -p:IntermediateOutputPath=obj\\verify_agent_ui_logs_tests\\
415 KiB
AX Commander
-
업데이트: 2026-04-15 18:30 (KST)
-
Code 탭에서 동일 도구 호출이 같은 시그니처로 반복될 때 빠져나오지 못하던 루프를 보강했습니다.
src/AxCopilot/Services/Agent/AgentLoopTransitions.Execution.cs에 일반 반복 시그니처 가드를 추가하고,src/AxCopilot/Services/Agent/AgentLoopService.cs가 읽기 전용 도구뿐 아니라build_run같은 실행 도구 반복도 감지해 다른 접근으로 전환하도록 정리했습니다. -
src/AxCopilot/Views/ChatWindow.V2LiveProgressPresentation.cs,src/AxCopilot/Views/ChatWindow.V2Rendering.cs,src/AxCopilot/Views/ChatWindow.TimelinePresentation.cs는 상단 라이브 진행 영역을 1~2줄 요약 카드로 축소하고, 실제 ToolCall/ToolResult 이력은 채팅 본문 타임라인에 계속 누적되도록 바꿨습니다. 내부 대기성 Thinking/LLM 대기 문구는 본문에서 더 공격적으로 숨겨 실행 이력이 덜 지저분하게 보이도록 조정했습니다. -
src/AxCopilot/Services/Agent/AgentStatusNarrativeCatalog.cs는 진행 문구를 다시 정리해 “무엇을 확인 중인지, 왜 이 단계를 거치는지”가 짧고 친절하게 보이도록 다듬었고,src/AxCopilot/Services/Agent/StreamingToolExecutionCoordinator.cs와src/AxCopilot/Views/ChatWindow.V2Rendering.cs의 반복 대기 로그는Info대신Debug중심으로 낮춰 로그 소음을 줄였습니다. -
src/AxCopilot/Services/MarkdownRenderer.cs와 채팅 메시지 렌더 경로(src/AxCopilot/Views/ChatWindow.MessageBubblePresentation.cs,src/AxCopilot/Views/ChatWindow.V2MessagePresentation.cs,src/AxCopilot/Views/ChatWindow.ResponsePresentation.cs)는 선택 가능한 마크다운 뷰를 도입해, Cowork/Code 본문 텍스트를 드래그 선택하고 복사할 수 있게 했습니다. -
테스트는
src/AxCopilot.Tests/Services/AgentLoopCodeQualityTests.cs,src/AxCopilot.Tests/Services/AgentStatusNarrativeCatalogTests.cs,src/AxCopilot.Tests/Services/AgentProgressSummarySanitizerTests.cs를 보강했고,dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_agent_ui_logs\\ -p:IntermediateOutputPath=obj\\verify_agent_ui_logs\\경고 0 / 오류 0,dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopCodeQualityTests|AgentStatusNarrativeCatalogTests|AgentProgressSummarySanitizerTests" -p:OutputPath=bin\\verify_agent_ui_logs_tests\\ -p:IntermediateOutputPath=obj\\verify_agent_ui_logs_tests\\131개 통과를 확인했습니다. -
업데이트: 2026-04-15 17:41 (KST)
-
~워크스페이스 저장/복원에 파일 탐색기와 메모장 상태 복원을 추가했습니다.src/AxCopilot/Core/AppWorkspaceStateHelper.cs가 파일 탐색기 현재 폴더 경로와 메모장 열린 파일 경로를 best-effort로 수집하고,src/AxCopilot/Core/ProcessCommandLineHelper.cs가 프로세스 명령줄 파싱을 공용화합니다. -
src/AxCopilot/Core/ContextManager.cs는 저장된 탐색기/메모장 상태가 현재 창 제목과 다를 때 새 창을 띄워 원래 경로와 파일을 다시 열고, 새 창 연속 실행 시에는 CPU·메모리 부하와 이미 실행한 창 수를 반영한 적응형 지연을 넣어 복원 속도를 자동 조절합니다. -
src/AxCopilot/Models/AppSettings.cs,src/AxCopilot/ViewModels/SettingsViewModel.cs,src/AxCopilot/Views/SettingsWindow.xaml에복원 속도 자동 조절,복원 기본 간격,복원 최대 간격설정을 추가했습니다. -
테스트를
src/AxCopilot.Tests/Core/ContextManagerTests.cs,src/AxCopilot.Tests/Services/SettingsServiceTests.cs에 확장했고,dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_workspace_app_restore\\ -p:IntermediateOutputPath=obj\\verify_workspace_app_restore\\경고 0 / 오류 0,dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "WorkspaceHandlerTests|ContextManagerTests|SettingsServiceTests" -p:OutputPath=bin\\verify_workspace_app_restore_tests\\ -p:IntermediateOutputPath=obj\\verify_workspace_app_restore_tests\\54개 통과를 확인했습니다. -
업데이트: 2026-04-15 17:26 (KST)
-
~워크스페이스 저장/복원에 브라우저 상태 복원을 추가했습니다.src/AxCopilot/Core/BrowserWorkspaceStateHelper.cs가 Edge/Chrome/Whale/Brave/Opera/Firefox 창에서 프로필 인자와 탭 URL, 활성 탭 인덱스를 best-effort로 수집하고,src/AxCopilot/Core/ContextManager.cs가 브라우저 상태가 저장된 경우 새 창을 띄워 동일한 탭 묶음을 다시 열어 배치합니다. -
src/AxCopilot/Models/AppSettings.cs,src/AxCopilot/ViewModels/SettingsViewModel.cs,src/AxCopilot/Views/SettingsWindow.xaml에브라우저 상태 복원토글을 연결해 저장 시 탭 포커스 이동이 부담되는 환경에서는 기능을 끌 수 있게 했습니다. -
테스트를
src/AxCopilot.Tests/Core/ContextManagerTests.cs,src/AxCopilot.Tests/Services/SettingsServiceTests.cs에 확장했고,dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_browser_restore\\ -p:IntermediateOutputPath=obj\\verify_browser_restore\\경고 0 / 오류 0,dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "WorkspaceHandlerTests|ContextManagerTests|SettingsServiceTests" -p:OutputPath=bin\\verify_browser_restore_workspace_tests\\ -p:IntermediateOutputPath=obj\\verify_browser_restore_workspace_tests\\44개 통과를 확인했습니다.
Windows 전용 시맨틱 런처 & 워크스페이스 매니저
Alfred (macOS)에서 영감을 받아 Windows 환경에 최적화된 키보드 중심 생산성 도구입니다.
개발 참고: AX Agent 실행 개선 작업 추적 문서
docs/AX_AGENT_EXECUTION_IMPROVEMENT_PLAN.md
-
업데이트: 2026-04-15 18:20 (KST)
-
개발 문서와 로드맵에서 비교·모사 뉘앙스가 강한 문구를 정리하고, AX 기준의 실행 계획·검증 내용만 남도록 문서명과 설명을 정돈했습니다.
-
업데이트: 2026-04-15 16:49 (KST)
-
런처
~워크스페이스 복원 경로를 검토하고, 여러 브라우저/앱 창이 있을 때 같은exe의 첫 창 하나만 반복 재사용하던 매칭 문제를 수정했습니다. 기존 ContextManager.cs는 저장된 스냅샷마다exe만 보고 첫 HWND를 잡아 여러 Chrome/Edge 창 배치가 쉽게 꼬일 수 있었습니다. -
이제 ContextManager.cs는 열린 창 후보를 수집한 뒤
exe + 제목 유사도 + 이미 배정된 창 제외기준으로 복원 대상을 고릅니다. 이미 다른 스냅샷에 배정된 핸들은 다시 쓰지 않아, 같은 프로세스의 다중 창이 한 창으로 덮여 이동되던 문제를 줄였습니다. -
WorkspaceHandler.cs는 도움말과 실제 동작이 어긋나던
~restore <이름>,~list를 실제로 지원하도록 정리했고, 프로필 목록도 최근 저장 순으로 복원 액션을 직접 반환하도록 맞췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_workspace_restore_review\\ -p:IntermediateOutputPath=obj\\verify_workspace_restore_review\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "WorkspaceHandlerTests|ContextManagerTests" -p:OutputPath=bin\\verify_workspace_restore_review_tests\\ -p:IntermediateOutputPath=obj\\verify_workspace_restore_review_tests\\통과 6 -
업데이트: 2026-04-15 16:12 (KST)
-
Code/Cowork 권한 팝업과 승인 재사용이 상대 경로에서 잘못 동작하던 문제를 수정했습니다. 상대 경로
index.html같은 대상이 워크스페이스가 아닌 프로세스 현재 폴더(dist) 기준으로 해석되면서, 권한 팝업 미리보기와 사내 모드 외부 경로 판정이 잘못되고이번 실행 동안 허용도 재사용되지 않던 상태였습니다. -
IAgentTool.cs는 새 workspace-aware 경로 해석을 사용해
IsPathAllowed(...),IsOutsideWorkspace(...)가 상대 경로를 항상 현재 워크스페이스 기준으로 판정하도록 바꿨습니다. 그 결과 사내 모드에서도 워크스페이스 하위 상대 경로는 외부 접근으로 오판하지 않습니다. -
ChatWindow.xaml.cs는 권한 콜백에서 상대 경로를
RuntimeWorkFolderOverride또는 현재 대화의WorkFolder기준 절대경로로 먼저 정규화한 뒤, 자동 승인 재사용/외부 경로 안내/권한 팝업 표시/세션 규칙 저장에 모두 같은 값을 사용하도록 정리했습니다. 이제이번 실행 동안 허용은 동일 워크스페이스 하위 파일들에 일관되게 재사용됩니다. -
테스트: OperationModePolicyTests.cs에
AgentContext_CheckToolPermissionAsync_InternalMode_BypassPermissions_AllowsRelativeWorkspacePathWithoutPrompt추가 -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_permission_workspace_path\\ -p:IntermediateOutputPath=obj\\verify_permission_workspace_path\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "OperationModePolicyTests|AgentLoopE2ETests" -p:OutputPath=bin\\verify_permission_workspace_path_tests\\ -p:IntermediateOutputPath=obj\\verify_permission_workspace_path_tests\\통과 34 -
업데이트: 2026-04-15 15:56 (KST)
-
메인 루프2 이후 채팅창 바로 위 라이브 진행 카드가 다시 사라질 수 있던 경로를 보강했습니다. ChatWindow.LiveProgressPresentation.cs에
EnsureAgentLiveCardVisible(...)를 추가해, Cowork/Code 실행 중 라이브 카드 컨테이너가 아직 없거나 transcript 재구성으로 빠졌을 때 즉시 재생성/재부착되도록 했습니다. -
ChatWindow.xaml.cs는 agent event 수신과 live hint 시작 시 eligible 탭이면 위 helper를 먼저 호출한 뒤 상태를 갱신하도록 정리했습니다. 이로써 이벤트는 오는데 채팅창 바로 위 라이브 카드만 사라진 채 남는 회귀를 막습니다.
-
ChatWindow.V2Rendering.cs는 부분/전체 transcript 재렌더링 때
_v2LiveContainer존재 여부에 의존하지 않고_isStreaming상태면 동일 helper를 호출해 라이브 카드를 자동 복원합니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_live_card_guard\\ -p:IntermediateOutputPath=obj\\verify_live_card_guard\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatWindowSlashPolicyTests" -p:OutputPath=bin\\verify_live_card_guard_tests\\ -p:IntermediateOutputPath=obj\\verify_live_card_guard_tests\\통과 49 -
업데이트: 2026-04-15 15:40 (KST)
-
Code 탭의 실제 도구 실행 워크스페이스가 설정값의
CodeWorkFolder/WorkFolder로 고정되고, 현재 대화가 가진WorkFolder와 어긋날 수 있던 문제를 수정했습니다. AgentLoopService.cs는 새RuntimeWorkFolderOverride를 통해 실행 턴마다 대화 기준 워크스페이스를 우선 사용하고, ChatWindow.xaml.cs는RunAgentLoopAsync(...)에서 현재 conversation의WorkFolder를 루프에 직접 주입합니다. -
같은 기준을 권한 팝업에도 적용했습니다. 사내 모드에서 ChatWindow.xaml.cs의 권한 안내 문구는 이제
_currentConversation의 우연한 상태가 아니라, 실제 실행 중인 탭 루프가 들고 있는 워크스페이스 override를 우선 기준으로 삼습니다. 그 결과지정한 워크스페이스 하위 경로는 무승인,그 외 경로만 승인규칙이 Code 탭에서도 Cowork와 같은 기준으로 맞춰집니다. -
회귀 테스트도 추가했습니다. AgentLoopE2ETests.cs에
RunAsync_CodeRuntimeWorkspaceOverride_PrefersConversationWorkspaceOverSettingsFolder,RunAsync_InternalMode_BypassPermissions_AllowsWorkspaceWriteWithoutPrompt,RunAsync_InternalMode_BypassPermissions_RequestsApprovalForPathOutsideWorkspace를 추가해, stale settings 경로보다 대화 워크스페이스가 우선 적용되는지와 사내 모드 승인 규칙을 함께 고정했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_workspace_permission_fix\\ -p:IntermediateOutputPath=obj\\verify_workspace_permission_fix\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "FullyQualifiedName~RunAsync_CodeRuntimeWorkspaceOverride_PrefersConversationWorkspaceOverSettingsFolder|FullyQualifiedName~RunAsync_InternalMode_BypassPermissions_AllowsWorkspaceWriteWithoutPrompt|FullyQualifiedName~RunAsync_InternalMode_BypassPermissions_RequestsApprovalForPathOutsideWorkspace|FullyQualifiedName~RunAsync_EmptyWorkspace_BlocksExternalFallbackAndRecoversToFileWrite|FullyQualifiedName~RunAsync_EmptyWorkspace_DisallowsSkillManagerAndRecoversToFileWrite|FullyQualifiedName~RunAsync_TextEmbeddedToolCall_RecoversAndExecutesFileWrite" -p:OutputPath=bin\\verify_workspace_permission_fix_tests\\ -p:IntermediateOutputPath=obj\\verify_workspace_permission_fix_tests\\통과 6 -
업데이트: 2026-04-15 15:45 (KST)
-
Cowork의 PPT 생성 경로를 더 일반적인 고품질 흐름으로 보강했습니다. ChatWindow.SystemPromptBuilder.cs와 AgentLoopExplorationPolicy.cs는 이제 프레젠테이션/슬라이드 덱 요청에서
document_plan을 무조건 먼저 타지 않고, 명시적으로 계획을 요구한 경우가 아니면pptx_create를 우선하도록 안내합니다. -
DeckPlanningService.cs에 generic
RefineForQuality(...)루프를 추가했습니다. executive summary, comparison, roadmap, chart, KPI dashboard 같은 특화 슬라이드에서 headline, takeaway, verdict, owner/timeline, KPI trend/note를 자동 보강하고, 필요하면 appendix/evidence 슬라이드까지 추가합니다. -
PptxSkill.cs는 초기 deck review 결과가 약할 때 한 번 더 자동 보정을 수행한 뒤 점수와 이슈가 실제로 개선된 경우에만 refined deck을 최종 렌더링에 사용합니다. 특정 업종 전용이 아니라 어떤 PPT 요청에도 적용되는 공통 품질 루프입니다.
-
테스트: DeckPlanningServiceTests.cs, PptxSkillAutoRepairTests.cs
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_ppt_generic_quality\\ -p:IntermediateOutputPath=obj\\verify_ppt_generic_quality\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DeckPlanningServiceTests|PptxSkillAutoRepairTests|PptxSkillGoldenDeckTests|DeckQualityReviewServiceTests" -p:OutputPath=bin\\verify_ppt_generic_quality_tests\\ -p:IntermediateOutputPath=obj\\verify_ppt_generic_quality_tests\\통과 14 -
업데이트: 2026-04-15 15:18 (KST)
-
코워크/코드 내부설정의 최대 컨텍스트 토큰 기본값을 32K로 올렸습니다. AppSettings.cs의
MaxContextTokens기본값을32_768로 변경해 신규 설정/신규 세션이 바로 32K 기준으로 시작됩니다. -
SettingsWindow.xaml과 SettingsWindow.xaml.cs에는
32K선택 카드를 추가해 메인 설정에서도 기본 선택과 표시가 어긋나지 않게 맞췄습니다. -
AgentSettingsWindow.xaml.cs는 잘못된 입력 fallback도 32K 기준으로 바꿔, 내부 설정에서 값이 비정상이더라도 다시 4K로 떨어지지 않게 했습니다.
-
테스트: SettingsServiceTests.cs 확장
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_context32k\\ -p:IntermediateOutputPath=obj\\verify_context32k\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "SettingsServiceTests" -p:OutputPath=bin\\verify_context32k_tests\\ -p:IntermediateOutputPath=obj\\verify_context32k_tests\\통과 32 -
업데이트: 2026-04-15 10:57 (KST)
-
업데이트: 2026-04-15 15:09 (KST)
-
Code/Cowork 작업 폴더 선택 직후 빠른 전송에서도 대화 메타데이터와 UI 표시가 어긋나지 않도록 정리했습니다. ChatWindow.xaml.cs는 폴더 선택 시 현재 대화가 없으면 즉시 생성해
WorkFolder를 먼저 반영하고, 현재 폴더 표시도 탭별 최근 폴더(CodeWorkFolder/CoworkWorkFolder)를 우선 읽도록 바꿨습니다. -
새 Code/Cowork 대화도 최근 작업 폴더를 그대로 승계합니다. ChatSessionStateService.cs는
CreateFreshConversation(...)에서 탭별 저장 폴더를 기본WorkFolder로 채워, 화면에는 폴더가 보이는데 전송 시에는 경로가 없다고 막히는 불일치를 줄였습니다. -
작업 폴더 지우기 동작도 같은 기준으로 맞췄습니다. 이제 폴더 해제 시 대화 메타데이터뿐 아니라 탭별 저장 폴더와 UI 상태도 함께 초기화되어, 이전 선택 경로가 fallback으로 다시 보이는 현상을 줄입니다.
-
테스트: ChatSessionStateServiceTests.cs 확장
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_workfolder_sync\\ -p:IntermediateOutputPath=obj\\verify_workfolder_sync\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatSessionStateServiceTests" -p:OutputPath=bin\\verify_workfolder_sync_tests\\ -p:IntermediateOutputPath=obj\\verify_workfolder_sync_tests\\통과 37 -
업데이트: 2026-04-15 12:51 (KST)
-
AX Agent 진행 이력에
1,[,file_read]같은 깨진 조각이 보이던 문제를 정리했습니다. 새 AgentProgressSummarySanitizer.cs가 스트리밍 미리보기,Thinking요약,[이전 도구 호출: ...]transcript 꼬리 문자열을 공통 규칙으로 정제해 저품질 파편을 제거합니다. -
AgentLoopService.cs는 스트리밍
TextDeltapreview와 일반Thinkingemit 전에 정제기를 적용해, 의미 없는 단문은 이벤트 자체를 만들지 않도록 했습니다. -
ChatWindow.V2LiveProgressPresentation.cs, ChatWindow.V2AgentEventPresentation.cs, ChatWindow.AgentEventRendering.cs는 렌더링 직전에도 같은 정제 로직을 사용해, 빈약한 조각 문자열은 숨기고 process feed는
진행 내용 정리로 안전하게 폴백합니다. -
테스트: AgentProgressSummarySanitizerTests.cs 추가, AgentLoopResponseClassificationServiceTests.cs 확장
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_agent_progress_cleanup\\ -p:IntermediateOutputPath=obj\\verify_agent_progress_cleanup\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentProgressSummarySanitizerTests|AgentLoopResponseClassificationServiceTests|AgentStatusNarrativeCatalogTests|AgentLoopIterationPreparationServiceTests|AgentToolResultBudgetTests|ChatStorageServiceTests" -p:OutputPath=bin\\verify_agent_progress_cleanup_tests\\ -p:IntermediateOutputPath=obj\\verify_agent_progress_cleanup_tests\\통과 22 -
업데이트: 2026-04-15 12:14 (KST)
-
코워크/코드에서 보이는 AX Agent 현재 상태 문구를 더 풍부한 narrative 기준으로 정리했습니다. 새 AgentStatusNarrativeCatalog.cs가 이벤트 타입, 도구 성격, 탭(Cowork/Code), 대상 힌트를 함께 해석해
작업 분석 중 → 관련 파일 확인 중 → 변경 적용 중 → 결과 검증 중처럼 더 이해하기 쉬운 현재 상태 문구와 상세 설명을 만듭니다. -
ChatWindow.xaml.cs, ChatWindow.AgentStatusPresentation.cs, ChatWindow.AgentEventRendering.cs는 이제 같은 narrative 카탈로그를 사용해 초기 상태, live pulse 상태, idle 진행 힌트, readable process feed 요약을 일관된 문장으로 보여줍니다. 도구명 한 줄 표시보다
왜 기다리는지,무엇을 정리 중인지,다음 단계가 무엇인지가 더 잘 드러납니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_status_narrative\\ -p:IntermediateOutputPath=obj\\verify_status_narrative\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentStatusNarrativeCatalogTests|AgentLoopIterationPreparationServiceTests|AgentToolResultBudgetTests|ChatStorageServiceTests|AgentMessageInvariantHelperTests" -p:OutputPath=bin\\verify_status_narrative_tests\\ -p:IntermediateOutputPath=obj\\verify_status_narrative_tests\\통과 15 -
업데이트: 2026-04-15 10:57 (KST)
-
AX Agent 루프의 도구 미호출 복구 규칙을 AgentLoopNoToolResponseRecoveryService.cs로 분리했습니다.
도구 미호출 루프와계획만 세우고 실행하지 않는 경우의 경고 문구, 재시도 횟수, 이벤트 요약을 별도 서비스에서 생성해 AgentLoopService.cs의 반복 분기를 더 읽기 쉽게 정리했습니다. -
새 테스트 AgentLoopNoToolResponseRecoveryServiceTests.cs로 probe-only 즉시 복구, 최종 경고 전환, 계획 미실행 재시도 규칙을 회귀로 고정했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_closeout\\ -p:IntermediateOutputPath=obj\\verify_closeout\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopNoToolResponseRecoveryServiceTests|AgentLoopIterationPreparationServiceTests|AgentLoopLlmRequestPreparationServiceTests|AgentQueuedCommandProjectorTests|AgentMessageInvariantHelperTests|AgentToolResultBudgetTests|AgentQueryContextBuilderTests|ChatStorageServiceTests|HtmlSkillGoldenReportTests|PptxSkillGoldenDeckTests|DocxSkillGoldenDocumentTests|ExcelSkillGoldenWorkbookTests" -p:OutputPath=bin\\verify_closeout_tests\\ -p:IntermediateOutputPath=obj\\verify_closeout_tests\\통과 27 -
업데이트: 2026-04-15 10:34 (KST)
-
AX Agent 루프의 반복 준비 단계를 분리했습니다. AgentLoopIterationPreparationService.cs가 queued command 투영, tool result 대기 요약, query view 생성 책임을 묶어 AgentLoopService.cs의 반복 진입부를 더 가볍게 정리합니다.
-
긴 세션과 분기 대화에서
tool_resultpreview가 더 안정적으로 유지되도록 AgentMessageInvariantHelper.cs와 AgentToolResultBudget.cs를 보강했습니다. 명시적 preview, fingerprint 재바인딩, synthetic preview의 우선순위를 분리해 저장/재개 후에도 사람이 보던 축약 결과를 우선 재사용합니다. -
테스트: AgentLoopIterationPreparationServiceTests.cs, AgentMessageInvariantHelperTests.cs, AgentToolResultBudgetTests.cs
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_loop_pipeline\\ -p:IntermediateOutputPath=obj\\verify_loop_pipeline\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentQueuedCommandProjectorTests|AgentLoopIterationPreparationServiceTests|AgentMessageInvariantHelperTests|AgentToolResultBudgetTests|AgentQueryContextBuilderTests|ChatStorageServiceTests" -p:OutputPath=bin\\verify_loop_pipeline_tests\\ -p:IntermediateOutputPath=obj\\verify_loop_pipeline_tests\\통과 14 -
업데이트: 2026-04-14 21:25 (KST)
-
업데이트: 2026-04-14 22:52 (KST)
-
문서 포맷 고도화를 한 단계 더 진행했습니다. ExcelSkill.cs에
conditional_formats를 추가해 색상 스케일과 데이터 바 조건부서식을 네이티브 OpenXML로 생성하고, 품질 리뷰에도 반영되도록 했습니다. -
DocxSkill.cs는
style_map을 지원해 템플릿에 정의된 제목/헤딩/본문 스타일을 실제 문단에 매핑할 수 있게 했습니다. 이제 사내 Word 템플릿을 사용할 때 스타일 상속 품질이 더 높아집니다. -
HtmlSkill.cs는
print_header,print_footer를 받아 인쇄용 헤더/푸터 프레임을 추가하고, ArtifactQualityReviewService.cs는 HTML/DOCX/XLSX 산출물의 품질 요약을 안정적인 공통 형식으로 반환하도록 정리했습니다. -
PPTX도 계속 고도화할 수 있게 확장 포인트를 넣었습니다. PptxTemplatePackRegistry.cs를 추가해
strategy,board,pmo,finance,sales,operating_model템플릿 팩을 정의했고, PptxSkill.cs는template_pack파라미터와 objective/audience 기반 자동 pack suggestion을 지원합니다. -
테스트: ExcelSkillConditionalFormattingTests.cs, DocxSkillStyleMapTests.cs, HtmlSkillPrintFrameTests.cs, PptxSkillTemplatePackTests.cs 추가
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_next_doc_ppt\\ -p:IntermediateOutputPath=obj\\verify_next_doc_ppt\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ExcelSkillDataValidationTests|ExcelSkillConditionalFormattingTests|ExcelSkillExecutiveSummaryLinkTests|ExcelSkillSummarySheetTests|DocxSkillTemplateFeaturesTests|DocxSkillStyleMapTests|HtmlSkillConsultingSectionsTests|HtmlSkillPrintFrameTests|DocumentAssemblerDocxFeaturesTests|PptxSkillConsultingDeckTests|PptxSkillAutoRepairTests|PptxSkillTemplatePackTests" -p:OutputPath=bin\\verify_next_doc_ppt_tests\\ -p:IntermediateOutputPath=obj\\verify_next_doc_ppt_tests\\통과 15 -
업데이트: 2026-04-14 21:25 (KST)
-
문서 생성 고도화 2차를 반영했습니다. ArtifactQualityReviewService.cs를 추가해 HTML/DOCX/XLSX 결과물에 공통 품질 점수와 보완 포인트를 부여하고, HtmlSkill.cs, DocxSkill.cs, ExcelSkill.cs에 연결했습니다.
-
Word 쪽은 템플릿·커버·목차를 강화했습니다.
docx_create는template_path,cover_subtitle,cover_meta,toc를 받아 템플릿 기반 문서와 커버 페이지, TOC 필드를 함께 만들 수 있게 되었고, 결과 요약에도 문서 품질 리뷰가 같이 남습니다. -
Excel 쪽은 요약 시트 품질을 높였습니다. summary sheet가 detail sheet 링크를 자동으로 넣고, KPI/하이라이트/액션 구조를 가진 워크북에 대해 품질 점수를 함께 반환합니다.
-
HTML 쪽은 결과 요약에 업무 문서 기준의 로컬 품질 리뷰를 붙였습니다. 커버, 목차, 인쇄 최적화, 구조화 블록 사용 여부를 함께 평가해 후속 보정 근거를 더 쉽게 확인할 수 있습니다.
-
번들 스킬도 확장했습니다. executive-brief.skill.md, kpi-workbook.skill.md, board-report-html.skill.md을 추가해 임원 보고 문서, KPI 워크북, HTML 이사회 보고서 생성을 바로 유도할 수 있게 했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_phase2\\ -p:IntermediateOutputPath=obj\\verify_doc_phase2\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|DocxSkillTemplateFeaturesTests|ExcelSkillExecutiveSummaryLinkTests|DocumentAssemblerSemanticTests|DocumentPlannerBusinessDocumentTests|HtmlSkillConsultingSectionsTests|ExcelSkillSummarySheetTests" -p:OutputPath=bin\\verify_doc_phase2_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_phase2_tests\\통과 9 -
업데이트: 2026-04-14 19:13 (KST)
-
기준 구조기준 Phase 4 범위를 이어서 반영했습니다. MCP 서버 메타데이터를mcp스코프의 synthetic skill로 노출하는 McpSkillCatalog.cs를 추가했고, 스킬 source 정책은managed/user/additional/project/plugin/mcp/legacy단위로 켜고 끌 수 있게 확장했습니다. -
슬래시 명령 합성도 정리했습니다. SlashCommandCatalog.cs와 ChatWindow.xaml.cs가 이제 builtin command와 skill을 우선순위 기반으로 dedupe해 같은
/명령이 겹칠 때 더 안정적으로 하나만 노출합니다. -
일반 설정과 AX Agent 내부 설정의 스킬 섹션에도 source 정책 토글을 추가했고, SkillGalleryWindow.xaml.cs는 MCP 카테고리/배지를 지원하도록 보강했습니다. synthetic MCP 스킬처럼 실제 파일이 없는 항목은 편집/복제/내보내기 액션을 숨겨 런타임 오류도 피합니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_phase4\\ -p:IntermediateOutputPath=obj\\verify_phase4\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "SkillServiceRuntimePolicyTests|SlashCommandCatalogTests|McpSkillCatalogTests" -p:OutputPath=bin\\verify_phase4_tests\\ -p:IntermediateOutputPath=obj\\verify_phase4_tests\\통과 17 -
참고: 테스트 프로젝트의 기존 파일
src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs(76)nullable 경고 1건은 유지됩니다. -
업데이트: 2026-04-14 19:50 (KST)
-
AX Agent의 내부 실행 품질을
기준 구조기준으로 한 단계 더 끌어올렸습니다. 실행 중 추가 입력은 AgentCommandQueue.cs에서 우선순위와 인터럽트 여부를 함께 보존하고, AgentLoopService.cs는 이를 주기적으로 소진해 대화 중 새 지시가 들어와도 더 안정적으로 반영합니다. -
컨텍스트 관리도 보강했습니다. AgentToolResultBudget.cs, AgentQueryContextBuilder.cs, ChatModels.cs가 tool result preview를 대화 메시지에 캐시해 긴 세션과 재질문에서도 같은 축약 결과를 재사용하도록 정리했습니다.
-
코드 탭의 언어 지원도 내장 중심으로 넓혔습니다. CodeLanguageCatalog.cs를 추가해 코드 분류, 시스템 프롬프트, LSP 언어 판정, 인덱싱 확장자를 한 카탈로그로 묶었고, 설정의 코드 탭에는
지원 언어(LSP)와코드 탭 기본 지원을 명시적으로 노출했습니다. 격리 환경에서는 외부 설치를 전제하지 않고 내장 분석과 로컬에 이미 있는 언어 서버만 활용합니다. -
PPT 생성 품질도 크게 올렸습니다. PptxSkill.cs에
executive_summary,recommendation,roadmap,comparison,kpi_dashboard레이아웃을 추가했고, DocumentPlannerTool.cs는 발표용 문서 계획을Executive Summary -> Situation & Imperative -> Key Findings -> Options & Recommendation -> Implementation Roadmap -> Impact & Ask구조로 생성하도록 바꿨습니다. pptx-creator.skill.md도 Python 우선 흐름에서 AX nativepptx_create중심으로 재작성했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_impl\\ -p:IntermediateOutputPath=obj\\verify_impl\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "CodeLanguageCatalogTests|AgentCommandQueueTests|AgentToolResultBudgetTests|DocumentPlannerPresentationTests|PptxSkillConsultingDeckTests" -p:OutputPath=bin\\verify_impl_tests\\ -p:IntermediateOutputPath=obj\\verify_impl_tests\\통과 15 -
업데이트: 2026-04-14 19:16 (KST)
-
분석용 로그 저장 방식을 롤링 형태로 정리했습니다.
app,perf,audit,workflow로그는 이제 날짜별 파일을 유지하되 각 파일이 최대 1MB를 넘지 않도록 오래된 내용부터 밀어내며 새 로그를 이어 붙입니다. -
보관 정책도 같이 정리했습니다. 공통 로그/성능 로그/감사 로그는 14일까지만 유지하고, 워크플로우 상세 로그는 기존 설정값을 따르되 최대 14일을 넘지 않게 제한합니다.
-
공통 유틸 RollingTextLogStore.cs와 회귀 테스트 RollingTextLogStoreTests.cs도 추가했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_logroll\\ -p:IntermediateOutputPath=obj\\verify_logroll\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "RollingTextLogStoreTests" -p:OutputPath=bin\\verify_logroll_tests\\ -p:IntermediateOutputPath=obj\\verify_logroll_tests\\통과 3 -
참고: 테스트 프로젝트의 기존 파일
src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs(76)nullable 경고 1건은 유지됩니다. -
업데이트: 2026-04-14 19:02 (KST)
-
코워크/코드의 작업 폴더 선택 후 UI가 2~3초 멈추던 흐름을 점검해, 폴더 변경 직후 실행되던 스킬 소스 재탐색을 UI 스레드 밖으로 분리했습니다. 이제 작업 폴더 변경, 탭 전환, 대화 복원 시 필요한 스킬 재로드는 백그라운드에서 수행하고, 조건부 스킬 활성화만 UI에 다시 반영합니다.
-
첨부 파일 추가/제거처럼 작업 폴더가 바뀌지 않는 경로는 기존 스킬 집합만 기준으로 조건부 스킬을 갱신하도록 분리해 불필요한 재탐색도 줄였습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_folderpick\\ -p:IntermediateOutputPath=obj\\verify_folderpick\\경고 0 / 오류 0 -
업데이트: 2026-04-14 18:45 (KST)
-
AX Agent 내부 설정의 스킬 탭 안내 블록에 커스텀 라벨을 추가했습니다. 이제
.claude/skills/.../SKILL.md프로젝트 호환 경로가 스킬 탭 첫 화면에서 바로 보여, 워크스페이스에 같은 구조가 있으면 AX가 함께 읽는다는 점을 UI에서도 확인할 수 있습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_skilllabel\\ -p:IntermediateOutputPath=obj\\verify_skilllabel\\경고 0 / 오류 0 -
업데이트: 2026-04-14 18:37 (KST)
-
기준 구조로컬 스냅샷을 다시 확인했지만, 바로 가져다 쓸 만한 PPT/문서 전용 번들 스킬은 뚜렷하지 않았습니다. 대신 AX에 이미 포함된pptx-creator,docx-creator,report-writer,prd-generator,meeting-minutes,weekly-report,markdown-to-doc같은 문서형 스킬을 기본 제공 자산으로 더 분명하게 노출하도록 정리했습니다. -
문서형 스킬에는
when_to_use와argument-hint메타를 보강해 자동 추천 품질을 높였습니다. 이제 발표자료, Word 문서, 보고서, PRD, 회의록, Markdown 문서 변환 요청에서 관련 스킬이 더 자연스럽게 선택될 수 있습니다. -
설정 화면과 스킬 갤러리도
managed스코프를 별도기본 제공 스킬로 분리해, 앱에 기본 포함되어 배포되는 문서/프레젠테이션 스킬이 사용자 추가 스킬과 섞여 보이지 않게 맞췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_docskills\\ -p:IntermediateOutputPath=obj\\verify_docskills\\경고 0 / 오류 0 -
참고: 테스트 빌드 중 기존 파일
src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs의 nullable 경고 1건은 유지됩니다. -
업데이트: 2026-04-14 18:33 (KST)
-
스킬 소스 정책과 inline shell 안전장치를 추가로 정리했습니다. 프로젝트 스킬 자동 탐색, 플러그인 스킬 탐색, 레거시 command 스킬 호환, inline shell 허용 여부와 시간/출력 제한을 설정으로 제어할 수 있습니다.
-
스킬 재탐색도 더 민감하게 바꿨습니다. 이제 로드 시그니처가 소스 디렉터리뿐 아니라 실제 스킬 파일 수와 최근 수정 시각을 함께 반영해, 같은 폴더라도 파일이 바뀌면 다음 로드 요청에서 자동으로 다시 읽습니다.
-
스킬 편집기와 갤러리도 lazy prompt body 경로를 사용하도록 맞췄습니다. 파일형 스킬은 미리보기/편집 시점에 실제 본문을 읽고, inline shell은 설정에서 막을 수 있으며 시간 초과와 출력 길이 제한도 적용됩니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_phase4b\\ -p:IntermediateOutputPath=obj\\verify_phase4b\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolCatalogTests|SkillServiceRuntimePolicyTests" -p:OutputPath=bin\\verify_phase4b_tests\\ -p:IntermediateOutputPath=obj\\verify_phase4b_tests\\통과 18 -
참고: 테스트 빌드 중 기존 파일
src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs의 nullable 경고 1건은 유지됩니다. -
업데이트: 2026-04-14 18:22 (KST)
-
스킬 소스 계층을 더 확장했습니다. 이제 기본/사용자/추가 폴더뿐 아니라 작업 폴더 상위 경로의
.claude/skills, 플러그인 내부 스킬 폴더,.claude/commands기반의 레거시 markdown command까지 함께 읽어 번들/프로젝트/플러그인/공용/레거시 스킬로 분류합니다. -
스킬 로딩 방식도 가볍게 정리했습니다. 파일형 스킬은 본문을 처음부터 모두 메모리에 올리지 않고, 실제 호출·미리보기 시점에 body를 읽어 lazy하게 조립합니다. 인자 모델은
arguments와argument-hint를 함께 해석해 위치 인자 치환과 누락 인자 안내를 같이 처리합니다. -
설정은 크게 바꾸지 않고 보조 스킬 폴더 목록만 추가했습니다. 일반 설정과 AX Agent 설정에서 여러 공용 스킬 폴더를 줄 단위로 연결할 수 있고, 프로젝트/플러그인/레거시 command 소스도 같은 목록 화면에서 함께 확인할 수 있습니다.
-
도구 deny 필터는 공통 카탈로그로 끌어올렸습니다. 런타임뿐 아니라 설정 화면의 도구 목록도 blanket deny 규칙을 먼저 반영해 실제로 보이는 도구와 모델에 전달되는 도구가 더 일치합니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_phase3\\ -p:IntermediateOutputPath=obj\\verify_phase3\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolCatalogTests|SkillServiceRuntimePolicyTests" -p:OutputPath=bin\\verify_phase3_tests\\ -p:IntermediateOutputPath=obj\\verify_phase3_tests\\통과 18 -
참고: 테스트 빌드 중 기존 파일
src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs의 nullable 경고 1건은 유지됩니다. -
업데이트: 2026-04-14 18:08 (KST)
-
스킬 런타임을
기준 구조동등 품질 기준으로 한 단계 더 끌어올렸습니다. 이제 작업 폴더 기준의 프로젝트.claude/skills를 재귀 스캔해 namespacedSKILL.md를 로드하고, 번들 스킬/사용자 스킬/프로젝트 스킬을 함께 노출합니다. -
슬래시 스킬 호출도 실제 실행 경로에 맞게 확장했습니다.
/skill args...호출 시$ARGUMENTS, named argument placeholder, 스킬 폴더 변수 치환을 적용하고, inline shell 블록은 호출 시점의 작업 폴더에서만 실행해 프롬프트를 조립합니다. -
자동/조건부 스킬도 엔진에 연결했습니다.
when_to_use,paths,user-invocable메타데이터를 기준으로 보조 스킬을 선택해 일반 대화 요청에도 필요한 가이드를 붙이고, 오버레이/설정 화면도 같은 분류를 기준으로 직접 호출/자동 스킬을 보여줍니다. -
도구 노출 단계도 보강했습니다. blanket deny 상태인 도구는 실행 시점 차단만 하는 것이 아니라 모델에 전달하는 활성 도구 목록에서 먼저 제외해 불필요한 도구 제안과 권한 소음을 줄였습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_phase2\\ -p:IntermediateOutputPath=obj\\verify_phase2\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolCatalogTests|SkillServiceRuntimePolicyTests" -p:OutputPath=bin\\verify_phase2_tests\\ -p:IntermediateOutputPath=obj\\verify_phase2_tests\\통과 16 -
참고: 테스트 빌드 중 기존 파일
src/AxCopilot.Tests/Services/WorkspaceContextGeneratorTests.cs의 nullable 경고 1건은 그대로 남아 있으며, 이번 변경에서 새 경고는 추가하지 않았습니다. -
업데이트: 2026-04-14 17:46 (KST)
-
도구 이름과 내부설정의 결합도를 낮추기 위해
AgentToolCatalog기반의 중앙 메타데이터 레이어를 추가했습니다. 이제 레거시 도구 이름(git,lsp,zip,project_rule등)은 canonical id로 정규화되어 런타임, 권한, 병렬 분류, 설정 화면이 같은 이름 체계를 사용합니다. -
설정 화면도 같은 카탈로그를 보도록 정리했습니다. Agent 설정/일반 설정의 도구 카드와 훅 편집기는 canonical 이름을 기준으로 표시하고 저장하며, 기존
disabledTools, 훅 대상 도구, 도구 권한 키는 호환 alias를 통해 자동 흡수합니다. -
스킬/헬프 설명도 현재 구조에 맞게 완화했습니다. 스킬은 기본 폴더와 추가 폴더를 함께 로드하는 흐름으로 설명을 갱신했고, 직접 호출 스킬과 런타임 정책 연결 스킬을 같이 보여주도록 문구를 다듬었습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_toolcat\\ -p:IntermediateOutputPath=obj\\verify_toolcat\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter AgentToolCatalogTests -p:OutputPath=bin\\verify_toolcat_tests\\ -p:IntermediateOutputPath=obj\\verify_toolcat_tests\\통과 8 -
업데이트: 2026-04-12 23:58 (KST)
-
Cowork 문서 생성이 단조로워지고 마지막 요약이 약해진 부분을 다시 보강했습니다. 문서 태스크 가이드에 반복적인 동일 패턴 섹션 작성을 피하고, 목적에 따라 요약/핵심 발견/비교표/타임라인/권고안/부록 같은 richer section pattern을 쓰도록 다시 유도했습니다.
-
Cowork 시스템 프롬프트도 같은 기준으로 조정했습니다. 새 문서 생성 시 filler paragraph 대신 bullets, tables, structured comparison을 적극적으로 쓰게 하고, 최종 응답에는 생성 후 점검 항목까지 포함한 구조화 요약을 남기도록 복원했습니다.
-
문서형 최종 보고는
simple에서도 출력 파일 경로와 핵심 섹션을 남기고,balanced/rich에서는 문서 유형, 출력 경로, 핵심 섹션, 분량/구성 규모, 생성 후 확인 사항까지 요약하도록 다시 강화했습니다. -
실행 프로필도 AX 품질 기준으로 일부 되돌렸습니다.
balanced,reasoning_first,document_heavy는 문서 검증 게이트와 최종 보고 재정리 게이트를 다시 활성화해, 컨텍스트 관리만기준 구조에 맞추고 품질 강제는 AX 쪽 기준을 유지하도록 조정했습니다. -
코드 탭도 같은 원칙으로 재정렬했습니다. 컨텍스트 압축/전송만
기준 구조기준으로 두고, 일반 코드 수정에도 post-tool verification과 구조화된 최종 보고를 다시 요구해 검증 품질과 변경 요약 밀도를 AX 원래 수준에 가깝게 복원했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-12 23:45 (KST)
-
기준 구조기준으로 남아 있던 provider/compact/UI 후속 차이를 더 줄였습니다. OpenAI 호환 도구 호출은 이제 모델 계열별 호환 프로파일을 적용해 Qwen·LLaMA·DeepSeek 같은 취약한 vLLM 계열에서 최근 structured tool history 범위를 더 좁히고, 병렬 tool call과 reasoning_effort도 더 보수적으로 전송합니다. -
tool forcing fallback도 보강했습니다. IBM 배포형뿐 아니라 일반 OpenAI 호환 경로에서도
tool_choice가 400으로 거부되면, plain text 지시를 덧붙인 대체 요청으로 한 번 더 재시도해채팅은 되지만 Cowork/Code만 막히는조합을 줄였습니다. -
compact 이후 query view에는 복원된 branch context와 최근 tool state까지 함께 다시 주입합니다. UI는 표현 수준(
rich/balanced/simple)에 맞춰 compact 카드와 컨텍스트 사용 팝업 밀도를 다르게 보여주고, 최종 보고 프롬프트도 같은 수준에 맞춰 더 짧거나 더 구조적으로 정리되도록 맞췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-10 14:30 (KST)
-
UI 프리징 근본 수정: 스트리밍 중 렌더링 쓰로틀(1.5초 최소 간격), 이중 RenderMessages 제거, 타이머 Stop→Start 무한 루프 차단, 불필요 타이머 4개 일시 정지, 타이머 간격 2-10배 증가(350ms→5s, 500ms→2s 등). 에이전트 이벤트 디스패처 우선순위를 Normal→Background로 하향.
-
모델 프로파일 도구 사용 버그 수정: Ollama 모델에
tool_choice: "required"미전달 버그 수정 —BuildOpenAiToolBody에서 Ollama 조기 리턴 전에tool_choice주입.FindRegisteredModel의 대소문자 민감 비교를OrdinalIgnoreCase로 변경하여 프로파일 매칭 실패 방지. -
트랜스크립트 UI 개선: "처리 중..." / "작업을 준비하는 중입니다..." 트랜스크립트 힌트를 제거하고 PulseDotBar로만 상태 표시하도록 정리했습니다. 완료 이벤트의 이모지 깨짐("?챗셝?콺듦") 수정 — 서로게이트 쌍(비-BMP 유니코드) 자동 제거.
-
PPT 기능 확장: 이미지 삽입(BlipFill+aspect ratio), 아이콘 라이브러리(170+ 유니코드/120+ OpenXML), 슬라이드 복제(전체/개별), 네이티브 차트(bar/line/pie ChartPart), theme_file 마스터 복제.
-
아이콘 공유: 새
IconLibrary.cs를 DOCX/XLSX/HTML 스킬에서 공유.{icon:name}인라인 구문 + 블록 아이콘 지원. -
마스코트 개선: 3배 크기(300px), NearestNeighbor 픽셀아트 렌더, 투명 배경, 좌우 이동 애니메이션 10종.
-
검증:
dotnet build경고 0 / 오류 0 -
업데이트: 2026-04-10 09:02 (KST)
-
기준 구조기준으로 Cowork/Code의 남은 차이를 더 줄였습니다. Cowork/Code 프롬프트의 텍스트-only 완료 조건을 완화해, 작업이 이미 끝났거나 충분한 근거가 있을 때는 불필요한 도구 호출을 더 강제하지 않도록 정리했습니다. -
에이전트 루프도 같이 손봤습니다. 텍스트-only 재시도는 이제 실제 산출물 생성이나 코드 수정처럼 구체적인 실행이 필요한 경우에만 다시 도구를 강제하고, 문서 생성 fallback도 같은 범위로 좁혔습니다.
-
Code 검증 게이트는
diff또는 최근 build/test 근거가 이미 있으면 추가 재검증을 덜 하도록 줄였고,folder_map은 기본 노출 우선순위에서 한 단계 내려 보조 탐색 도구로 배치했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-10 08:47 (KST)
-
계획 확인 UI를 AX Agent 테마에 맞춰 다시 정리했습니다. 채팅 안 승인 카드는
LauncherBackground/ItemBackground/BorderColor/AccentColor를 기준으로 표면, 버튼 모서리, 입력 패널 간격을 통일해 기본 컨트롤 느낌을 줄였습니다. -
플랜 뷰어 창의 하단 승인 영역도 같은 시각 언어로 손봤습니다. 승인 전 안내 카드를 추가하고, 수정 입력 패널은 테마 배경과 테두리를 쓰도록 바꿨으며, 액션 버튼 호버도
ItemHoverBackground중심으로 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-10 00:08 (KST)
-
기준 구조와 비교했을 때 AX에 남아 있던 계획 선행과 후속 권유 톤을 더 줄였습니다. 기본 Cowork/Code 루프 안에 남아 있던 plan prelude/승인용 죽은 코드를 제거해, 별도 계획 생성 단계를 끼우지 않고 바로 모델+도구 실행으로 들어갑니다. -
Code 최종 보고 재강제도 review 작업과 고영향 변경으로 좁혔습니다. 일반 수정은 변경 내용과 검증 근거가 충분하면 후속 계획이나 남은 리스크를 덧붙이도록 다시 유도하지 않고 마무리할 수 있습니다.
-
Cowork/Code 시스템 프롬프트도 같은 방향으로 정리했습니다. Cowork는 새 문서 생성 시
document_plan을 기본 선행 단계처럼 밀지 않고 필요할 때만 쓰게 했고, Code는 마지막 보고에서 미해결 사항이 있을 때만 리스크를 언급하게 바꿨습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-10 00:15 (KST)
-
Virtual DOM Diff 렌더 구현 완료: React reconciliation 방식의 키 기반 diff를 WPF에 적용. 렌더 체인이 StreamingAppend → Incremental → DiffRender → FullRender 4단계로 확장되어, prefix-match 실패 시에도 전체 재빌드 없이 변경분만 반영합니다.
-
검증:
dotnet build경고 0 / 오류 0 -
업데이트: 2026-04-09 23:02 (KST)
-
IBM/Qwen 후속 호환을 한 단계 더 보강했습니다. 이제 IBM 배포형 응답에서
generated_text,output_text,message.content,reasoning_content가 문자열뿐 아니라 배열/블록 형태로 와도 텍스트를 추출하고,content배열 안의tool_use/tool_call블록도 직접 읽어 도구 호출로 복구합니다. -
활성 도구 노출 순서도 다시 정리했습니다.
file_read/file_edit/glob/grep/lsp_code_intel/build_run/document_plan같은 기본 도구를 먼저 보여주고,document_review/format_convert/tool_search/code_search는 그 다음,mcp_*,spawn_agent,wait_agents,task_*는 더 뒤로 미뤄기준 구조처럼 기본 작업 도구가 먼저 선택되도록 했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-09 22:48 (KST)
-
기준 구조기준 후속 과제를 이어서 반영했습니다. IBM 배포형 vLLM/Qwen 경로에서는 과거tool_calls/role=tool이력을 그대로 재전송하지 않고,<tool_call>...</tool_call>중심의 평탄한 transcript로 직렬화해 엄격한 tool history 검사에 덜 걸리도록 전용 분기를 넣었습니다. -
Cowork 문서 생성 프롬프트는
document_review와format_convert를 상시 기본 단계처럼 밀지 않도록 다시 낮췄습니다. 이제 기본 검증은file_read/document_read중심이고,document_review는 큰 문서 품질 점검이나 명시적 요청일 때만 권장합니다. -
Code/Cowork 공통 런타임 복구 문구도 정리했습니다.
tool_search는 후보만으로 충분할 때는 바로 실제 도구를 고르도록 하고, 정말 모호할 때만 사용하게 바꿨습니다.spawn_agent도 기본 전면 노출 대신 병렬 조사가 실제로 도움이 될 때만 고려하도록 완화했습니다. -
Code의 의미 기반 탐색도 한 단계 더 보강했습니다. 정의/참조/구현/호출관계 질문은
lsp_code_intel을 더 앞에 두고, LSP 결과는 파일 수·대표 위치·첫 결과를 함께 요약해 다음 액션 판단에 바로 쓸 수 있게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-09 22:38 (KST)
-
Code 탭의 구조적 코드 읽기를
기준 구조에 더 가깝게 확장했습니다. AX에 이미 있던lsp_code_intel도구를goto_definition,find_references,hover,goto_implementation,workspace_symbols,prepare_call_hierarchy,incoming_calls,outgoing_calls까지 넓혀, 단순grep/file_read만이 아니라 정의/참조/호출관계를 입체적으로 볼 수 있게 했습니다. -
Code 프롬프트와 탐색 우선순위도 이에 맞춰 조정했습니다. 이제 특정 심볼의 정의, 참조, 구현, 호출자/피호출자를 볼 때는
lsp_code_intel을 우선 후보로 제시하고, 텍스트 검색이 더 적합한 경우에만grep/glob를 쓰도록 유도합니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-09 21:48 (KST)
-
Cowork/Code 생성 로직을
기준 구조기준으로 다시 정리했습니다. Cowork는 순수 문서 생성 요청이면glob/grep/document_read/folder_map로 먼저 새지 않고document_plan -> 생성 도구로 바로 가도록 프롬프트와 탐색 우선순위를 맞췄습니다. -
Code는 시작 흐름을 더 얇게 바꿨습니다.
targeted file_read또는grep/glob로 가장 작은 범위만 확인한 뒤 바로file_edit/file_write로 이어지고,build_run/test_loop와git_tool(diff)는 필요할 때 쓰는 방향으로 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-09 21:58 (KST)
-
Cowork/Code 기본 실행 정책을 더
기준 구조답게 완화했습니다.balanced,reasoning_first프로필에서 초기 도구 호출 강제와 post-tool 검증, 문서 검증 게이트를 기본 비활성화해 불필요한 재호출을 줄였습니다. -
Cowork는 문서 생성 완료 뒤 추가 검증 턴을 기본으로 붙이지 않고, 결과 파일이 만들어지면 바로 완료 경로로 빠지도록 정리했습니다. 문서 품질 확인은 가벼운 self-check 성격으로 프롬프트도 완화했습니다.
-
Code는 일반 수정의 완료 근거를
diff또는 최근 build/test 같은 가벼운 증거로도 인정하도록 바꿔, 고영향 수정이 아닐 때CodeQualityGate가 과하게 재발동하지 않게 했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-09 21:03 (KST)
-
핵심 엔진 계층도
기준 구조기준으로 더 정리했습니다. 스트리밍 도구 코디네이터는 재시도 전에 중간 스트림 상태를 끊는RetryReset이벤트를 보내도록 바꿔, 부분 응답이 누적된 채 다시 이어지는 현상을 줄였습니다. -
조기 실행 대상 읽기 도구는
file_read와document_read중심의 가벼운 도구로 다시 좁혔고,folder_map같은 구조 탐색 도구는 더 이상 엔진 레벨 prefetch 대상에 넣지 않도록 조정했습니다. -
Cowork/Code에서 최종 텍스트 응답이 비어 있을 때도 무조건 완료 문구를 합성하지 않고, 실행 이벤트 근거가 있을 때만 요약을 만들도록 보수적으로 바꿨습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-09 20:46 (KST)
-
AX Code 핵심 루프의 과한 검증 개입을 줄여
기준 구조에 더 가깝게 정리했습니다. 일반 코드 수정 뒤에는 즉시 별도 검증 루프를 다시 돌리지 않고, 고영향 수정일 때만 post-tool verification을 유지하도록 조정했습니다. -
Code 종료 게이트도 순서를 다듬어, diff/build/test 근거가 이미 있는 일반 수정은
CodeQualityGate를 과하게 반복하지 않게 했고FinalReportGate는 실제 검증 공백이 해소된 뒤에만 작동하도록 바꿨습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-09 20:29 (KST)
-
Cowork/Code 입력창에 파일명 후보 칩을 추가했습니다. 작업 폴더가 잡힌 상태에서 파일명 일부, 경로 조각, 확장자 힌트를 입력하면 관련 파일 후보를 바로 보여주고 클릭이나
Tab으로 삽입할 수 있어folder_map없이도 특정 파일 지정을 더 빠르게 시작할 수 있습니다. -
folder_map이0 files, 0 dirs를 반환했는데 실제로는 보이는 파일이 있는 경우를 자동 복구하도록 에이전트 루프를 보강했습니다. 이제 같은 경로에 대해folder_map을 반복하지 않고, 내부 fallback 스캔으로 후보 파일을 찾아glob -> file_read/document_read쪽으로 바로 재유도합니다. -
워크플로우 로그에는 마지막 도구 결과 이후 다음 LLM 호출까지의 대기 구간을
llm_wait_after_tool_result전이로 남기고,folder_map_empty_recovery복구 전이도 함께 기록합니다. 멈춤처럼 보이는 상황을 다음부터는 로그만 보고 더 빨리 구분할 수 있습니다. -
DocumentPlannerTool과 스킬 예시 가이드의 탐색 문구도 다시 정리해, 내부 계획/스킬 층까지glob/grep -> targeted read -> folder_map(필요 시만)기준으로 맞췄습니다. -
Code 루프에는 같은 경로 반복 접근 가드를 추가했습니다.
file_read/document_read/grep/glob가 동일 파일 또는 동일 프로젝트 경로를 연속으로 재확인하면 4회째부터는 그대로 읽지 않고, 호출부 탐색·git_tool(diff)·build_run/test_loop쪽으로 전환하라는 복구 메시지를 먼저 주입합니다. -
업데이트: 2026-04-09 01:33 (KST)
-
AX Agent transcript 호스트를
ObservableCollection<UIElement>직접 주입 구조에서TranscriptVisualItem + TranscriptVisualHost기반의 지연 materialization 구조로 올렸습니다.MessageList는 virtualization 설정을 유지한 채 필요한 시점에만 실제 버블 UI를 생성할 수 있는 기반을 갖습니다. -
StreamingToolExecutionCoordinator를IToolExecutionCoordinator인터페이스 뒤로 숨겨 Cowork/Code tool streaming executor를 루프 구현에서 구조적으로 분리했습니다. 이후 executor 교체, 테스트 더블 주입, 모델별 executor 분기를 더 쉽게 할 수 있는 상태입니다. -
AX Agent 라이브 진행 카드 렌더 책임을
ChatWindow.LiveProgressPresentation.cs로 이동해ChatWindow.xaml.cs의 오케스트레이션 밀도를 더 낮췄습니다. transcript/라이브 카드/루프 쪽 책임 분해가 한 단계 더 진행됐습니다. -
업데이트: 2026-04-07 09:19 (KST)
-
AX Agent 하단 상태바의 전체 토큰 집계가 유휴 전환 후 사라지지 않도록 conversation aggregate 복원 경로를 추가했습니다. 실행 중 누적 토큰이 0이어도 현재 대화 전체의 prompt/completion 합계를 다시 계산해 상태바에 유지합니다.
-
컨텍스트 사용량 팝업이 마지막 실제 압축 결과와 맞지 않던 문제를 수정했습니다. 이제 최근 압축의 실제 before/after 토큰과 자동/수동 여부, 누적 압축 횟수와 절감 토큰을 기준으로 표시합니다.
-
전체 통계(total_stats)이벤트가 일반 진행 줄에 흡수되던 문제를 수정했습니다. 다시 전용 통계 카드/배너 경로로 노출되어 하단 전체 집계와 transcript 요약이 서로 더 일치합니다. -
업데이트: 2026-04-07 02:23 (KST)
-
AX Agent 직접 대화(Chat 탭) 경로에 실제 스트리밍 응답 연결을 복구했습니다. LLM 서비스는 원래 SSE/스트리밍을 지원하고 있었지만 UI 실행 경로가 최종 문자열만 받아 한 번에 붙이던 상태였고, 이제 설정상 스트리밍이 켜져 있으면 채팅 응답이 타자 치듯 점진적으로 표시됩니다.
-
Cowork/Code는 기존처럼 agent loop 진행 메시지 중심을 유지하고, 직접 대화 재생성은 같은 스트리밍 경로를 공유하도록 정리했습니다.
-
업데이트: 2026-04-07 02:31 (KST)
-
Cowork/Code도 에이전트 루프가 끝난 뒤 최종 답변을 한 번에 붙이지 않고, 짧은 라이브 타이핑 프리뷰를 거친 다음 정식 메시지로 확정되도록 보강했습니다. 처리 중에는 진행 로그를 유지하고, 최종 응답 구간만 자연스럽게 이어지도록 정리했습니다.
-
업데이트: 2026-04-07 02:03 (KST)
-
Cowork 진행 표시가 오래 비거나 완료 후 실패처럼 깜박이던 흐름을 정리했습니다. 진행 힌트는 작업 시작 직후부터 즉시 보이게 하고, 중간 이벤트가 들어와도 불필요하게 사라지지 않도록 유지 로직을 조정했습니다.
-
프리셋/입력창/진행 카드에 남아 있던 깨진 한글을 복구했고, 내부 실행 게이트 문구도 정상 한국어로 정리해 Cowork 루프가 잘못된 안내 문구에 끌리지 않도록 보강했습니다.
-
중단 문구는 더 이상 무조건 사용자 취소처럼 보이지 않도록
작업이 중단되었습니다기준으로 통일했습니다. -
업데이트: 2026-04-06 20:05 (KST)
-
AX Agent 입력 영역의 토큰 사용량 원형 카드와 전송 버튼 테두리를 더 깔끔하게 정리했습니다. 토큰 카드는 내부 원 두께와 여백을 줄여 덜 답답하게 보이게 했고, 전송 버튼은 불필요한 외곽 테두리를 제거해 더 매끈한 원형 버튼처럼 보이도록 조정했습니다.
-
업데이트: 2026-04-06 19:56 (KST)
-
AX Agent 상단 탭의 세로 정렬을 미세 조정했습니다. 탭 버튼의 콘텐츠 정렬을 중앙 기준으로 다시 맞추고, 내부 패딩과 높이를 손봐 위아래 여백이 더 균형 있게 보이도록 보정했습니다.
-
업데이트: 2026-04-06 19:46 (KST)
-
AX Agent 테마 프리셋 명칭과 저장값 호환 규칙을 정리했습니다. 기존 저장값도 자동으로 새 프리셋 이름으로 읽히도록 하위 호환을 유지했습니다.
-
다크/라이트 팔레트의 배경, 보조 텍스트, 호버, 경계선 톤을 다시 조정해 프리셋별 시각 차이가 더 분명하게 느껴지도록 보정했습니다.
-
업데이트: 2026-04-06 19:33 (KST)
-
AX Agent 라이트 테마 계층을 다시 정리했습니다. 주요 라이트 팔레트의 배경, 선택 배경, 호버, 경계선, 보조 텍스트 톤을 더 따뜻하게 보정해 사이드바와 본문 위계가 자연스럽게 느껴지도록 조정했습니다.
-
업데이트: 2026-04-06 19:24 (KST)
-
런처 색인 진행 상태를 런처 하단 완료 문구 대신 설정창
인덱싱 속도아래에서 확인할 수 있게 바꿨습니다. 전체 색인 중에는 진행률 바와 상태/남은 시간 문구가 보이고, 완료 후에는 최근 색인 결과가 같은 위치에 남습니다. -
업데이트: 2026-04-06 15:31 (KST)
-
코워크/코드 하단 우측의 권한 요청 버튼은 footer 작업 바와 더 자연스럽게 이어지도록 외곽 테두리를 제거해 플랫한 형태로 정리했습니다.
-
업데이트: 2026-04-06 18:46 (KST)
-
런처 색인에서
.git,node_modules,bin,obj,dist,packages,venv,__pycache__,target같은 무거운 폴더를 스캔/감시 대상에서 제외해 유휴 CPU와 재색인 부담을 줄였습니다. -
런처 무지개 글로우 갱신 주기를 낮추고, AX Agent는 창 크기 변화 시 메시지 전체 재렌더를 짧게 묶어서 한 번만 반영하도록 바꿔 창 조작 시 버벅이는 느낌을 줄였습니다.
-
업데이트: 2026-04-06 19:02 (KST)
-
설정-테마의 글로우 관련 항목이 저장만 되고 열린 창에 바로 반영되지 않던 문제를 수정했습니다. 런처는 설정 변경 이벤트를 직접 받아 테두리/아이콘 애니메이션/무지개 글로우/선택 글로우를 즉시 다시 적용하고, AX Agent도 스트리밍 중 입력창 글로우 설정을 바로 반영합니다.
-
업데이트: 2026-04-06 19:11 (KST)
-
런처 색인 상태 문구가 오래 남던 문제를 수정했습니다. 파일 watcher의 증분 갱신은 더 이상
색인 완료이벤트를 다시 올리지 않고, 실제 전체 색인 완료 때만 런처 상태 문구가 갱신되도록 분리했습니다. -
업데이트: 2026-04-06 15:26 (KST)
-
AX Agent 채팅/코워크/코드 하단 안내 문구를 현재 구현 기준으로 다시 정리했습니다. 입력창 워터마크는 탭 종류와 작업 폴더 선택 여부에 따라 실제 가능한 작업을 더 정확히 안내합니다.
-
선택된 프리셋 안내도 placeholder 문구 대신 실제 설명 중심으로 정리해, 프리셋 설명 카드와 입력창 워터마크가 서로 다른 역할로 보이도록 맞췄습니다.
-
업데이트: 2026-04-06 15:18 (KST)
-
코워크/코드 하단 폴더 바에서 권한 선택 버튼 왼쪽에 보이던 세로 구분선(
|)을 제거해 footer 작업 바가 더 단순하게 이어지도록 정리했습니다. -
업데이트: 2026-04-06 15:12 (KST)
-
AX Agent 채팅/코워크/코드 공통 입력창 우측 상단의
프리셋선택 버튼을 제거해 composer 상단을 더 단순하게 정리했습니다. -
파일 첨부 버튼을 기존보다 약 1.5배 키우고, 전송 버튼도 같은 기준의 정사각 크기로 맞췄습니다. 두 버튼의 아이콘은 모두 상하좌우 중앙 정렬로 보정했습니다.
-
업데이트: 2026-04-06 15:04 (KST)
-
AX Agent 사용자 메시지 하단 메타 행 레이아웃을 정리해, 시간 표시와 복사/편집 액션 버튼이 같은 위치에 겹쳐 보이던 문제를 수정했습니다.
-
사용자 메시지 하단 바는 이제 전용 컬럼을 나눠 시간과 액션이 항상 분리되어 보이며, hover 상태와 무관하게 메타 행이 안정적으로 유지됩니다.
-
업데이트: 2026-04-06 09:27 (KST)
-
기준 구조와 AX Agent를 다시 대조해 남은 품질 향상 작업을 3트랙으로 재정리했습니다. 앞으로 계획은사용자 체감 UI/UX,LLM·작업 처리,유지보수·추가기능 구조로 분리해 관리합니다. -
docs/AX_AGENT_EXECUTION_IMPROVEMENT_PLAN.md에 각 트랙별 참조 파일, AX 적용 위치, 완료 조건, 품질 판정 기준, 권장 실행 순서를 고정했습니다. -
업데이트: 2026-04-06 09:14 (KST)
-
AX Agent 워크트리 선택 팝업과 공통 선택 row 렌더를
ChatWindow.SelectionPopupPresentation.cs로 분리했습니다. 작업 위치/워크트리 전환 메뉴와 선택 상태 row 조립이 메인 창 코드 밖으로 이동해 footer 선택 UX를 별도 파일에서 정리할 수 있게 됐습니다. -
ChatWindow.xaml.cs는 대화 상태와 세션 orchestration 쪽에 더 집중하도록 정리했고, 향후 브랜치/워크트리/선택형 팝업 UX를기준 구조기준으로 계속 다듬기 쉬운 구조를 만들었습니다. -
업데이트: 2026-04-06 09:03 (KST)
-
AX Agent 공통 선택 팝업 조립 로직을
ChatWindow.PopupPresentation.cs로 분리했습니다. 테마 팝업 컨테이너, 공통 메뉴 아이템, 구분선, 최근 폴더 우클릭 컨텍스트 메뉴가 메인 창 코드 밖으로 이동해 footer/file-browser 쪽 팝업 품질 작업을 이어가기 쉬운 구조로 정리했습니다. -
ChatWindow.xaml.cs는 대화 상태와 런타임 orchestration 쪽에 더 집중하도록 정리했고, 공통 팝업 시각 언어를 한 곳에서 다듬을 수 있는 기반을 만들었습니다. -
업데이트: 2026-04-06 08:55 (KST)
-
AX Agent 파일 브라우저 렌더를
ChatWindow.FileBrowserPresentation.cs로 분리했습니다. 파일 탐색기 열기/닫기, 폴더 트리 구성, 파일 헤더/아이콘/크기 표시, 우클릭 메뉴, 디바운스 새로고침 흐름이 메인 창 코드 밖으로 이동했습니다. -
ChatWindow.xaml.cs는 transcript·runtime orchestration 중심으로 더 정리됐고, 기준 구조 기준 사이드 surface 품질 작업을 이어가기 쉬운 구조로 맞췄습니다. -
업데이트: 2026-04-06 08:47 (KST)
-
AX Agent 우측 프리뷰 패널 렌더를
ChatWindow.PreviewPresentation.cs로 분리했습니다. 프리뷰 탭 목록, 헤더, 파일 로드, CSV/텍스트/마크다운/HTML 표시, 숨김/열기, 우클릭 메뉴, 별도 창 미리보기 흐름이 메인 창 코드 밖으로 이동했습니다. -
ChatWindow.xaml.cs는 transcript 및 런타임 orchestration 중심으로 더 정리됐고, 기준 구조 기준 preview surface 품질 작업을 이어가기 쉬운 구조로 맞췄습니다. -
업데이트: 2026-04-06 08:39 (KST)
-
AX Agent 하단 상태바 이벤트 처리와 회전 애니메이션을
ChatWindow.StatusPresentation.cs로 옮겼습니다.UpdateStatusBar,StartStatusAnimation,StopStatusAnimation이 상태 표현 파일로 이동해 메인 창 코드의 runtime/status 분기가 더 줄었습니다. -
ChatWindow.xaml.cs는 대화 실행 orchestration 중심으로 더 정리됐고, 기준 구조 기준 status line 정교화와 footer presentation 개선을 계속 이어가기 쉬운 구조로 맞췄습니다. -
업데이트: 2026-04-06 08:27 (KST)
-
AX Agent 메시지 액션/메타/편집 렌더를
ChatWindow.MessageInteractions.cs로 분리했습니다. 좋아요·싫어요 피드백 버튼, 응답 메타 텍스트, 메시지 등장 애니메이션, 사용자 메시지 편집·재생성 흐름이 메인 창 코드 밖으로 이동했습니다. -
ChatWindow.xaml.cs는 transcript 오케스트레이션과 상태 흐름에 더 집중하도록 정리했고, 기준 구조 기준 메시지 타입 분리와 renderer 구조화를 계속 진행하기 쉬운 기반을 만들었습니다. -
업데이트: 2026-04-06 08:28 (KST)
-
AX Agent 하단 composer와 대기열 UI 렌더를
ChatWindow.ComposerQueuePresentation.cs로 분리했습니다. 입력창 높이 계산, draft kind 해석, 후속 요청 큐 카드/요약 pill/배지/액션 버튼 생성 책임을 메인 창 코드에서 떼어냈습니다. -
ChatWindow.xaml.cs는 대기열 실행 orchestration과 세션 변경 흐름만 더 선명하게 남겨, 기준 구조 기준 입력부/queued command UX 개선을 계속하기 쉬운 구조로 정리했습니다. -
업데이트: 2026-04-06 08:12 (KST)
-
AX Agent 하단 작업 바 관련 presentation 메서드를 메인 창 코드에서 더 분리했습니다.
ChatWindow.FooterPresentation.cs를 추가해 폴더 바, 선택된 프리셋 안내, Git 브랜치 버튼/팝업 렌더, 요약 pill 생성 책임을 별도 partial로 옮겼습니다. -
ChatWindow.xaml.cs는 대화 흐름과 런타임 orchestration 중심으로 더 정리했고, 기준 구조 기준으로 footer/preset/Git popup 품질 작업을 계속 이어가기 쉬운 구조를 만들었습니다. -
업데이트: 2026-04-06 01:37 (KST)
-
AX Agent의 계획 승인 흐름을 더 transcript 우선 구조로 정리했습니다. 인라인 승인 카드가 기본 경로를 맡고,
계획버튼은 저장된 계획 요약/단계를 여는 상세 보기 역할만 하도록 분리했습니다. -
상태선과 quick strip 계산도 presentation state로 더 모았습니다. runtime badge, compact strip, quick strip의 텍스트/강조색/노출 여부를 한 번에 계산해 창 코드의 직접 분기를 줄였습니다.
-
업데이트: 2026-04-06 07:31 (KST)
-
ChatWindow.xaml.cs에 몰려 있던 권한 팝업 렌더와 컨텍스트 사용량 카드 렌더를 별도 partial 파일로 분리했습니다.ChatWindow.PermissionPresentation.cs,ChatWindow.ContextUsagePresentation.cs를 추가해 권한 선택/권한 상태 배너/컨텍스트 사용량 hover 카드 책임을 메인 창 orchestration 코드에서 떼어냈습니다. -
다음 단계에서
permission / tool-result / footerpresentation catalog를 더 세밀하게 확장하기 쉽게 구조를 정리했고, 동작은 그대로 유지한 채 transcript/푸터 품질 개선 발판을 마련했습니다. -
업데이트: 2026-04-06 00:50 (KST)
-
채팅/코워크 프리셋 카드의 hover 설명 레이어를 카드 내부 오버레이 방식에서 안정적인 tooltip형 설명으로 바꿨습니다. 카드 배경/테두리만 반응하게 정리해 hover 시 반복 깜빡임을 줄였습니다.
-
업데이트: 2026-04-06 00:45 (KST)
-
AX Agent 내부 설정 공통 탭에
대화 스타일섹션 제목을 복구해,문서 형태와디자인 스타일저장 항목이 명확히 보이도록 정리했습니다. -
AX Agent 내부 설정 스킬 탭의
MCP 서버영역에서버 추가버튼을 복원했고, 목록 카드 안에서활성화/비활성화와삭제까지 바로 관리할 수 있게 옮겼습니다. -
업데이트: 2026-04-05 19:04 (KST)
-
AX Agent transcript와 작업 요약에서 도구/스킬 이름을 사람이 읽기 쉬운 표시명으로 정리했습니다. raw snake_case 도구명 대신
파일 읽기,빌드/실행,Git,/bug-hunt같은 표시명 중심으로 보입니다. -
도구/스킬 이벤트 배지는 역할 중심(
도구,도구 결과,스킬)으로 단순화하고, 실제 도구명은 본문 보조 텍스트로만 노출되게 바꿨습니다. -
작업 요약 팝업의 권한/배경 작업 관측성 섹션은
debug성격일 때만 두껍게 보여서 기본 UX가 더기준 구조처럼 조용하게 유지됩니다. -
업데이트: 2026-04-05 18:58 (KST)
-
AX Agent의
의견 요청/질문흐름을 transcript 내 카드 우선 구조로 전환했습니다. -
user_ask도구는 별도UserAskDialog를 먼저 띄우지 않고, 본문 안에서 선택지/직접 입력/전달로 응답을 완료합니다. -
계획 승인과 사용자 질문이 같은 transcript-first UX 원칙을 따르도록 정리했습니다.
-
업데이트: 2026-04-05 22:04 (KST)
-
기준 구조와 AX Agent를 같은 기준으로 비교할 수 있도록 canonical prompt set 10종을 parity 문서에 고정했습니다. Chat 기본/장문, Cowork 문서/데이터, Code 수정/빌드, queue follow-up, post-compaction, permission 승인, slash skill 진입까지 핵심 회귀 흐름을 한 세트로 검증하도록 정리했습니다. -
도구/스킬 비교 기준도 parity 문서에 추가했습니다. AX는 문서/오피스/데이터/업무형 도구가 더 풍부하고,
기준 구조는 transcript-native tool/approval/permission 메시지 구조가 더 정교하다는 차이를 명시했습니다. -
계획 승인 UX는
기준 구조쪽 흐름에 더 가깝게 inline 우선으로 바꿨습니다. AX Agent는 이제 승인 요청 시PlanViewerWindow를 먼저 띄우지 않고 transcript 내부의 승인/수정/취소 버튼을 우선 보여주며, 계획 상세는 하단계획버튼으로만 여는 보조 경로를 사용합니다. -
업데이트: 2026-04-05 16:55 (KST)
-
기준 구조대비 AX Agent 추정 진척율 기준선을 문서에 남겼습니다. 현재 기준은 핵심 엔진82%, 채팅 메인 UI68%, Cowork/Code 상태 UX63%, 내부 설정 연결88%, 전체 AX Agent 동등 품질74%입니다. -
메인 핵심 엔진 로직에 직접 영향을 주는 설정은 최소화 원칙으로 다시 검토하기 시작했습니다. 이미 실질 선택지가 사라진
계획 모드계열은 사용자 노출을 더 줄였고, 남은 엔진성 설정은 개발자 탭 중심으로 계속 정리합니다. -
메시지 행과 좌측 대화 목록도
기준 구조방향으로 다시 단순화했습니다. 사용자/assistant 버블의 패딩, 라운드, 메타 텍스트를 줄였고, 대화 목록의 실행 상태도 배지 카드보다 얇은 텍스트 요약 중심으로 바꿔 읽는 축이 먼저 보이도록 눌렀습니다. -
검증 예정:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ -
업데이트: 2026-04-05 17:03 (KST)
-
AX Agent UI를
기준 구조쪽 시각 언어에 더 가깝게 맞추기 위해 레이아웃 골격을 다시 조정했습니다. 좌측 패널 폭과 헤더/액션 행 높이, 축소 아이콘 바, 상태 스트립, 메시지 축, 컴포저 폭과 코너 반경을 전반적으로 더 얇고 평평하게 정리했습니다. -
반응형 폭 계산도 새 골격에 맞춰 다시 조정했습니다. 메시지 축은 최대
880, 컴포저는 최대820기준으로 더 자연스럽게 줄어들도록 바꿔 창 크기가 변해도기준 구조처럼 중심선이 크게 흔들리지 않게 맞췄습니다. -
검증 예정:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ -
업데이트: 2026-04-05 17:12 (KST)
-
메시지 내부 액션 바와 Cowork/Code 실행 배너를 더
기준 구조처럼 보조 레이어로 낮췄습니다. 메시지 액션은 텍스트 버튼 대신 작은 아이콘 버튼 중심으로 바꾸고, 실행 배너는 여백·폰트·토큰 배지·파일 경로 표시를 한 단계 더 얇게 줄여 본문보다 덜 튀게 정리했습니다. -
검증 예정:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ -
업데이트: 2026-04-05 17:19 (KST)
-
상단 헤더와 탭 그룹, 좌측 대화 목록 행 메타를 더
기준 구조쪽 밀도로 조정했습니다. 상단 탭은 더 얇은 세그먼트형으로 줄였고, 사이드바 토글 버튼도 크기와 선 두께를 낮췄습니다. -
대화 목록은 실행 상태/요약 텍스트와 우측 편집 아이콘을 더 약하게 줄여 제목 중심으로 읽히게 정리했습니다.
-
검증 예정:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ -
업데이트: 2026-04-05 16:02 (KST)
-
document_plan후속 실행 분기를기준 구조기준으로 다시 보강했습니다. 이제 문서 플래너 출력에서 body 골격과 즉시 실행 지시를 깨진 문자열 비교에 의존하지 않고 안정적으로 추출해,html_create / document_assemble / docx_create / markdown_create후속 호출 유도가 실제로 이어집니다. -
코워크 문서형 작업은 설정이
planMode=off여도 내부적으로always플랜 경로를 타도록 보정했습니다. 그래서 문서/보고서/제안서 요청은 먼저 계획을 세우고, 그 계획을 바탕으로 실제 문서 생성 단계까지 이어가도록 정리했습니다. -
코워크 시스템 프롬프트도 강화해 문서 작업은 계획만 제시하고 끝내지 말고 실제 산출물 파일 경로까지 만들어야 완료로 판단하도록 바꿨습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 15:42 (KST)
-
AX Agent 엔진 공통화 1차로, Cowork/Code 실행 이벤트와 Agent run 기록을 탭별 현재 대화에 누적한 뒤 원래 활성 탭 대화를 복원하는 로직을
ChatWindow에서AxAgentExecutionEnginehelper로 옮겼습니다. -
이제 실행 이벤트/최근 run 기록 반영 시 창 코드가 직접 교차 탭 복원 경로를 중복 처리하지 않고, 엔진의 공통 세션 mutation 경로를 사용합니다.
-
업데이트: 2026-04-05 15:34 (KST)
-
AX Agent 개선 계획 기준을 이전 AX 비교본이 아니라 실제
기준 구조런타임 축으로 다시 고정했습니다. 현재 참조 spine은bootstrap/state.ts -> bridge/initReplBridge.ts -> bridge/sessionRunner.ts -> screens/REPL.tsx -> components/Messages.tsx -> components/StatusLine.tsx입니다. -
이에 맞춰 AX Agent 개선도
상태 정규화 -> 실행 준비 공통화 -> AgentLoop 이벤트 정규화 -> 타임라인 렌더 일원화 -> 컴포저/상태바 단순화 -> 복구/재개 검증순서로 진행하도록 parity 문서를 갱신했습니다. -
업데이트: 2026-04-05 11:22 (KST)
-
AX Agent 채팅 복구 1차로 컴포저를 하단 고정 배치로 조정해 세로 공간을 꽉 채우며 커 보이던 문제를 줄였습니다.
-
전송 직후 사용자 버블을 직접 UI에 꽂지 않고 대화 모델 기반
RenderMessages()재렌더를 먼저 타도록 정리해, 중복 렌더와 빈 버블 누적 가능성을 낮췄습니다. -
Cowork/Code의 실행 이벤트 배너는
실행 로그 표시를 켠 경우에만 즉시 채팅 본문에 보이도록 바꿔 작업 중 플래시처럼 남던 잔상 UI를 줄였습니다. -
Cowork/Code는 실행 시작 시 해당 대화의
실행 로그 표시를 먼저 끄도록 바꿔, 중간 재렌더가 들어와도 이벤트 배너가 다시 섞이지 않도록 조정했습니다. -
Chat 탭은 비스트리밍 응답 경로에 맞춰 임시 스트리밍 카드 자체를 만들지 않도록 바꿨습니다. 이제 Chat은 최종 assistant 메시지만 모델에 반영되고 재렌더됩니다.
-
Cowork/Code도 최종 응답형 경로에 맞춰 임시 스트리밍 카드를 만들지 않도록 정리했습니다. 이제 임시 빈 assistant 카드 없이 최종 응답만 대화 모델에 반영됩니다.
-
메인 설정 탭 가시성 로직에서도
AX Agent탭은 항상 숨기도록 고정해, 일반 설정과 AX Agent 내부 설정이 다시 갈라지지 않게 정리했습니다. -
AX Agent 채팅 전송 경로에서 빈 assistant 메시지를 먼저 대화 모델에 넣던 흐름을 제거했습니다. 이제 응답이 끝난 뒤 최종 assistant 메시지만 추가되어, 토큰은 갔는데 빈 말풍선만 남는 현상을 줄입니다.
-
메인 설정
TabControl에서 구형 AX Agent 탭이 선택되더라도 내부 설정 바로가기로 즉시 우회되도록 연결해, 숨김 탭 경로로 다시 들어가는 흐름을 막았습니다. -
메인 설정에만 남아 있던
Temperature도 AX Agent 내부 설정 오버레이에 추가했습니다. 이제 내부 설정에서 값 확인과 수정이 가능하며, 포커스가 빠지면 0.0~2.0 범위로 정규화해 저장됩니다. -
기준 구조의 입력 처리/실행 분리 흐름을 참고해 AX Agent 내부 실행 엔진AxAgentExecutionEngine을 추가했습니다. ChatWindow는 전송 메시지 조립과 최종 assistant 메시지 반영을 이 엔진으로 넘기기 시작했습니다. -
업데이트: 2026-04-05 07:11 (KST)
-
AX Agent 하단 바를 다시 정리해 코워크/코드 탭에서는 중복으로 보이던 보조 칩(
워크스페이스,파일,간략,로컬/워크트리묶음)이 더 이상 나타나지 않도록 정리했습니다. 작업 폴더 정보는 기존 폴더 경로 영역만 남기고, 노란 표시로 보이던 중복 보조 영역은 제거했습니다. -
데이터 미활용버튼은 외곽 테두리선 없이 보이도록 바꿔 하단 옵션 줄이 덜 부풀어 보이게 정리했습니다. -
업데이트: 2026-04-05 07:08 (KST)
-
AX Agent 체감 속도 개선을 위해 대화 메타 캐시를 보강했습니다. 대화 목록 메타를 다시 읽을 때마다 매번 전체 정렬을 반복하지 않도록 정렬 결과를 별도로 캐시해, 사이드바 대화 목록과 분류 계산이 잦은 흐름의 부담을 줄였습니다.
-
AX Agent 내부 설정/하단 옵션 반영 시 같은 값인데도 현재 대화 설정을 반복 저장하던 경로를 줄였습니다. 권한, 데이터 활용, 무드, 출력 형식이 실제로 바뀐 경우에만 대화 저장이 일어나도록 바꿔 작은 옵션 변경 때의 지연을 덜었습니다.
-
대화 검색창은 입력할 때마다 즉시 전체 목록을 다시 그리지 않고 짧게 디바운스되도록 조정해, 검색어를 빠르게 입력할 때의 버벅임을 줄였습니다.
-
업데이트: 2026-04-05 02:00 (KST)
-
AX Agent 내부 톱니 설정 오버레이의 왼쪽 분류 탭도 복구했던 기준에 맞춰
기본 / 채팅 / 코워크 / 코드 / 개발자 / 도구 / 스킬/차단구조로 다시 정리했습니다. 단순히 항목만 추가한 것이 아니라, 실제 오버레이 네비게이션 자체를 같은 분류 기준으로 바꾸고 각 탭에서 해당 설정군만 보이도록 다시 묶었습니다. -
업데이트: 2026-04-05 01:46 (KST)
-
AX Agent 안의 톱니 아이콘이 실제로 여는 대상이 별도 창이 아니라 채팅 내부 오버레이임을 다시 확인하고, 누락된 설정을 그 실제 오버레이로 옮겼습니다. 이제 AX Agent 내부 설정 오버레이의 고급 섹션에서
프로젝트 규칙 자동 반영,에이전트 메모리,최대 Agent Pass,Code용 Plan/Worktree/Team/Cron 도구항목을 직접 보고 저장할 수 있습니다. -
업데이트: 2026-04-05 01:40 (KST)
-
AX Agent 내부의 톱니 설정 창에 메인/오버레이 설정에 남아 있던 항목을 추가로 옮겼습니다. 이제 내부 설정에서 기본 출력 형식, 기본 디자인 무드, 프로젝트 규칙 자동 반영, 에이전트 메모리, 최대 Agent Pass, Code용 Plan/Worktree/Team/Cron 도구 토글까지 직접 보고 저장할 수 있습니다.
-
채팅 하단 입력부와 옵션 버튼의 과한 pill 형태도 다시 줄였습니다. 하단 옵션 버튼과 입력 박스의 코너 반경을 눌러 타원형 느낌보다 밀도 있는 업무형 형태에 가깝게 정리했습니다.
-
업데이트: 2026-04-05 01:35 (KST)
-
AX Agent 코워크 대화 목록 필터를 프로젝트(작업 폴더) 기준이 아니라 작업 유형 기준으로 다시 정리했습니다. 이제 코워크의 상단 빈 상태, 분류 드롭다운, 대화 목록 필터가 모두 프리셋/카테고리 기반 작업 유형 흐름에 맞춰 동작합니다.
-
코드 탭은 기존처럼 프로젝트(워크스페이스) 기준 필터를 유지해, 코워크와 코드가 각자 맞는 분류 기준을 사용하도록 분리했습니다.
-
업데이트: 2026-04-05 01:22 (KST)
-
AX Agent 내부 설정 창의
도구,스킬/차단탭에 숨겨져 있던 설정을 추가로 옮겼습니다. 이제 내부 설정에서 도구 노출 목록, 도구 훅, 스킬 폴더, 슬래시 팝업 개수, 드래그 앤 드롭 AI 액션, 폴백 모델, MCP 서버를 직접 확인하고 저장할 수 있습니다. -
채팅 하단 데이터 활용 옵션의 과한 타원형 pill 테두리는 둥근 사각형으로 정리해 하단 옵션 바가 덜 부풀어 보이도록 다듬었습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 01:15 (KST)
-
AX Agent 내부 설정 저장 경로를 다시 점검해, 저장 버튼 전에도 원본 설정 객체를 바로 바꾸던 흐름을 로컬 상태 기반으로 정리했습니다. 이제 서비스/테마/표현 수준 선택은 저장 버튼을 눌렀을 때만 실제 설정에 반영됩니다.
-
내부 설정 창에서 빠져 있던
vLLM TLS 우회, 활성 서비스별 모델 동기화, 전역 호환 모델 필드 저장도 다시 연결해 저장 후 재실행 시 값이 어긋나는 문제를 줄였습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 01:12 (KST)
-
AX Agent 내부 설정 창의 분류 기준을 이전 커밋 구조에 맞춰 다시 정리했습니다. 단순 섹션형이던 인앱 설정을
기본 / 채팅 / 코워크 / 코드 / 개발자 / 도구 / 스킬·차단흐름으로 되돌릴 수 있는 기반을 복구했고, 우선기본/채팅/코워크/코드/개발자/도구탭 전환과 핵심 저장 경로를 다시 연결했습니다. -
AX Agent 사용토글과표현 수준저장도 내부 설정 창에서 다시 관리되도록 연결했고, 설정 저장 시AiEnabled값이 강제로 다시 켜지던 정규화 경로도 함께 수정했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:58 (KST)
-
Agent Compare/AX Copilot의 개발 문서와 런처 소스를 대조해 AX Commander 신규 기능 묶음을 이식했습니다. 빠른 링크, 파일 태그, 알림 센터, 포모도로, 파일 브라우저, 핫키 관리, OCR, 세션/스케줄/매크로, Git/정규식/네트워크/압축/해시/SSH/UUID/JWT/QR 등 비교본에 있던 다수의 런처 핸들러를 현재 앱에 등록했습니다. -
런처 기능 이식에 맞춰 스케줄러/태그/알림 기록/아이콘 캐시/URL 템플릿 서비스와 편집용 보조 창, 설정 모델, 런처 위치 기억 설정, QR/OCR 빌드 의존성도 함께 반영했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:46 (KST)
-
트레이 아이콘 우클릭 메뉴 맨 위의 앱 이름/버전 헤더 글자색을 진한 회색으로 조정해, 본문 메뉴 항목보다 덜 튀면서도 더 또렷하게 보이도록 정리했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:52 (KST)
-
하단 composer 상태줄의 표시 문구를 더 통일해
서비스 ... · 모델 ...,데이터 ...,브랜치 ...처럼 같은 문법으로 읽히도록 정리했습니다. -
데이터 활용/권한 칩은 현재 상태 색에 맞는 테두리와 툴팁 설명을 같이 보여줘 상태 인지가 더 쉬워졌습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:43 (KST)
-
Cowork/Code 하단 바에
워크스페이스진입 칩을 공통으로 추가해, 작업 위치 전환을 파일/워크트리보다 먼저 찾을 수 있게 정리했습니다. -
워크스페이스 검색 패널 상단에는
현재 / 최근 / 전체요약 strip을 넣어 현재 선택과 탐색 범위를 한눈에 보이게 보강했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:34 (KST)
-
AX Agent 하단 컨텍스트 카드에 현재 서비스·모델 기준 오늘 사용량을 함께 표시하고, hover에는 현재 모델의 일반 사용량·compact 이후 사용량·오늘 상위 모델 사용량까지 보이도록 보강했습니다.
-
큰 수 토큰 집계는
K/M단위까지 같은 카드 안에서 일관되게 읽히도록 long 전용 포맷 경로를 추가했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:17 (KST)
-
AX Agent 루프도
기준 구조의 post-autocompact turn tracking 흐름을 참고해 compact 직후 턴을 별도 상태로 추적하도록 보강했습니다. 이제 compact 직후 첫 턴은 저노이즈 compact pill 중심으로 보이고, 불필요한LLM 요청 중류 Thinking 로그는 자동으로 줄입니다. -
개발자용 전체 통계에는 compact 직후 자동 축약된 Thinking 로그 건수도 함께 표시해, compact 이후 루프가 실제로 얼마나 조용해졌는지 바로 확인할 수 있게 했습니다.
-
compact 직후 첫 턴의
process/build_run/test_loop/git/http계열 도구 결과는 head/tail 중심의 post-compaction 요약으로 더 짧게 전달해, 압축 직후 문맥이 다시 길어지는 현상을 줄였습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-04 23:47 (KST)
-
AX Agent 컨텍스트 압축 경로에
session memory compact,microcompact,collapse/snip단계를 추가해 오래된 요약·실행 로그·도구 결과를 LLM 요약 전에 더 세밀하게 줄이도록 보강했습니다. -
현재 대화 기준 compact 누적 회수, 자동/수동 비중, 절감 토큰, session memory 적용 횟수, microcompact/snipped 메시지 수를 하단 컨텍스트 카드 hover에서 함께 확인할 수 있게 했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
compact 직후 첫 응답을 별도로 추적하는 post-compaction 흐름을 추가해, 압축 다음 턴의 응답 횟수와 사용 토큰을 현재 대화 기준으로 누적 집계하도록 보강했습니다.
-
AX Agent 하단 컨텍스트 카드 hover에는 이제
compact 후 첫 응답 대기 중,compact 이후 응답 수,compact 이후 사용 토큰까지 함께 표시됩니다. -
업데이트: 2026-04-05 00:01 (KST)
-
일별 사용 통계에
service:model기준 토큰 집계를 추가해 일반 사용량과 compact 이후 사용량을 모델 단위로 나눠 기록하도록 보강했습니다. -
microcompact_boundary,session_memory_compaction,collapsed_boundary메시지는 일반 AI 답변과 다른 전용 압축 카드로 렌더링하고, compact 관련 실행 로그는 얇은 compact pill로 분리해 노이즈를 줄였습니다. -
업데이트: 2026-04-04 23:32 (KST)
-
AX Agent 컨텍스트 압축 경로에
microcompact성격의 선행 경량 압축 단계를 추가해, 오래된 실행 로그·도구 결과·긴 메시지를 먼저 경계 요약으로 줄인 뒤 LLM 요약 단계로 넘기도록 보강했습니다. -
수동
/compact와 자동 압축이 같은ContextCondenser3단계 흐름(도구 결과 축약 → microcompact → 이전 대화 요약)을 사용하도록 정리해 긴 세션에서 불필요한 토큰 사용을 더 줄이기 시작했습니다. -
검증 예정:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ -
업데이트: 2026-04-04 23:14 (KST)
-
트레이 아이콘 우클릭 메뉴 상단에
AX Copilot v.0.7.3버전 헤더를 추가하고, 좌클릭 시에는 런처보다 AX Agent를 우선 열도록 정리했습니다. AI 기능이 꺼져 있을 때만 기존처럼 런처를 열도록 유지했습니다. -
Enter/전송 버튼/슬래시 명령의 DraftQueue kind 분류를 다시 정리해 일반 입력은
message, 슬래시 입력은command, 조정 입력은steering, 직접 실행 요청은direct로 더 자연스럽게 나뉘도록 보강했습니다. -
메인 설정 저장 완료 시 열려 있는 AX Agent 창이 테마/권한/데이터 활용/모델 라벨/하단 바를 즉시 다시 읽어오도록 fan-out 경로를 추가해 설정과 실제 실행 화면의 어긋남을 줄였습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0
주요 기능 (프리픽스 치트시트)
| 프리픽스 | 기능 | 예시 |
|---|---|---|
| (없음) | 앱·파일 퍼지 검색 + 앱 단축키 | vscode, 크롬, ㅅㄷ (초성) |
= |
계산기 — 수식 즉시 계산, Enter로 결과 복사 | = sqrt(16), = 2^10, = sin(30) |
/ |
시스템 명령 — 잠금·절전·재시작·종료 | /lock, /sleep, /shutdown |
; |
텍스트 스니펫 — 키워드로 저장된 텍스트 붙여넣기 | ;addr, ;sig |
# |
클립보드 히스토리 — 복사 이력 검색 & 재사용 | # hello, # |
@ |
URL 단축키 | @gh → GitHub 열기 |
~ |
폴더 단축키 | ~dl → Downloads 폴더 |
> |
명령 실행 / 배치 단축키 | >git status |
$ |
클립보드 텍스트 변환 (12종) | $json, $b64e, $upper, $ts |
! |
워크스페이스 저장·복원 | !save work, !restore work |
Alfred 대비 기능 현황
| 기능 | Alfred | AX Commander |
|---|---|---|
| 앱 퍼지 검색 | ✅ | ✅ |
| 한국어 초성 검색 | ❌ | ✅ |
| 파일 검색 | ✅ | ✅ (exe/lnk/bat/ps1) |
| 계산기 | ✅ | ✅ = 프리픽스 |
| 시스템 명령 | ✅ | ✅ / 프리픽스 (7가지) |
| 텍스트 스니펫 | ✅ | ✅ ; 프리픽스 + 변수 치환 |
| 클립보드 히스토리 | ✅ | ✅ # 프리픽스 |
| 클립보드 변환 | ❌ | ✅ $ 프리픽스 (12종) |
| URL 단축키 | ✅ | ✅ @ 프리픽스 |
| 폴더 단축키 | ✅ | ✅ ~ 프리픽스 |
| 터미널 명령 | ✅ | ✅ > 프리픽스 |
| 워크스페이스 관리 | ❌ | ✅ ! 프리픽스 |
| 플러그인 SDK | ✅ | ✅ (IActionHandler) |
| HTTP API 스킬 | ✅ | ✅ (.skill.json) |
| 테마 커스터마이징 | ❌ | ✅ (7종 프리셋 + 완전 커스텀) |
| 설정 UI | ✅ | ✅ (7탭 전체 GUI 설정) |
설치 및 빌드
요구 사항
- OS: Windows 10 20H2 이상 (Windows 11 권장)
- .NET: 8.0 Runtime (Self-contained 빌드 시 불필요)
빌드
# 소스 클론
git clone https://github.com/your/oledic.git
cd "oledic/AX Commander"
# 개발 실행
dotnet run --project src/AxCommander
# Release 단일 파일 빌드 (self-contained)
dotnet publish src/AxCommander -c Release -r win-x64 --self-contained
릴리즈 게이트 실행
릴리즈 전에는 아래 스크립트로 빌드/벤치마크/리플레이/전체 테스트를 일괄 검증합니다.
powershell -ExecutionPolicy Bypass -File .\scripts\release-gate.ps1
빠른 점검만 필요할 때는 전체 테스트를 생략할 수 있습니다.
powershell -ExecutionPolicy Bypass -File .\scripts\release-gate.ps1 -SkipFullTest
데이터 경로
| 용도 | 경로 |
|---|---|
| 설정 파일 | %APPDATA%\AxCommander\settings.json |
| 로그 | %APPDATA%\AxCommander\logs\app-YYYY-MM-DD.log |
| 스킬 파일 | %APPDATA%\AxCommander\skills\*.skill.json |
| 크래시 덤프 | %APPDATA%\AxCommander\crashes\ |
사용법
키보드 단축키
| 동작 | 단축키 |
|---|---|
| 런처 열기 / 닫기 | Alt+Space |
| 설정 열기 | Ctrl+, |
| 다음 항목 선택 | ↓ |
| 이전 항목 선택 | ↑ |
| 실행 | Enter |
| 자동완성 (선택 항목 제목 채우기) | Tab |
| 닫기 | Esc |
계산기 예시
= 1 + 2 * 3 → 7
= sqrt(144) → 12
= 2^10 → 1024
= sin(30) → 0.5 (도 단위)
= log(1000) → 3
= pi * 5^2 → 78.5398...
= 0xFF + 16 → 271
= round(3.14159, 2) → 3.14
스니펫 변수
스니펫 내용에서 아래 변수를 사용할 수 있습니다:
| 변수 | 치환 값 | 예시 |
|---|---|---|
{date} |
오늘 날짜 | 2026-03-23 |
{time} |
현재 시각 | 14:30:00 |
{datetime} |
날짜+시각 | 2026-03-23 14:30:00 |
{year} |
연도 | 2026 |
{month} |
월 (2자리) | 03 |
{day} |
일 (2자리) | 23 |
플러그인 개발
DLL 플러그인
AxCommander.SDK를 참조하여 IActionHandler 인터페이스를 구현합니다.
using AxCommander.SDK;
public class MyHandler : IActionHandler
{
public string? Prefix => "?"; // 트리거 프리픽스 (null이면 prefix 없는 핸들러)
public PluginMetadata Metadata => new("MyPlugin", "설명", Version: "1.0");
public async Task<IEnumerable<LauncherItem>> GetItemsAsync(string query, CancellationToken ct)
{
return [ new LauncherItem("제목", "부제목", null, myData, Symbol: "\uE721") ];
}
public Task ExecuteAsync(LauncherItem item, CancellationToken ct)
{
// item.Data로 전달한 데이터를 꺼내 실행 로직 작성
return Task.CompletedTask;
}
}
빌드한 DLL 경로를 settings.json의 plugins 배열에 추가:
{
"plugins": [
{ "path": "C:\\MyPlugins\\MyPlugin.dll", "enabled": true }
]
}
JSON 스킬 (코드 없이 HTTP API 연동)
%APPDATA%\AxCommander\skills\ 에 .skill.json 파일을 놓으면 됩니다.
{
"id": "github-search",
"name": "GitHub 검색",
"prefix": "@gh",
"credential": { "type": "bearer_token", "credentialKey": "github_token" },
"request": {
"method": "GET",
"url": "https://api.github.com/search/repositories?q={{INPUT}}&per_page=10"
},
"response": {
"resultsPath": "items",
"titleField": "full_name",
"subtitleField": "description",
"actionUrl": "html_url"
},
"cache": 30
}
테마
7가지 내장 테마와 완전 커스텀 테마를 지원합니다.
| 테마 | 특징 |
|---|---|
system |
Windows 다크/라이트 모드 자동 감지 |
dark |
딥 네이비 다크 (기본) |
light |
클린 화이트 라이트 |
oled |
순수 블랙 (OLED 절전) |
nord |
Arctic 컬러 팔레트 |
monokai |
Sublime Text 스타일 |
catppuccin |
Mocha 따뜻한 파스텔 |
sepia |
황갈색 아날로그 감성 |
custom |
14개 색상 완전 커스터마이징 |
설정 UI(Ctrl+, → 테마 탭)에서 클릭 한 번으로 즉시 미리보기 적용.
변경 이력
v0.7.3 — AX Agent 권한 코어 재구성 + 입력 계층 정리
업데이트: 2026-04-04 16:24 (KST)
| 분류 | 내용 |
|---|---|
| 권한 코어 재구성 | Default → AcceptEdits → Plan → BypassPermissions → DontAsk → Deny 체계로 정규화하고, 기존 Ask/Auto 값은 호환 alias로 유지 |
| 규칙 해석 순서 정리 | 권한 판정을 deny 규칙 → allow/override 규칙 → 글로벌 모드 → 기본 Ask 순서로 재구성 |
| 도구 권한 클래스 분리 | file_write/file_edit/file_manage와 process/build_run/test_loop/snippet_runner/spawn_agent 계열을 분리해 AcceptEdits와 Plan의 실제 동작 차이를 반영 |
| AX Agent 권한 UI 반영 | 권한 팝업, 상단 배너, slash 명령 결과가 새 권한 모드 의미를 표시하도록 정리 |
| AX Agent 설정창 복구 | AgentSettingsWindow의 깨진 한글 문자열을 정리하고 운영 모드, 계획 모드, 추론 강도, 폴더 데이터 활용 라벨을 현재 AX 표현 체계로 복구 |
| 권한 용어 통일 | 권한 팝업과 인라인 설정에서 계획 중심, 완전 자동, 질문 없이 진행 등 한국어 표기를 일관되게 사용하도록 정리 |
| 권한 UI·로직 결합 정리 | 기준 구조 권한 팝업 흐름에 맞춰 코어 4개(권한 요청/편집 자동 승인/계획 모드/권한 건너뛰기)를 기본 선택 순서로 정렬하고, 토글 순환도 동일 축으로 단순화 |
| 슬래시 팔레트 단순화 | / 팝업의 기본 선택을 첫 항목으로 바꾸고, 즐겨찾기 버튼/배지 UI를 제거해 아이콘+명령+설명 중심의 단순 리스트 탐색으로 정리 |
| 컴포저 패널 축소 | 하단 인라인 설정을 Fast/추론/계획/권한 중심으로 축소하고, 스킬/브라우저/MCP 버튼은 숨겨 입력 중심 UX로 정리 |
| 모델/프리셋 바 컴팩트화 | 입력창 상단 바를 더 촘촘한 크기로 정리하고, 긴 모델명은 자동 말줄임 처리해 레이아웃이 흔들리지 않도록 보강 |
| 좌측 패널 타이포 정돈 | 사이드바 헤더/메뉴/대화 리스트의 폰트 크기와 여백을 줄여 밀도를 맞추고, 대화 카드 제목·시간·상태 배지의 크기를 통일해 시인성을 개선 |
| 메시지 버블 정돈 | 사용자/어시스턴트 버블의 여백·폰트·타임스탬프·액션 버튼 크기를 줄이고 좌우 마진을 대칭화해 대화 로그 가독성과 정렬감을 개선 |
| 에이전트 이벤트 표시방식 정리 | 실행 배너의 과도한 펼침 UI를 제거하고 요약 길이를 제한해 한눈에 상태를 읽도록 단순화, 권한/계획/실행 라벨을 한국어 기준으로 통일 |
| 도구 결과 카드 단순화 | 파일 경로 배너를 파일명 + 디렉터리 2단 구조로 정리하고, 빠른 작업 버튼을 아이콘 전용(프리뷰/열기/폴더/복사)으로 축소해 시각적 복잡도를 낮춤 |
| 작업 요약 팝업 정돈 | 팝업 헤더/필터 밀도를 낮추고 전체·권한·대기·도구·서브·훅 중심으로 재정렬해 스크롤 시 탐색 피로를 줄임 |
| 권한 이력 카드 재구성 | 권한 카드/이력을 현재 모드·설명·기본/예외 + 시간·도구·결과 구조로 단순화하고, 권한 액션 버튼도 최신 용어(활용하지 않음/권한 요청/편집 자동 승인/계획 모드/권한 건너뛰기)로 통일 |
| 최근 실행 카드 압축 | 최근 에이전트 실행 카드에서 상세 로그/파일 나열과 분기 액션을 줄이고 요약+카운트+타임라인 중심으로 정리해 표시 밀도와 스캔 속도를 개선 |
| 작업 카드 버튼 스타일 통일 | 작업 요약/권한/훅/백그라운드 카드 버튼을 공통 생성 함수로 통일해 패딩·폰트·테두리·색상 톤을 일관화하고 카드 간 버튼 밀도 차이를 제거 |
| 카드 타이포 계층 정렬 | 작업/훅/백그라운드 카드의 제목·본문 글자 크기와 굵기를 통일하고 PrimaryText/SecondaryText 기반으로 대비를 맞춰 카드 간 시각 리듬을 정리 |
| 카드 아이콘 규칙 통일 | 작업 종류별 아이콘/색을 공통 매핑으로 통일하고, 작업·훅·백그라운드 카드 헤더에 아이콘을 배치해 상태 인지가 한눈에 되도록 정리 |
| 권한 팝업 선택 강조 개선 | 권한 모드 리스트에서 활성 항목에 배경/테두리/체크 아이콘을 적용하고 설명 줄간격·아이콘 정렬을 조정해 선택 상태와 읽기 흐름을 명확화 |
| 권한 예외/거부 영역 압축 | 권한 팝업의 도구별 예외와 최근 권한 거부 블록을 아이콘 헤더+간결 라벨 체계로 정리하고 버튼 명칭을 권한 용어(권한 요청/편집 자동 승인/활용하지 않음/예외 해제)로 통일 |
| 권한 팝업 섹션 접힘/펼침 | 기본 화면은 핵심 권한 모드만 노출하고 현재 권한 요약/도구별 예외/최근 권한 거부/고급 모드는 접힘 섹션으로 전환해 업무형 간결 흐름으로 정리 |
| 권한 팝업 섹션 상태 기억 | 접힘 섹션의 마지막 펼침 상태를 settings.dat에 저장해 팝업 재오픈 시 사용자 마지막 선택을 복원 |
| 슬래시 팔레트 그룹 상태 기억 | / 팔레트에 명령/스킬 접힘 헤더를 추가하고 마지막 펼침 상태를 저장해 재오픈 시 복원, Up/Down 이동도 펼쳐진 그룹 항목만 순회하도록 보정 |
| 슬래시 최근 사용 상단 고정 | / 팔레트의 명령/스킬 그룹 내부 항목을 최근 사용(MRU) 기준으로 상단 정렬하고 최근 배지를 표시, 선택 스크롤도 실제 렌더 항목 기준으로 정확히 보정 |
| 슬래시 핀 고정 결합 | / 팔레트 항목 우측에 핀 토글을 추가하고 정렬 우선순위를 핀 > 최근 > 이름으로 적용해 자주 쓰는 명령을 고정 유지 |
| AX Agent 기본 활성화 | ai_enabled 기본값을 활성화로 변경하고 설정 로드 정규화 단계에서 비활성 값이 들어와도 자동으로 활성화되도록 보정 |
| 업데이트 안내 메시지 제거 | 앱 시작 시 설정 마이그레이션 후 표시되던 설정 업데이트 메시지박스를 제거해 업데이트 설치 직후 팝업 노출을 중단 |
| 슬래시 핀/최근 개수 설정 연동 | AX Agent 설정창에서 슬래시 핀 최대 개수, 슬래시 최근 최대 개수를 조절할 수 있도록 추가하고 런타임(MRU/핀 정렬) 제한에 즉시 반영 |
| 슬래시 개수 설정 QA 완료 | 핀/최근 상한 적용 후 / 팔레트 정렬과 실행 경로를 회귀 점검하고 ChatWindowSlashPolicyTests 39개를 통과하여 동작 안정성을 확인 |
| 슬래시 퀵관리/권한 키보드 보강 | / 팔레트 헤더에 정리/전체 접기·펼치기를 추가하고, 권한 팝업에 Tab/Enter/Esc 중심 키보드 조작(항목 선택·섹션 토글·닫기)을 보강 |
| 슬래시/권한 접근성 완성도 보강 | / 팔레트에 모두 접힘 안내와 섹션 상태 라벨을 추가하고, 권한 팝업 오픈 시 첫 포커스 이동/Enter·Space 선택/ESC 닫기를 보강해 키보드 사용성을 개선 |
| 설정 즉시 반영 가시성 보강 | AX Agent 설정의 슬래시 핀/최근 상한 항목에 저장 후 즉시 반영 안내를 추가해 조작 결과를 명확히 인지하도록 정리 |
| 회귀 패키지 통과 | 전체 테스트 436개 통과로 슬래시/권한/설정 저장 경로 변경 후 회귀 안정성 확보 |
| 슬래시 탐색 입력 확장 | / 팝업에서 휠/방향키 외에 PageUp/PageDown/Home/End 이동을 추가하고 고해상도 휠 델타를 단계 이동으로 보정해 스크롤 사용성을 개선 |
| 모델 빠른설정 단일 라인 강화 | 입력창 상단 모델 버튼을 AX Agent 내부 빠른 설정 토글로 전환하고, 모델/프리셋 버튼 높이와 패딩을 정돈해 업무형 단일 라인 흐름에 맞춤 |
| UI 점검 체크리스트 추가 | 내부/사외 모드 포함 UI 회귀 점검 문서를 docs/UI_UX_CHECKLIST.md로 추가해 시나리오 기반 검증 기준을 명문화 |
| 권한 모드 표면 통일 | 권한 표시 명칭을 활용하지 않음/소극 활용/적극 활용/계획 중심/완전 자동/질문 없이 진행으로 통일하고 팝업 선택 순서를 동일 체계로 재정렬 |
| 권한 기본 동작/순환 보강 | Chat 탭 기본 권한을 활용하지 않음으로 적용하고, /sandbox-toggle 및 AX Agent 설정 권한 순환을 같은 순서(활용하지 않음→소극→적극→계획→완전 자동→질문 없이 진행)로 맞춤 |
| 운영 모드 회귀 점검 강화 | OperationModePolicyTests, OperationModeReadinessTests, LlmOperationModeTests 필터 테스트(18건)를 통과해 internal/external 차단·허용 경로를 재검증 |
| 권한 팝업 밀도 재정돈 | 권한 섹션 헤더/카드/행의 패딩·폰트·줄간격을 조정해 과밀 영역을 완화하고 업무형 스캔 속도에 맞춤 |
| 좌측/컴포저 라벨 정리 | 좌측 기본 카테고리 라벨을 주제 선택/작업 선택으로 통일하고, 입력 상단 바 패딩·간격을 미세 조정해 단일 라인 정돈 강화 |
| 체크리스트 실행 결과 기록 | docs/UI_UX_CHECKLIST.md에 2026-04-04 12:22 기준 점검 결과(운영모드 필터 18건 + 전체 436건 통과)를 기록 |
| 권한 상태 표시 간소화 | 권한 상태 텍스트(/permissions, /allowed-tools)를 운영 모드 포함 축약형으로 정리하고 권한 버튼 툴팁에 동일 정보를 반영 |
| 설정창 외부 진입 안정화 | AX Agent 설정창 오픈 시 리소스 병합 실패를 방어하고, 외부 진입 경로를 Dispatcher 기반으로 안정화 |
| 모델 라벨 반응형 보강 | 컴포저 상단 모델 라벨에 말줄임(MaxWidth + CharacterEllipsis)을 적용해 좁은 폭에서 레이아웃 깨짐을 방지 |
| 슬래시 탐색 순서 정합화 | / 팝업의 방향키/휠/Home/End 이동 기준을 렌더 순서(핀/최근 정렬 적용 순서)로 통일해 스크롤·선택 체감 불일치를 해소 |
| 권한 요청창 한국어/인코딩 복구 | PermissionRequestWindow의 깨진 문자열을 복구하고 권한 선택/위험도/미리보기 문구를 한국어 기준으로 정리 |
| slash 명령 카탈로그 분리 | ChatWindow 내부 대형 slash 사전을 SlashCommandCatalog로 분리해 입력 계층 결합도를 낮추고 유지보수 범위를 축소 |
| slash 조회 API 전환 | 내장 slash 매칭/조회 경로를 SlashCommandCatalog.MatchBuiltinCommands/TryGetEntry로 통일 |
| 권한 표시 카탈로그 분리 | 권한 모드 라벨/설명/아이콘/색을 PermissionModePresentationCatalog로 분리해 팝업 표면 기준을 단일화 |
| 탭별 설정 해석기 도입 | AgentTabSettingsResolver를 추가해 Cowork/Code 분기(검증 활성/Code 전용 도구 비활성)를 단일 경로로 정리 |
| L4 통합 회귀 보강 | PermissionModeCatalogTests/PermissionModePresentationCatalogTests/SlashCommandCatalogTests를 추가하고 deny 우선 규칙을 OperationModePolicyTests에 반영해 권한·슬래시 회귀망을 강화 |
| 권한 팝업 핵심 4모드 정렬 | 권한 팝업을 소극 활용/적극 활용/계획 중심/완전 자동 중심으로 단순화하고 활용하지 않음/질문 없이 진행은 고급 모드 접힘 섹션으로 분리 |
| slash 스크롤 체감 개선 | 휠/방향키 이동 시 전체 재렌더링을 제거하고 선택 하이라이트만 갱신하도록 바꿔 / 팝업 스크롤 반응성과 안정성을 개선 |
| slash 팝업 밀도 압축 2단계 | / 팝업 폭/높이/패딩과 항목 폰트/행 높이를 축소해 Codex형 컴팩트 밀도와 스캔 속도를 강화 |
| 권한 팝업 밀도 압축 2단계 | 권한 팝업의 섹션/요약/예외/거부 카드와 권한 행 타이포를 압축해 슬래시 팝업과 동일한 컴팩트 리듬으로 정렬 |
| 입력 하단/모델 선택 컴팩트 정렬 | 입력 박스·모델 선택 버튼·인라인 설정 패널·전송 버튼 크기를 축소해 Codex형 컴포저 밀도로 정렬 |
| 로직 안정화 회귀 보강 | ContextCondenserTests와 LlmRuntimeOverrideTests를 보강해 compact 실동작과 vLLM 암호화 API키/SSL 우회 해석 규칙을 회귀 검증 |
| 권한 패턴 구문 호환성 보강 | 권한 규칙 파서를 tool@pattern 외 `tool |
| 권한 모드 별칭 정합 보강 | /permissions, /allowed-tools에서 none/passive/active/planning/fullauto/silent 별칭을 지원하고 카탈로그 정규화와 일치시킴 |
| 권한 기본값 정책 정렬 | 신규/초기 상태의 기본 권한을 활용하지 않음(Deny)으로 변경하고 AppState 기본/요약 상태와 slash 사용 가이드를 동일 체계로 정렬 |
| 탭 전환 빈 대화 누적 방지 | 탭 전환 중 생성되는 무의미한 빈 대화를 저장 대상에서 제외하고, 목록에서도 빈 노이즈 항목을 숨겨 이력 누적 체감 버그를 완화 |
| 권한 팝업 즉시반영 정렬 | 권한 팝업에 활용하지 않음을 핵심 영역 맨 위에 배치하고, 대화 권한이 없을 때도 탭 기본값(Deny/DefaultAgentPermission)을 즉시 반영하도록 로딩 경로를 보강 |
| 권한 색상 체계 통일 | 권한 요약 카드/상단 배너에서 모드별 색상(Deny=녹색, Passive=파랑, Active=녹색, Plan=보라, FullAuto=주황, Silent=빨강)을 팝업 체계와 일치시킴 |
| 슬래시 네비게이션 입력 보강 | InputBox 포커스 상태에서도 방향키/Page/Home/End/Tab이 슬래시 목록 탐색에 즉시 반영되도록 키 처리 경로를 통합하고, 모든 그룹 접힘 상태에서 휠 스크롤 fallback을 추가 |
| 사내/사외 모드 회귀 보강 | operationMode 전환 직후 WebSearch 동작 반영과 URL 판별 경계(HTTP/파일/mailto) 테스트를 추가해 내부 차단 정책의 즉시성/정확성을 강화 |
| AX Agent 설정창 오픈 안정화 | ToggleSwitch를 전역 리소스로 승격해 AX Agent 창 초기화 시 리소스 누락 예외를 방지하고, AX Agent 설정창에는 테마 사전만 안전 주입하도록 오픈 경로를 보강 |
| 권한 순환/슬래시 스크롤 체감 보강 | 기준 구조 기준으로 권한 순환에서 고위험 질문 없이 진행을 기본 순환에서 분리하고, / 팝업 휠 스크롤 시 뷰포트 기준 선택 동기화를 추가해 스크롤 사용성을 개선 |
| 권한 팝업 상세영역 단순화 | 권한 팝업의 요약/예외/최근거부를 개별 섹션에서 단일 상세 정보 섹션으로 통합해 기본 화면 밀도를 낮추고 핵심 모드 선택 흐름을 우선화 |
| 권한 팝업 밀도/정렬 미세조정 | 권한 행의 패딩·폰트·아이콘·체크마크 간격을 컴팩트하게 재정렬하고 요약 카드 타이포를 축소해 기준 구조 스타일의 빠른 스캔 밀도를 강화 |
| Slash palette 상태 분리 시작 | ChatWindow에 몰려 있던 slash 상태를 SlashPaletteState로 분리해 이후 업무형 composer 개편 기반 마련 |
| 런처 이미지 미리보기 추가 | # 클립보드 이미지 항목에서 Shift+Enter로 전용 미리보기 창을 열고, 줌·원본 해상도 확인·PNG/JPEG/BMP 저장·클립보드 복사를 지원 |
| AX Agent 모델 선택 단순화 | AX Agent 서비스 설정에서 내부 서비스 모델 선택을 등록 모델 칩 중심으로 고정하고, 채팅 오버레이/보조 설정창의 숨은 모델 텍스트 입력 의존을 제거 |
| vLLM SSL 위치 정리 | 전역 서비스 설정/채팅 오버레이에서 vLLM SSL 우회 노출을 걷어내고, 모델 등록/편집 다이얼로그에서만 모델별로 설정하도록 정리 |
| 검증 | dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ 경고 0 / 오류 0 |
| 검증 | dotnet build 경고 0 / 오류 0, dotnet test 436 passed / 0 failed |
자세한 내용은 docs/DEVELOPMENT.md의 v0.7.3 항목을 참고하세요.
최근 추가 작업
-
업데이트: 2026-04-04 23:57 (KST)
-
Git 브랜치 패널 상단에 검색 입력을 추가해 많은 브랜치도 바로 필터링하고 전환할 수 있게 했습니다.
-
브랜치 전환 섹션은 검색 중 표시 수 / 전체 수를 함께 보여주도록 보강했습니다.
-
업데이트: 2026-04-04 23:49 (KST)
-
AX Agent 서비스/권한 탭의 주요 선택 항목을 기본 ComboBox 대신 카드형 라디오 선택으로 바꿔 같은 선택 언어로 통일했습니다.
-
워크스페이스 패널은 최근/전체 섹션 개수와 현재 선택 강조를 추가해 현재 위치를 더 바로 읽을 수 있게 했습니다.
-
업데이트: 2026-04-04 23:41 (KST)
-
Chat/Cowork/Code 빈 화면의 세로 기준점을 통일하고, 설명 블록과 프리셋 카드 영역 시작 위치가 같은 리듬으로 보이도록 정리했습니다.
-
프리셋 카드/기타/추가 카드의 외곽 마진과 내부 패딩을 맞춰 중앙 정렬 상태에서도 행 간격이 더 균일하게 보이도록 보정했습니다.
-
업데이트: 2026-04-04 23:33 (KST)
-
AX Agent 공통 설정에 표현 수준을 직접 조정하는 행을 추가하고, 저장된 표현 수준이 설정 창에서 그대로 유지되도록 초기화 경로를 바로잡았습니다.
-
Code 탭 하단 바는 로컬 / 브랜치 / 워크트리 흐름을 우선으로 재정리하고, Code 전용 파일/로그 버튼은 제거해 더 단순한 작업 전환 구조로 맞췄습니다.
-
업데이트: 2026-04-04 23:20 (KST)
-
AX Agent 설정의 고급/서비스/권한 행 간격을 더 넓히고, 서비스 탭과 권한 탭의 주요 설정 행을 같은 ow + toggle 시각 언어로 통일했습니다.
-
워크스페이스 선택 팝업은 제목 + 검색 + 내부 스크롤 구조를 가진 검색 가능한 프로젝트 선택 패널로 다듬었습니다.
-
업데이트: 2026-04-04 23:08 (KST)
-
설정 서브탭 외곽선을 제거하고 배경 강조 중심의 더 얇은 탭 정렬로 정리했습니다.
-
Cowork/Code 상단 필터와 좌측 메뉴를 워크스페이스 목록 기반으로 전환했습니다.
-
사이드바 검색을 평시 액션 행 + 인라인 확장 검색 흐름으로 바꾸고, Ctrl+K 단축키를 연결했습니다.
-
좌측 대화 목록을 오늘 / 어제 / 이전 날짜 그룹으로 정리했습니다.
-
AX Agent 고급 설정의 켜기/끄기 버튼을 단일 토글 스위치로 교체했습니다.
-
좌측 상단 액션 줄은 새 대화 / 검색의 같은 리스트형 행으로 통일하고 예약됨/Dispatch 성격의 항목은 노출하지 않도록 정리했습니다.
-
워크스페이스 선택 팝업은 검색 가능한 패널형으로 재구성했습니다.
-
Code 탭 하단 바는 언어 선택 대신 로컬 / 워크트리 중심 흐름으로 바꾸고, Git 저장소에서는
git worktree add, 일반 폴더에서는 복사본 워크스페이스 전환을 지원하도록 연결했습니다. -
메인 설정에 남아 있던
AI 기능 활성화,운영 모드,자동 모델 라우팅성격의 AX Agent 관련 항목은 AX Agent 탭 중심으로 재배치하고, 일반/기능 탭의 중복 노출을 숨겨 설정 통합 흐름을 정리했습니다. -
AX Agent 서브탭은
공통 / 서비스 / 권한 / 고급4개 중심으로 단순화하고, 공통 패널 내부를 기본 상태/서비스/공통 런타임 묶음으로 나눠 같은 시각 언어와 간격으로 다시 정리했습니다. -
기능 탭의 과한 AI 표현은
텍스트/파일,선택 텍스트 명령,코드 리뷰등 사용자 기준 문구로 낮췄습니다. -
워크스페이스 선택 패널은
최근 워크스페이스 / 전체 워크스페이스섹션형으로 재구성했고, Code 하단 브랜치 선택 패널도 worktree 메뉴와 같은 설명형 row 언어로 통일했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-04 23:59 (KST)
-
AX Agent 공통 탭의 운영 모드, 최대 컨텍스트 토큰, 대화 보관 기간 선택을 카드형/칩형 선택으로 교체해 공통/서비스/권한/고급 전 영역의 선택 언어를 더 강하게 통일했습니다.
-
AX Agent 고급 탭의 실행 이력 상세도도 간략/상세/디버그 카드형 선택으로 전환해 남아 있던 기본 WPF ComboBox 흔적을 줄였습니다.
-
Git 브랜치 패널에는 최근 전환 브랜치 섹션을 추가해 자주 오가는 브랜치를 검색 전에 바로 전환할 수 있게 보강했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:10 (KST)
-
Enter 입력을 기본 DraftQueue 경로로 승격하고, Ctrl+Enter/전송 버튼/초기 전송/재실행/후속 작업도 같은 큐 흐름을 타도록 정리했습니다.
-
DraftQueue는 메시지/명령/직접 실행/후속 작업/조정 kind를 보존하도록 확장했고, Code 탭 작업 위치 패널은 워크트리/복사본 전환 흐름 중심으로 재구성했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:28 (KST)
-
DraftQueue 카드를 실행 대기/최근 결과 섹션형으로 재구성하고, 상태·우선순위·종류 배지와 아이콘을 추가해 큐 상태를 더 빠르게 파악할 수 있게 했습니다.
-
워크스페이스/브랜치/워크트리 패널은 같은 Popup row 규칙으로 맞추고, composer 최대 폭 확장과 하단 칩형 상태줄 정리로 Code/Cowork 하단 리듬을 더 가볍게 다듬었습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 00:38 (KST)
-
DraftQueue 패널 상단에 실행 중 / 다음 / 보류 / 완료 / 실패 요약 pill을 추가하고, composer 상단의 모델/컨텍스트/프리셋 줄도 더 낮고 평평한 밀도로 정리했습니다.
-
브랜치/워크트리 패널에는 공통 요약 strip을 추가해 현재 상태를 같은 시각 언어로 보여주도록 맞췄고, 저장소 루트
.gitignore에는 빌드 산출물·IDE 파일·OS 잡파일·비밀정보 패턴을 추가했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 07:17 (KST)
-
별도
AX Agent 설정창과 AX Agent 내부 설정 오버레이에서AX Agent 사용항목을 숨겨, 작업 중 자주 쓰지 않는 전역 AI 사용 토글이 설정 메뉴를 차지하지 않도록 정리했습니다. -
별도
AX Agent 설정창에서는표현 수준선택 카드도 함께 숨겨 기본 탭 상단을 더 단순하게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 07:24 (KST)
-
설정 > AX Agent에만 남아 있던 스킬 목록을 별도AX Agent 설정창 안스킬/차단탭으로 복구해, 현재 로드된 슬래시 스킬을 내장/고급 그룹으로 다시 확인할 수 있게 했습니다. -
별도
AX Agent 설정창은 저장 시 스킬 폴더 기준으로 다시 로드해 목록이 바로 갱신되도록 연결했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-04 23:23 (KST)
-
AX Agent는 이제 설정 서비스 변경 이벤트를 직접 구독해 메인 설정, AX Agent 설정, 저장 경로와 관계없이 테마/권한/데이터 활용/모델 라벨/composer/대기열 UI를 즉시 다시 읽어오도록 fan-out 경로를 통합했습니다.
-
AX Agent 설정 저장 경로에서 표현 수준을
rich로 고정 덮어쓰던 처리도 제거해, 사용자가 선택한풍부하게 / 적절하게 / 간단하게값이 다른 설정 저장 흐름에서도 유지되도록 보정했습니다. -
DraftQueue 패널은 실행 중 / 다음 작업 / 보류 / 완료 / 실패를 개별 섹션으로 나눠 현재 실행 상태와 최근 결과를 더 빠르게 파악할 수 있도록 재구성했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-04 23:28 (KST)
-
AX Agent 하단 컨텍스트 카드 툴팁에 최근 압축 이력을 추가해 마지막 자동/수동 compact 시각, 압축 전후 토큰, 실제 절감량을 다시 확인할 수 있게 했습니다.
-
수동
/compact실행과 전송 전 자동 컨텍스트 압축 모두 같은 compaction 통계 경로를 타도록 맞춰, compact 결과를 일회성 토스트가 아니라 이후 UI에서도 계속 확인할 수 있도록 보강했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 07:39 (KST)
-
Agent Compare의 트레이 메뉴 경로와 현재 구현을 대조해, 우클릭 메뉴가 열릴 때마다Show + UpdateLayout로 창 크기를 다시 확정하던 흐름을 제거하고 메뉴 크기 측정값을 캐시하도록 바꿨습니다. -
앱 유휴 시점에 트레이 메뉴를 미리 측정해 첫 우클릭에서 초기 레이아웃 비용이 몰리지 않도록 조정했고, AI 항목 가시성처럼 열기 직전 바뀌는 항목만 크기 캐시를 다시 계산하도록 정리했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 07:45 (KST)
-
AX Agent 내부 설정 오버레이의
뒤로가기버튼을 오른쪽 본문 헤더에서 제거하고, 왼쪽 설정 제목 영역에 화살표와 함께 합쳐 배치해 설정 패널 접기/닫기와 혼동되지 않도록 정리했습니다. -
본문 스크롤 영역은 헤더 빈 줄 없이 바로 시작하도록 올려, 설정 화면 진입 시 첫 섹션이 더 자연스럽게 이어지도록 조정했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 07:49 (KST)
-
AX Agent 상단 좌측의 사이드바 접기 버튼을 기존 큰 아이콘형 고스트 버튼에서, Claude 계열처럼 작은 라운드 사각 안에 3줄 메뉴가 들어간 얇은 토글 버튼으로 바꿨습니다.
-
열림/닫힘 상태에서 글리프를 바꾸던 예전 처리도 제거해, 상단 바가 덜 요란하고 더 안정적인 작업형 헤더로 보이도록 정리했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 07:54 (KST)
-
Chat 빈 화면의 상단 아이콘이 탭 메뉴 바와 가까워 보이던 배치를 내려, 빈 상태 헤더가 상단 메뉴와 겹쳐 보이지 않도록 여백을 조정했습니다.
-
Chat 탭에서는 하단의 컨텍스트/압축 카드가 보이지 않도록 분기해, 토큰 압축 UI는 Cowork/Code에서만 유지되게 정리했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:00 (KST)
-
런처 하단에 남아 있던 색인 상태 문구를 점검한 결과, 인덱스 상태 표시와 토스트 오버레이가 같은 타이머를 공유해 자동 숨김이 꼬일 수 있는 구조를 확인했습니다.
-
LauncherWindow.xaml.cs 에서 토스트 타이머와 인덱스 상태 타이머를 분리하고, 인덱스 재구축 시작/완료 문구를 공통
ShowIndexStatus(...)경로로 묶어 일정 시간 뒤 확실히 사라지도록 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:06 (KST)
-
AX Agent 내부 설정 오버레이에서
Fast,의사결정 수준,실행 전 계획,권한 모드,기본 출력 형식,테마 스타일,운영 모드,폴더 데이터 활용처럼 글자가 순환하던 버튼을 커스텀 콤보박스로 교체했습니다. -
ChatWindow.xaml에 오버레이 전용
OverlayComboBox스타일과 각 항목용 콤보를 넣고, ChatWindow.xaml.cs 에서는 선택 변경 시 기존 저장 흐름을 그대로 타도록 전용 핸들러를 연결했습니다. -
운영 모드처럼 보호가 필요한 항목은 콤보박스로 바뀐 뒤에도 기존 비밀번호 확인을 유지했고, 나머지 항목은 선택 즉시 AX Agent 내부 설정에 반영되도록 정리했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:15 (KST)
-
별도
AX Agent 설정화면에서AX Agent 사용,표현 수준항목은 다시 보이지 않도록 정리했고, 내부 저장값은AI 사용 = 활성,표현 수준 = 풍부하게로 고정되게 보정했습니다. -
AgentSettingsWindow.xaml, AgentSettingsWindow.xaml.cs 에서 해당 행을 숨기고 저장 시 강제로 켜진 상태와
rich값을 유지하도록 맞췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:14 (KST)
-
배포용 build.bat을 루트 절대 경로 기준으로 다시 작성해, 작업 폴더에 따라
dist,payload.zip, 인스톨러 복사 경로가 꼬이던 문제를 막았습니다. -
스크립트는 이제
main app publish -> optional obfuscation check -> AxKeyEncryptor publish -> payload.zip 생성 -> installer build -> dist 정리순서로 고정 동작하고, 외부 난독화 도구가 없으면보호 미적용경고를 명확히 출력합니다. -
현재 레포에는 실제 난독화 도구 설정이 없어서, 배포본 보호 수준은
PDB/XML/debug metadata 제거까지이며 진짜 디컴파일 방지는 아직 미구성 상태임을 확인했습니다. -
검증:
cmd /c build.bat실행 기준 메인 앱 publish, 인스톨러 빌드,dist\AxCopilot_Setup.exe복사까지 정상 완료 -
업데이트: 2026-04-05 07:59 (KST)
-
설정 > AX Agent > 공통에서 계속 남아 있던AX Agent 사용,표현 수준행을 실제 메인 설정창 기준으로 다시 숨겼고, 표현 수준 값은 런타임 정규화와 설정 초기화 양쪽에서풍부하게(rich)로 고정되도록 보정했습니다. -
설정 > 기능 > 응답 설정을 포함한?도움말 툴팁은 라이트 테마에서도 글자가 사라지지 않도록HelpTooltipStyle배경을 고대비 다크 톤으로 바꾸고 텍스트 전경색을 흰색으로 강제했습니다. -
Agent Compare와 비교해 빠져 있던 런처마지막 위치 기억설정을 복구하고, AX Commander가 숨겨질 때 마지막 좌표를 저장한 뒤 다음 표시 때 같은 위치를 복원하도록 연결했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ -
업데이트: 2026-04-05 08:02 (KST)
-
AX Agent가 열리자마자 죽던 원인을 앱 로그로 확인했고,
ChatWindow가HelpTooltipStyle을 찾지 못해XamlParseException이 발생하고 있었습니다. -
App.xaml에
HelpTooltipStyle을 전역 리소스로 올려, AX Agent/설정/내부 오버레이가 모두 같은 도움말 툴팁 스타일을 공통으로 찾도록 수정했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:08 (KST)
-
설정 > AX Agent에 있던 도구/스킬 설명창이 내부 AX Agent 설정 오버레이에는 빠져 있던 상태를 보완해, ChatWindow.xaml의도구,스킬/차단탭 상단에 설명 블록을 다시 넣었습니다. -
도구탭에는 훅 동작 흐름과 활용 예시,스킬/차단탭에는 스킬 파일 구조, 기본 폴더 경로, MCP/폴백 모델/드래그 드롭 관리 범위를 안내하는 설명을 복구했고, ChatWindow.xaml.cs 에서 탭 전환 시 해당 설명창만 보이도록 연결했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
코워크 좌측 패널 상단 필터 메뉴는 동작이 이미
작업 유형기준이었지만, 메뉴 라벨만 예전워크스페이스로 남아 있던 부분을작업 유형으로 수정했습니다. -
ChatWindow.xaml 의
SidebarCoworkMenu라벨을 코워크 기준에 맞게 정리했고, Code 탭의워크스페이스라벨은 그대로 유지했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:18 (KST)
-
AX Agent 입력창에서 텍스트를 치면 입력 영역이 비정상적으로 길어지고, 입력 중 화면이 자주 번쩍이던 문제를 함께 수정했습니다.
-
ChatWindow.xaml 에서 입력 행
Grid.RowDefinition을Auto로 바꾸고InputBox를 상단 정렬로 고정해, Code 탭에서 입력창이 남는 공간을 끌어먹으며 비대해지던 레이아웃 문제를 막았습니다. -
ChatWindow.xaml.cs 에는
_inputUiRefreshTimer를 추가해, 타이핑 중 매 글자마다 실행되던RefreshContextUsageVisual()과RefreshDraftQueueUi()를 짧게 디바운스해서 입력 중 깜빡임과 과한 리렌더를 줄였습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:24 (KST)
-
모델 선택 팝업 하단에 중복으로 보이던 보조 UI도 정리했습니다.
-
ChatWindow.xaml 에서 모델 리스트 아래 반복되던
InlineModelChipPanel은 숨기고, 맨 아래계획,권한빠른 버튼은Visibility="Collapsed"로 내려 팝업 안 중복 제어를 제거했습니다. -
안내 문구도
서비스, 모델, 추론을 여기서 바로 바꿉니다로 맞춰, 이 팝업이 실제로 제공하는 항목만 설명하도록 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:28 (KST)
-
AX Agent 채팅 초기 프리셋 카드 영역의 세로 스크롤바도 항상 고정처럼 보이던 부분을 조정했습니다.
-
ChatWindow.xaml 에
TopicPresetScrollViewer이름을 부여하고 기본 상태를VerticalScrollBarVisibility="Disabled"로 바꿔, 정상 크기에서는 스크롤바 여백이 먼저 보이지 않도록 했습니다. -
ChatWindow.xaml.cs 에
UpdateTopicPresetScrollMode()를 추가해 프리셋 버튼 재구성 후와 창 크기 변경 시ExtentHeight/ViewportHeight를 비교하고, 실제로 넘칠 때만 세로 스크롤을Auto로 켜도록 했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:31 (KST)
-
AX Agent 입력창 위
후속 요청카드에는 타이핑 중인 현재 입력을 미리 보여주지 않도록 정리했습니다. -
ChatWindow.xaml.cs 의
RefreshDraftQueueUi()에서DraftPreviewCard를 상시 접고, 후속 요청은 실시간 입력 미리보기가 아니라 엔터로 실제 대기열에 들어간 뒤 아래 대기열 목록에만 반영되도록 바꿨습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:34 (KST)
-
AX Agent 빈 상태 프리셋 카드의 하단 글자가 잘리던 레이아웃도 보정했고, Code 탭에서는 프리셋 영역이 보이지 않도록 정리했습니다.
-
ChatWindow.xaml.cs 의
BuildTopicButtons()에서 프리셋/기타/추가 카드 높이를116으로 키우고 설명MaxHeight도 늘려 카드 하단 텍스트가 잘리지 않게 했습니다. -
같은 메서드에서 Code 탭일 때는
TopicButtonPanel과TopicPresetScrollViewer를 바로 숨기고, 빈 상태 문구도코드 작업을 입력하세요기준으로 바꿔 프리셋 기능이 안 보이도록 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:37 (KST)
-
AX Agent 내부 설정 오버레이의 콤보박스도 기본 WPF 형태 대신,
트레이 아이콘 → 설정쪽 커스텀 콤보 스타일을 기준으로 맞췄습니다. -
ChatWindow.xaml 에
OverlayComboBoxToggle,OverlayComboBox,OverlayComboBoxItem리소스를 추가하고, 서비스/모델 포함 오버레이 콤보들이 같은 토글 버튼형 드롭다운과 항목 호버 스타일을 쓰도록 바꿨습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:40 (KST)
-
AX Agent 내부 설정 오버레이에도 메인 설정처럼
?도움말 배지를 복구해, 항목별 상세 설명을 마우스 오버로 바로 볼 수 있게 했습니다. -
ChatWindow.xaml 에
OverlayHelpBadge스타일을 추가하고,서비스,모델,기본 서버 주소,API 키,테마 스타일,테마 모드,문서 형태,디자인 스타일,운영 모드,폴더 데이터 활용,압축 시작 한도,최대 컨텍스트 토큰,오류 재시도,최대 Agent Pass에 각각 개별 툴팁 설명을 연결했습니다. -
같은 파일의 고급/개발자 영역에도
자동 대화 압축,확장 스킬 사용,실행 전후 자동 확장,입력 보정 반영,권한 변경 반영,Cowork 결과 검토,Code 결과 검토,도구 병렬 실행,프로젝트 규칙 자동 반영,에이전트 메모리 사용,Plan/Worktree/Team/Cron 도구항목별?설명을 추가해 AX Agent 내부 설정만 보고도 역할을 바로 이해할 수 있게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:43 (KST)
-
AX Agent 내부 설정 오버레이의 탭 구조를 예전 버전 기준으로 다시 확장했습니다.
-
ChatWindow.xaml 에서 좌측 네비를
공통 / 채팅 / 코워크/코드 / 코워크 / 코드 / 개발자 / 도구 / 스킬/차단으로 복구하고,스킬/차단탭 안에차단 경로 패턴,차단 확장자,스킬 설정,로드된 스킬,폴백 모델,MCP 서버,등록된 도구/커넥터패널을 다시 배치했습니다. -
ChatWindow.xaml.cs 에는 오버레이 전용
RefreshOverlayEtcPanels(), 차단 목록 렌더링, 스킬 목록 렌더링, 폴백 모델 요약, MCP 서버 카드, 도구 레지스트리 목록 빌더를 추가하고,코워크/코드공통 탭 분기와슬래시 팝업 표시 개수, 드래그앤드롭 AI 액션 저장 경로도 연결했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:51 (KST)
-
AX Agent 창 우측 상단의 최소화/최대화/닫기 버튼도 사용자 가이드 상단바 쪽과 비슷한 밀도로 다시 정리했습니다.
-
ChatWindow.xaml 에
TitleBarActionButton,TitleBarCloseButton스타일을 추가해 버튼 크기를40x40으로 키우고, 간격을 넓히고, 마우스 오버 시 살짝 커지는 스케일 애니메이션과 배경 피드백이 보이도록 조정했습니다. -
같은 위치에서 AX Agent 상단 창 버튼 3개가 일반
GhostBtn대신 새 타이틀바 전용 스타일을 쓰도록 바꿔, 아이콘 크기와 클릭 영역이 더 명확하게 보이도록 맞췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 08:54 (KST)
-
AX Agent의 Chat/Cowork/Code 탭이 서로 다른 폭으로 보이던 채팅 본문/입력 영역 레이아웃도 공통 폭 기준으로 다시 맞췄습니다.
-
ChatWindow.xaml 에서 빈 상태 영역과 하단 컴포저 래퍼를
HorizontalAlignment="Stretch"기준으로 바꾸고MaxWidth를1280으로 통일해, 탭별 내용물 길이에 따라 입력창이 좁아지지 않게 조정했습니다. -
ChatWindow.xaml.cs 의
GetMessageMaxWidth()도 새ComposerShell폭을 우선 기준으로 쓰도록 바꿔, Chat/Cowork/Code 메시지 카드와 스트리밍 컨테이너가 같은 레이아웃 폭 안에서 렌더되도록 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 09:02 (KST)
-
AX Agent가 시작 직후
System.Windows.FrameworkElement.Style예외로 죽던 문제도 함께 수정했습니다. -
ChatWindow.xaml 의
OverlayComboBox스타일이 뒤에서 선언된OverlayComboBoxItem을StaticResource로 먼저 참조하고 있어 런타임에MS.Internal.NamedObject캐스팅 예외가 발생했는데, 이를DynamicResource로 바꿔 창 초기화가 정상 진행되도록 복구했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 09:06 (KST)
-
build.bat실행 시 AX Copilot이 켜져 있으면 애매하게 종료되거나 publish가 꼬이던 흐름도 정리했습니다. -
build.bat 의 프로세스 정리 루틴을
taskkill1회 호출에서정상 종료 시도 → taskkill /T /F → 실제 종료 확인순서로 바꾸고, 종료되지 않으면 빌드를 즉시 실패시키도록 수정했습니다. -
특히 현재 배치 권한보다 높은 권한으로 AX Copilot이 떠 있는 경우에는 무리하게 진행하지 않고
Access may be denied or the app may be running with higher privileges.메시지로 원인을 바로 알 수 있게 했습니다. -
검증:
cmd /c build.bat실행 시, 실행 중인 AX Copilot 프로세스가 권한 문제로 종료되지 않을 때 즉시 실패 처리 확인 -
업데이트: 2026-04-05 09:13 (KST)
-
AX Agent 내부 설정의
도구/스킬·차단탭도 메인 설정에 남아 있던 세부 항목을 더 흡수하고, 목록이 너무 길던 부분을 접기/펼치기 구조로 다시 정리했습니다. -
ChatWindow.xaml, ChatWindow.xaml.cs 에서
도구탭에 훅 실행 타임아웃, 등록된 훅 목록, 훅 추가/편집/삭제 UI를 AX Agent 내부 설정으로 옮겼고,스킬/차단탭에는 스킬 폴더 선택/열기, 슬래시 핀 최대 개수, 슬래시 최근 최대 개수까지 같이 옮겼습니다. -
스킬 목록은
/스킬명형식으로 표기를 바꾸고 설명은 기존 한국어 설명을 유지했으며,직접 호출 / 자동·조건부 / 현재 사용 불가섹션으로 접기/펼치기 형태로 나눴습니다. 도구 목록도 카테고리별 접기/펼치기로 바꿔 한 번에 너무 길게 보이지 않게 정리했습니다. -
남아 있던 AX Agent 전용 잔여 설정 중
PDF 내보내기 기본 경로,이미지 입력 활성화,코드 리뷰 도구 활성화도 내부 설정의채팅/코드탭에 재배치해 메인 설정 의존을 줄였습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 09:27 (KST)
-
AX Agent 내부 설정의
개발자탭에도 메인 설정에 남아 있던 잔여 운영 항목을 더 흡수해, 실행 이력과 감사/병렬 관련 설정을 오버레이 안에서 바로 조정할 수 있게 했습니다. -
ChatWindow.xaml 에
호출 간 딜레이(초),서브에이전트 최대 수,실행 이력 상세도,계획 diff 심각도(개수/비율),워크플로우 시각화,전체 호출·토큰 합계 표시,감사 로그,감사 로그 폴더 열기행을 추가해개발자탭 안에서 한 번에 볼 수 있도록 재배치했습니다. -
ChatWindow.xaml.cs 에서 해당 값들의 로드/저장/즉시 반영 경로를 AX Agent 오버레이 저장 흐름에 연결하고,
실행 이력 상세도콤보, 숫자 입력 검증, 감사 로그 폴더 열기 동작도 함께 붙였습니다. -
이 변경으로 AX Agent 내부 설정은
채팅 / 코워크/코드 / 코워크 / 코드 / 개발자 / 도구 / 스킬·차단탭 구조를 유지한 채, 메인 설정에 남아 있던 AX Agent 전용 세부값 상당수를 각 기능 탭으로 다시 분산 배치한 상태가 됐습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 09:38 (KST)
-
AX Agent 내부 설정의 공통/채팅/코워크 배치도 다시 정리했습니다.
-
SettingsWindow.xaml.cs 의
ApplyAiEnabledState()에서 메인 설정의AX Agent탭이 다시 살아나던 경로를 끊어, 일반 설정 화면에서는 AX Agent 탭이 더 이상 보이지 않게 했습니다. -
ChatWindow.xaml.cs 에서 AX Agent 내부 설정의
AX Agent 사용저장 경로를 제거하고 항상 활성 상태로 고정했으며,서비스/모델과 운영 모드를공통으로,문서 형태/디자인 스타일을코워크로 다시 배치했습니다. -
같은 위치에서
최대 컨텍스트 토큰,압축 시작 한도(%)는 숫자 입력 대신4K / 16K / 64K / 256K / 1M,60 / 70 / 80 / 90%프리셋 버튼으로 고를 수 있게 바꾸고 내부 설정 저장과 즉시 반영을 연결했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 09:54 (KST)
-
메인 설정의
AX Agent탭에 남아 있던표현 수준행도 SettingsWindow.xaml 에서 숨겨, 일반 설정 화면에서 더 이상 보이지 않게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 09:56 (KST)
-
AX Agent 채팅 입력창이 입력할수록 과하게 커지고 가로폭도 창 너비를 과도하게 채우던 레이아웃을 고정 폭 기준으로 다시 정리했습니다.
-
ChatWindow.xaml 의
ComposerShell을Center + Width/MaxWidth 640기준으로 바꿔, 입력 박스가 창 너비 전체를 계속 먹지 않도록 조정했습니다. -
ChatWindow.xaml.cs 의
ApplyExpressionLevelUi()에서 입력창 최대 높이도rich 120 / balanced 108 / simple 96으로 낮춰, 여러 줄 입력 시에도 이전처럼 과하게 길어지지 않게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 09:58 (KST)
-
AX Agent Chat 탭에서 Gemini 사용 시 빈 응답/진행 중 멈춤처럼 보이던 현상도 보정했습니다.
-
ChatWindow.xaml.cs 의 일반 전송/재생성 흐름에서 Gemini는 스트리밍 대신 비스트리밍
SendAsync()경로를 사용하도록 바꿔, 스트리밍 파싱 문제로 빈 컨테이너만 남는 상황을 우회했습니다. -
같은 파일에서 메시지 버블 최대폭 계산도
320~720범위로 다시 맞추고, 스트리밍 종료 시 내용이 비어 있으면(빈 응답)기본 문구로 치환해 완전히 빈 말풍선이 남지 않게 했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:02 (KST)
-
AX Agent 채팅창에서 입력 내용이 거의 없는데도 컴포저 높이가 계속 커지고, 빈 assistant 말풍선이 대화 목록에 남는 현상도 추가로 보정했습니다.
-
ChatWindow.xaml.cs 에
UpdateInputBoxHeight()를 추가해 입력창 높이를 실제 줄 수 기준으로MinHeight~MaxHeight범위에서 직접 고정하고, 넘칠 때만 내부 스크롤이 나오게 바꿨습니다. -
같은 파일의
RenderMessages()에서는 내용이 비어 있는 assistant 메시지를 렌더 대상에서 제외하고, 일반 전송/재생성 완료 직전assistantMsg.Content가 비어 있으면(빈 응답)으로 먼저 확정해 저장/재렌더 때도 빈 카드가 남지 않게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:10 (KST)
-
AX Agent 내부 설정의
채팅탭에 잘못 들어가 있던테마 스타일,테마 모드블록도 제거했습니다. -
ChatWindow.xaml 에서 채팅 설정 섹션의 중복 테마 UI를 삭제해, 채팅 탭에는 실제 채팅 관련 항목만 남도록 정리했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:12 (KST)
-
AX Agent 내부 설정의
공통탭에도 메인 설정에만 있던등록 모델 관리를 추가했습니다. -
ChatWindow.xaml, ChatWindow.xaml.cs 에서 사내 서비스(
Ollama,vLLM) 선택 시모델 추가,편집,삭제,선택이 가능한 등록 모델 관리 패널을 내부 설정 안에 붙였습니다. -
메인 설정에서 쓰던 ModelRegistrationDialog.cs 흐름을 그대로 연결해, 내부 설정에서 추가한 모델도 기존
RegisteredModels저장 경로와 동일하게 저장되도록 맞췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:16 (KST)
-
AX Agent 내부 설정의
압축 시작 한도(%)도 분류를 정리했습니다. -
ChatWindow.xaml.cs 에서 해당 행(
OverlayAnchorAdvanced)이코워크/코드 공통탭에서만 보이도록 바꿔, 개발자/도구/스킬 탭에 섞여 나오지 않게 조정했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:19 (KST)
-
AX Agent 내부 설정 탭의 제목/설명 위치도 본문 최상단으로 정리했습니다.
-
ChatWindow.xaml, ChatWindow.xaml.cs 에 상단 전용 헤더를 추가해
공통 설정같은 탭 제목과 설명이 먼저 보이게 했고, 아래쪽 중복 헤더는 숨겼습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:27 (KST)
-
Chat 탭에서 엔터 전송 뒤 입력창 높이가 계속 커지고, 토큰은 집계되는데 assistant 메시지가 화면에 안 보이던 문제도 같이 보정했습니다.
-
ChatWindow.xaml.cs 의
UpdateInputBoxHeight()를 조정해 Chat 탭은 입력창 높이를 고정으로 유지하고, Cowork/Code만 명시적 줄 수 기준으로 높이를 늘리게 바꿨습니다. -
같은 파일에
SyncLatestAssistantMessage(...)를 추가하고 응답 완료 뒤RenderMessages(preserveViewport: true)를 다시 태우도록 바꿔, 응답 토큰은 들어왔는데 저장된 assistant 메시지가 비어 보여 렌더가 사라지던 상태를 끊었습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:35 (KST)
-
메인 설정에 남아 있던 AX Agent 진입 흐름을 정리하고, 일반 설정 하단에서 AX Agent 내부 설정을 바로 여는 전용 바로가기를 추가했습니다.
-
SettingsWindow.xaml 의 일반 탭 하단에
AX Agent 설정 바로가기카드를 추가해, 설정창 안에서 바로 AX Agent 채팅창과 내부 설정 오버레이를 열 수 있게 했습니다. -
SettingsWindow.xaml.cs 에서 메인 설정의 표시 대상 목록에서
AX Agent탭을 제외하고, 기존 AX Agent 바로가기 버튼도 탭 전환이 아니라App.OpenAgentSettingsInChat()경로를 타도록 바꿔 메인 설정 잔여 진입을 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:41 (KST)
-
AX Agent Chat 탭의 입력창 높이 규칙도 다시 정리했습니다.
-
ChatWindow.xaml.cs 의
UpdateInputBoxHeight()에서Chat탭만 높이를 고정하던 분기를 제거해, 이제Chat / Cowork / Code모두 실제 줄바꿈 문자(Shift+Enter)가 있을 때만 높이가 늘어나고 일반 입력/전송만으로는 커지지 않게 맞췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:48 (KST)
-
메인 설정 안에 숨어 있던 AX Agent 옛 UI 잔재 1차도 걷어냈습니다.
-
SettingsWindow.xaml 에서 일반 탭 상단의 숨김
AI 기능,운영 모드블록과 하단 공용 버튼 바의 중복AX Agent 설정버튼을 제거해, 메인 설정 내부에 남아 있던 보이지 않는 AX Agent 진입 잔재를 줄였습니다. -
SettingsWindow.xaml.cs 의
ApplyAiEnabledState()와ApplyOperationModeState()도 이에 맞춰 숨김 컨트롤 동기화 코드를 걷어내고, 메인 설정에서는 더 이상 그 컨트롤들을 전제로 동작하지 않게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:02 (KST)
-
AX Agent 채팅/코워크/코드 전송 안정화도 같이 보정했습니다.
-
ChatWindow.xaml.cs 에서
InputBox.Text를 비우거나 대기열 메시지를 다시 넣는 지점마다UpdateInputBoxHeight()를 즉시 호출하도록 바꿔, 전송 뒤 입력창 높이가 남은 상태로 계속 커져 보이던 문제를 줄였습니다. -
같은 파일의
SendMessageAsync()는 Chat 탭에서 스트리밍 대신 비스트리밍 응답을 우선 사용하도록 바꿔, 토큰은 집계되는데 본문이 비거나 늦게 반영되던 흐름을 안정화했습니다. -
Cowork/Code 탭은 응답 완료 후 assistant 본문이 비어 있으면 최근 실행 이벤트 요약을 최종 응답으로 보강하고,
ShowExecutionHistory를 기본적으로 내려 실행 로그 잔상이 본문을 덮어 보이지 않게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:08 (KST)
-
AX Agent 내부 설정의
도구,스킬/차단탭 접기 카드도 처음엔 모두 닫힌 상태로 열리게 정리했습니다. -
ChatWindow.xaml.cs 에서 로드된 스킬 섹션, 등록 도구/커넥터 카테고리 섹션, 등록 훅 섹션의
CreateOverlayCollapsibleSection(...)기본 확장값을 모두false로 바꿔, 내부 설정 진입 시 긴 목록이 한꺼번에 펼쳐지지 않게 했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 10:23 (KST)
-
AX Agent 실행 경로를
기준 구조기준으로 한 단계 더 분리했습니다. -
AxAgentExecutionEngine.cs 에 프롬프트 스택 조합, 실행 모드 판정, 최종 assistant 메시지 커밋을 모았고, ChatWindow.xaml.cs 의
SendMessageAsync()는 이 엔진을 통해Chat / Cowork / Code전송 메시지를 준비하도록 정리했습니다. -
같은 파일에
RunAgentLoopAsync(...)를 추가해 Cowork/Code의 중복된 에이전트 루프 실행 분기를 한 경로로 합쳤고, 완료 알림과 이벤트 핸들러 해제도 같은 패턴으로 묶었습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:11 (KST)
-
AX Agent 입력창 높이 계산과 내부 설정 숫자 입력 방식도 다시 정리했습니다.
-
ChatWindow.xaml.cs 의
UpdateInputBoxHeight()를 수동Height고정 방식에서MinLines / MaxLines기반 자동 높이 방식으로 바꿔,Shift+Enter줄바꿈이 있을 때만 자연스럽게 늘어나고 빈 상태에서 높이가 누적돼 남는 현상을 줄였습니다. -
ChatWindow.xaml, ChatWindow.xaml.cs 에서
Temperature,오류 재시도,최대 Agent Pass,호출 간 딜레이,서브에이전트 최대 수는 텍스트 입력 대신 슬라이더와 현재값 배지로 바꿨고,Temperature와최대 Agent Pass는 개발자 탭에서만 보이도록 다시 분류했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:11 (KST)
-
메인 설정에서 AX Agent 진입 위치도 좌측 사이드바로 옮겼습니다.
-
SettingsWindow.xaml 의 일반 탭 맨 아래에 있던
AX Agent 설정 바로가기카드는 제거하고, 좌측MainSettingsTab에AX Agent전용 네비 항목을 추가했습니다. -
SettingsWindow.xaml.cs 에서 이 새 사이드바 항목 선택 시 기존과 동일하게 AX Agent 채팅창과 내부 설정 오버레이를 바로 열도록 연결했고, 구형 숨김 탭만 가리도록 가시성 로직도 정리했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:11 (KST)
-
AX Agent 내부 설정의 남아 있던 숫자 입력 잔여 항목도 예전 설정창 패턴에 맞춰 슬라이더형으로 계속 이식했습니다.
-
ChatWindow.xaml, ChatWindow.xaml.cs 에서
도구 훅 스크립트 제한 시간,슬래시 팝업 표시 개수,슬래시 핀 최대 개수,슬래시 최근 최대 개수를 텍스트박스 대신 슬라이더 + 현재값 배지 구조로 바꾸고, 숨김 텍스트 필드는 저장 호환용으로만 유지했습니다. -
같은 파일의 오버레이 동기화 경로(
RefreshOverlayVisualState,RefreshOverlayEtcPanels)에도 해당 값들의 슬라이더/배지 동기화를 추가해, 섹션 전환이나 재오픈 후에도 값이 바로 맞춰 보이도록 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:22 (KST)
-
메인 설정에 남아 있던 구형 AX Agent 탭 본문도 실제 탭 컬렉션에서 제거해, 숨김 상태로 남아 있던 레거시 경로가 다시 선택되지 않도록 정리했습니다.
-
SettingsWindow.xaml.cs 생성자에서
AgentTabItem을MainSettingsTab.Items에서 제거하고,MainSettingsTab_SelectionChanged()는 좌측 바로가기용AgentShortcutTabItem만 AX Agent 내부 설정 오버레이로 라우팅하도록 단순화했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:24 (KST)
-
구형 AX Agent 본문이 로드 시점에 초기화되던 경로도 추가로 끊었습니다.
-
SettingsWindow.xaml.cs 에
HasLegacyAgentTab()가드를 넣어,MoveBlockSectionToEtc(),BuildServiceModelPanels(),BuildToolRegistryPanel(),LoadAdvancedSettings(),SyncAgentSelectionCards(),ApplyAgentSubTabVisibility()가 실제 구형 AX Agent 탭이 컬렉션에 남아 있을 때만 실행되게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:25 (KST)
-
원래 설정에 있던 도구별 사용 토글도 AX Agent 내부 설정
도구탭으로 옮겼습니다. -
ChatWindow.xaml.cs 의
BuildOverlayToolRegistryPanel()에서 각 도구 카드 우측에ToggleSwitch를 붙여, 카테고리별 접기 섹션 안에서 바로 도구 사용 여부를 바꿀 수 있게 했습니다. -
도구 토글은 기존과 동일하게
Llm.DisabledTools저장 경로를 그대로 사용하고, 변경 즉시 내부 설정 상태를 저장한 뒤 목록을 다시 그려 현재 상태가 바로 보이게 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:27 (KST)
-
작업 지침에도 설정 입력 UI 통일 규칙을 추가했습니다.
-
AGENTS.md 의
설정 UI 패턴섹션에on/off는ToggleSwitch, 숫자 입력은 기존 슬라이더 + 현재값 배지 패턴을 우선 사용하고, 메인 설정과 AX Agent 내부 설정 간 표현 방식도 통일해야 한다는 규칙을 명시했습니다. -
업데이트: 2026-04-05 11:28 (KST)
-
시작 직후 나던 AX Agent 프리워밍 예외도 수정했습니다.
-
ChatWindow.xaml.cs 에
TryGetOverlayLlmSettings()가드를 추가하고, 내부 설정 슬라이더ValueChanged핸들러들이 초기화 중_settings.Settings.Llm이 준비되지 않았을 때는 즉시 빠지도록 정리했습니다. -
원인은 프리워밍 중
SldOverlayMaxAgentIterations_ValueChanged가 너무 일찍 발화하면서 null 경로를 건드리던 것이었고, 같은 유형이 다른 슬라이더에도 생기지 않도록 공통 방어로 같이 막았습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:31 (KST)
-
런처도
Agent Compare기준으로 빠진 기능을 다시 이식하기 시작했습니다. -
LauncherViewModel.cs, LauncherViewModel.LauncherExtras.cs, LauncherWindow.xaml, LauncherWindow.xaml.cs, LauncherWindow.Shell.cs에
빠른 실행 칩,검색 히스토리 위/아래 탐색,선택 항목 미리보기 패널,F3 QuickLook,F4 OCR, 하단위젯 바를 현재 런처 흐름에 맞게 다시 연결했습니다. -
QuickActionChip.cs, SearchHistoryService.cs, QuickLookWindow.xaml, QuickLookWindow.xaml.cs 도 새로 추가해,
Agent Compare쪽 런처 보조 기능이 현재 앱에서도 독립적으로 동작할 수 있도록 했습니다. -
UsageRankingService.cs 에는 빠른 실행 칩 생성을 위한
GetTopItems()를 추가해, 최근 많이 쓴 경로를 런처 입력창 아래에서 바로 다시 열 수 있게 했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 11:58 (KST)
-
런처 보조 기능/설정 연결을
Agent Compare기준으로 다시 대조하면서, 입력을 비웠을 때 이전 선택 항목과 미리보기 패널이 남아 있던 상태를 정리했습니다. LauncherViewModel.cs 에서 빈 입력 시SelectedItem과 미리보기 바인딩이 같이 초기화되도록 맞춰, 빠른 실행 칩/검색 히스토리/미리보기 패널 전환이 더 이상 이전 검색 상태를 끌고 가지 않게 했습니다. -
검증:
Agent Compare의 런처 설정 항목(ShowNumberBadges,CloseOnFocusLost,RememberPosition,EnableActionMode,EnableRandomPlaceholder,ShowLauncherBorder등)과 현재 SettingsWindow.xaml, SettingsViewModel.cs, LauncherWindow.xaml.cs, LauncherViewModel.cs 연결을 재검토했고, 런처 테마 동일화 작업은 제외한 상태에서 보조 기능/설정 연결 위주로 1차 마무리했습니다. -
업데이트: 2026-04-05 11:56 (KST)
-
AX Agent 채팅 엔진 정상화 1차로, AxAgentExecutionEngine.cs 와 ChatWindow.xaml.cs 의 전송 흐름을
준비 → 실행 → 최종 assistant 커밋 → 재렌더중심으로 다시 정리했습니다. Chat/Cowork/Code 공통으로 임시 assistant 카드와 임시 스트리밍 컨테이너를 먼저 만들지 않도록 바꿔, 토큰은 올라가는데 채팅 본문이 비거나 빈 버블이 남는 증상을 줄였습니다. -
같은 수정에서 에이전트 실행 로그도 화면에 즉시 배너를 직접 꽂지 않고, 대화 모델의
ExecutionEvents에 먼저 쌓은 뒤RenderMessages()기준으로만 다시 그리게 바꿨습니다. 그래서 Cowork/Code에서 실행 로그 문구가 플래시처럼 잔상으로 남거나 중복 표시되던 흐름을 줄이는 쪽으로 정리했습니다. -
재생성 경로도 동일하게 정리해서, 피드백 후 재생성 시 빈 assistant 메시지를 먼저 추가하지 않고 최종 응답만 커밋하도록 맞췄습니다.
-
이어서
/slash로컬 응답과 수동 컨텍스트 압축 결과 경로도 conversation/session에 먼저 커밋한 뒤RenderMessages()로만 다시 그리게 맞췄습니다. 이제 로컬 응답 경로도 직접AddMessageBubble(...)를 꽂지 않아서, Chat/Cowork/Code에서 같은 종류의 중복 버블/순서 어긋남이 덜 발생하도록 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 12:06 (KST)
-
업데이트: 2026-04-05 12:09 (KST)
-
AX Agent 채팅 UI는
기준 구조기준으로 다시 정리하기 전에 현재 상태를etc/chat-ui-backup/2026-04-05-1215/에 백업했습니다. 이 백업에는 ChatWindow.xaml, ChatWindow.xaml.cs, AxAgentExecutionEngine.cs 기준본이 포함되어 있습니다. -
ChatWindow.xaml 에서는 메시지 컬럼과 빈 상태 폭을
920px축으로 맞추고, 컴포저를760px기준으로 넓히면서 입력 셸을 하나의 안정적인 하단 컬럼으로 다시 정리했습니다. 같은 수정에서 컴포저 안의대화 내보내기버튼은 숨겨기준 구조처럼 입력과 전송에 더 집중된 구조로 단순화했습니다. -
ChatWindow.xaml.cs 의 입력창 높이 계산은 이제 실제 줄바꿈 수만 기준으로
Height를 직접 다시 잡습니다. 전송 후에도 남아 있던 과도한 높이를 줄이고,Shift+Enter로 개행이 생길 때만 높이가 커지도록 더 강하게 고정했습니다. -
같은 파일에서
메시지 편집 후 재생성,피드백 후 재생성경로도 직접AddMessageBubble(...)를 꽂지 않고RenderMessages()축으로 다시 돌리게 맞췄습니다. 재생성 경로 자체도Cowork/Code에서는 일반 LLM 호출이 아니라ResolveExecutionMode(...)+RunAgentLoopAsync(...)를 타도록 바꿔, 코워크/코드가 채팅 재생성 때 일반 Chat 경로로 잘못 떨어지던 문제를 줄였습니다. -
이어서 AxAgentExecutionEngine.cs에
PrepareExecution(...),NormalizeAssistantContent(...)를 추가하고, ChatWindow.xaml.cs의 일반 전송과 재생성이 모두 같은 준비 함수를 타도록 정리했습니다. 이제 실행 모드 판정, 프롬프트 스택 구성, 전송 메시지 조립, 최종 assistant 내용 보정이 한 엔진 축에서 처리됩니다. -
이 변경으로
SendMessageAsync()와SendRegenerateAsync()가 각자 따로 Cowork/Code 시스템 프롬프트와 실행 모드를 계산하던 중복 분기가 줄었고, 이후 Cowork/Code 엔진을기준 구조기준으로 더 밀 때도 준비 로직은 엔진 한 곳만 고치면 되게 정리했습니다. -
이어서
FinalizeAssistantTurn(...)를 엔진에 추가해, 최종 assistant 내용 정규화와 Cowork/Code 실행 로그 접힘 처리, assistant 메시지 커밋을 전송/재생성 공통으로 같은 메서드에서 처리하게 바꿨습니다. 이제 채팅 마무리 단계도 UI 코드가 아니라 엔진이 더 많이 책임집니다. -
이번엔 AxAgentExecutionEngine.cs에
ExecutePreparedAsync(...)를 추가해서, 준비된 실행이AgentLoop를 탈지 일반 LLM 호출을 탈지 결정하는 분기까지 엔진이 맡도록 옮겼습니다. ChatWindow.xaml.cs의 일반 전송과 재생성은 이제 둘 다ExecutePreparedAsync(...)만 호출합니다. -
이어서 ChatWindow.xaml.cs의 실행 후처리도
ResetStreamingUiState(),FinalizeConversationTurn(),FinalizeQueuedDraft()로 묶었습니다. 전송과 재생성이 같은 정리 경로를 공유하게 해서, 응답 완료 뒤 상태 복구와 대화 저장, 대기열 완료/실패 처리 흐름도 더 한 축으로 정리했습니다. -
이번엔
OnAgentEvent(...)의 본문 재렌더를 배치형으로 바꿨습니다. ChatWindow.xaml.cs에DispatcherTimer기반ScheduleExecutionHistoryRender()를 추가해서, Cowork/Code 실행 중 이벤트가 연속으로 들어와도RenderMessages()가 매 이벤트마다 바로 돌지 않고 짧게 묶여 한 번씩만 반영됩니다. -
같은 흐름으로 작업 요약 스트립도 배치형 갱신으로 바꿨습니다.
UpdateTaskSummaryIndicators()를 즉시 호출하는 대신ScheduleTaskSummaryRefresh()가 120ms 단위로 상태 반영을 묶어, 실행 중 상단 상태 스트립과 런타임 배지가 과하게 흔들리지 않도록 정리했습니다. -
추가로 실행 이벤트/실행 기록 저장도 지연 저장으로 바꿨습니다. ChatWindow.xaml.cs의
AppendConversationExecutionEvent()와AppendConversationAgentRun()은 이제 이벤트마다 바로_storage.Save(...)를 호출하지 않고,ScheduleConversationPersist()를 통해 220ms 단위로 묶어서 flush 합니다. Cowork/Code의 연속 이벤트 구간에서 저장 I/O가 덜 붙도록 만든 조정입니다. -
이번엔 실행 완료 뒤 메시지 축을 흔들던 보조 UI를 더 줄였습니다. ChatWindow.xaml.cs의
RenderSuggestActionChips()는 더 이상 본문MessagePanel에 제안 칩을 직접 삽입하지 않고, 요약 토스트만 띄우도록 바꿨습니다. 이 변경으로 Cowork/Code 작업 중간에 제안 칩이 본문 폭과 스크롤 위치를 흔들던 경로를 끊었습니다. -
같은 파일의 대기열 UI도 기본 축약형으로 바꿨습니다.
DraftQueuePanel은 이제 기본적으로 요약 pill + 핵심 항목 1개만 보이고, 필요할 때만상세 보기로 전체 섹션 카드(실행 중/다음 작업/보류/완료/실패)를 펼칩니다. 대기열 카드가 매번 크게 다시 그려지면서 컴포저 위 레이아웃을 밀던 현상을 줄이기 위한 정리입니다. -
이어서 Cowork/Code 완료 직후 저장 축도 정리했습니다. ChatWindow.xaml.cs의
ResetStreamingUiState()는 이제 배치 저장 대기 중인 실행 이벤트/실행 기록을 먼저FlushPendingConversationPersists()로 확정 저장한 뒤 타이머를 내립니다. 이걸로 실행 종료 직전 들어온 마지막 이벤트가 지연 저장 타이머만 멈춘 채 사라질 수 있는 경로를 막았습니다. -
같은 수정에서
PersistConversationSnapshot(...)를 추가해 중간 저장, 최종 저장, 지연 저장 flush를 한 경로로 묶었고,RunAgentLoopAsync(...)안의 중복_storage.Save(...)/RememberConversation(...)는 제거했습니다. 이제 Cowork/Code 완료 시점 저장은FinalizeConversationTurn(...)쪽의 단일 완료 경로가 맡습니다. -
이번엔 실행 이벤트가 들어올 때 창 코드가 즉시 많이 만지던 UI 갱신도 배치형으로 묶었습니다. ChatWindow.xaml.cs에
_agentUiEventTimer,ScheduleAgentUiEvent(...),FlushPendingAgentUiEvent()를 추가해서, 상태바/스티키 진행률/플랜 뷰어/파일 탐색기 자동 새로고침/제안 토스트/자동 프리뷰 반영이 가장 최근 이벤트 기준으로 90ms 단위로만 화면에 반영되게 했습니다. -
OnAgentEvent(...)는 이제 실행 이벤트 자체를 대화 모델과 앱 상태에 먼저 반영하고, 화면 갱신은 배치된 UI 이벤트 flush가 담당합니다. 이 조정으로 Cowork/Code 실행 중 빠른 이벤트 연속 구간에서 상태바와 진행률, 파일 미리보기 쪽이 따로따로 즉시 흔들리던 체감을 더 줄이는 방향으로 정리했습니다. -
대기열 다음 작업 시작도 입력창 UI에 의존하지 않게 바꿨습니다. ChatWindow.xaml.cs의
SendMessageAsync(...)는 이제 선택적으로 직접 텍스트를 받을 수 있고,StartNextQueuedDraftIfAny(...)는 더 이상InputBox.Text를 바꿔 포커스를 흔든 뒤 전송하지 않고SendMessageAsync(next.Text)로 바로 실행합니다. 이걸로 Cowork/Code 자동 이어달리기가 입력창 상태를 덜 건드리게 됐습니다. -
실패 후 재시도도 같은 방향으로 정리했습니다. ChatWindow.xaml.cs의
RetryLastUserMessageFromConversation()는 이제 입력창에 마지막 요청을 다시 밀어 넣지 않고, 유휴 상태면SendMessageAsync(lastUserMessage)로 바로 다시 실행하고, 이미 작업 중이면 같은 요청을 곧바로 대기열에 적재합니다. 재시도 동작도 입력창 포커스와 높이를 흔들지 않게 만든 조정입니다. -
이어서 구형 본문 재시도 카드도 제거했습니다. ChatWindow.xaml.cs의
AddRetryButton()경로를 걷어내고, 실패 시에는 본문에 임시 재시도 카드를 꽂지 않고 짧은 토스트로만 안내한 뒤 작업 요약/실패 이력 쪽 재시도 액션을 사용하도록 정리했습니다. 본문을 메시지와 상태 중심으로 유지하는기준 구조방향에 더 가깝게 맞춘 것입니다. -
UI도
기준 구조기준으로 1차 정리를 넣었습니다. ChatWindow.xaml 에서 메시지 컬럼 폭을880으로 더 정리하고, 상단 진행률 바 패딩과 폭을 줄였으며, 빈 상태는 떠다니는 그라디언트 아이콘 대신 더 작고 정적인 카드형 아이콘으로 단순화했습니다. 컴포저도800px축으로 넓히면서 라운드와 그림자를 조금 눌러, 화면 장식보다는 메시지/입력 흐름이 먼저 보이게 다듬은 단계입니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 12:24 (KST)
-
업데이트: 2026-04-05 12:31 (KST)
-
업데이트: 2026-04-05 12:36 (KST)
-
업데이트: 2026-04-05 12:41 (KST)
-
업데이트: 2026-04-05 12:47 (KST)
-
업데이트: 2026-04-05 12:53 (KST)
-
업데이트: 2026-04-05 12:58 (KST)
-
업데이트: 2026-04-05 13:03 (KST)
-
업데이트: 2026-04-05 13:12 (KST)
-
업데이트: 2026-04-05 13:20 (KST)
-
업데이트: 2026-04-05 13:29 (KST)
-
업데이트: 2026-04-05 13:37 (KST)
-
업데이트: 2026-04-05 13:44 (KST)
-
업데이트: 2026-04-05 13:52 (KST)
-
업데이트: 2026-04-05 14:00 (KST)
-
메시지 행 UI도
기준 구조기준으로 한 단계 더 눌렀습니다. ChatWindow.xaml 의MessagePanel하단 여백을 더 줄여 본문 축이 컴포저와 가깝게 이어지도록 했고, ChatWindow.xaml.cs 에서 사용자/assistant 메시지 카드의 좌우 마진, 코너 라운드, 패딩, 폰트 크기, 타임스탬프 크기를 전반적으로 낮췄습니다. -
assistant 헤더는 아이콘과 이름을 더 작고 옅게 줄였고, 액션 바 버튼도 패딩과 간격을 축소해 메시지 본문보다 덜 튀게 만들었습니다. 같은 방향으로 실행 로그 배너(
AddAgentEventBanner)도 좌우 마진, 아이콘/라벨 크기, 토큰 배지와 요약 텍스트 밀도를 낮춰, Cowork/Code에서 로그가 메시지보다 먼저 보이던 느낌을 줄였습니다. -
폭 계산도
기준 구조처럼 반응형으로 다시 맞췄습니다. ChatWindow.xaml의ComposerShell고정폭을 걷어내고, ChatWindow.xaml.cs의UpdateResponsiveChatLayout()가 실제 본문 폭 기준으로MessagePanel,EmptyState,ComposerShell폭을 함께 다시 계산하도록 연결했습니다. -
이제 창이 작아질 때 메시지 축과 입력창이 따로 놀지 않고 같은 축으로 같이 줄어들며, 창이 넓을 때는 적당한 상한을 유지한 채 자연스럽게 넓어집니다. 초기 로드와
SizeChanged모두 같은 반응형 계산을 타도록 붙였습니다. -
이어서 컴포저 상단 구조도
기준 구조방향으로 더 눌렀습니다. ChatWindow.xaml 에서InputBorder,DraftPreviewCard,DraftQueuePanel간격과 그림자를 줄였고,BtnModelSelector,TokenUsageCard,BtnTemplateSelector의 높이, 패딩, 아이콘/폰트 크기를 함께 낮춰 입력축보다 옵션 카드가 먼저 튀지 않게 정리했습니다. -
토큰 카드도 원형 게이지와 텍스트,
압축버튼을 전반적으로 소형화해 상단 바가 두꺼운 툴 패널처럼 보이던 인상을 줄였습니다. 결과적으로 입력부는 더 얇은 하단 작업 바처럼 보이고, 메시지 본문 축과 시각적 우선순위가 덜 충돌하게 됐습니다. -
Cowork/Code 상태 UI도 더 얇게 조정했습니다. ChatWindow.xaml 에서
ConversationStatusStrip,ConversationQuickStrip,AgentProgressBar,RuntimeActivityBadge,ExecutionLog,SubAgentIndicator,StatusElapsed,StatusTokens의 패딩과 폰트, 간격을 전반적으로 줄여 상태 바가 본문 위를 과하게 차지하지 않게 정리했습니다. -
ChatWindow.xaml.cs의 작업 요약 팝업도 제목/설명/최근 실행 카드 밀도를 낮추고 최근 실행 목록을 2개만 보여 주도록 줄였습니다. 이제 상태 UI는 더 보조적인 레이어로 남고, 메시지 본문이 먼저 읽히는 쪽으로 가까워졌습니다.
-
이어서 작업 요약 내부 카드도 더 가볍게 줄였습니다. ChatWindow.xaml.cs 의
CreateTaskSummaryActionButton(...)을 더 작은 버튼 규격으로 낮추고, 권한/훅/백그라운드 카드의 패딩과 마진도 한 단계 축소했습니다. -
최근 권한 이력은 2개, 최근 훅은 3개, 최근 백그라운드 작업은 2개까지만 보여 주도록 줄여, 작업 요약 팝업이 긴 상태 대시보드처럼 커지지 않게 정리했습니다.
-
같은 축으로 Cowork/Code 보조 상태 레이어를 한 번 더 눌렀습니다. ChatWindow.xaml 의
ConversationStatusStrip,ConversationQuickStrip,AgentProgressBar,RuntimeActivityBadge,LastCompletedLabel,ExecutionLog,SubAgentIndicator,StatusElapsed,StatusTokens는 패딩·폰트·간격을 추가로 줄여 상시 노출돼도 본문보다 덜 튀도록 정리했습니다. -
ChatWindow.xaml.cs의
ShowTaskSummaryPopup(),CreateTaskSummaryActionButton(...),BuildHookSummaryCard(...),BuildActiveBackgroundSummaryCard(...),BuildRecentBackgroundJobCard(...)도 같은 시각 언어로 다시 줄였습니다. 팝업 헤더/필터/최근 실행 카드/백그라운드 카드/훅 카드의 라운드, 패딩, 마진, 텍스트 크기를 전반적으로 낮춰 작업 요약이 진단용 보조 패널에 더 가깝게 보이게 했습니다. -
업데이트: 2026-04-05 17:27 (KST)
-
메시지 자체 메타와 완료 카드 문구도 더
기준 구조쪽으로 눌렀습니다. ChatWindow.xaml.cs의AddMessageBubble(...)에서 사용자/assistant 버블 패딩, 코너, 폰트, 타임스탬프, assistant 헤더 아이콘/이름 크기를 한 단계 더 낮춰 본문 텍스트가 더 먼저 읽히도록 조정했습니다. -
작업 요약 팝업의 완료 카드도
실행 run,최근 실패,최근 실행,로그,파일,후속 큐,다시 시도,타임라인처럼 더 짧은 문구로 정리했고, run/step 메타와 요약 텍스트 폰트도 함께 낮춰 정보 밀도를 더 가볍게 맞췄습니다. -
업데이트: 2026-04-05 17:33 (KST)
-
Cowork/Code 실행 타임라인 배너도 더
기준 구조처럼 얇게 줄였습니다. ChatWindow.xaml.cs의AddAgentEventBanner(...)에서 일반 실행 배너의 좌우 마진, 아이콘/라벨, 경과 시간, 토큰 pill, 요약 텍스트, 파일 경로 행을 한 단계 더 축소했고, 상세 review 칩은debug로그일 때만 보이게 제한했습니다. -
이 조정으로 평소 Cowork/Code에서는 실행 이벤트가 더 짧은 한 줄 요약 중심으로 보이고, debug 정보는 필요할 때만 확장되도록 정리됐습니다.
-
업데이트: 2026-04-05 17:39 (KST)
-
상단 헤더도 더
기준 구조쪽 밀도로 줄였습니다. ChatWindow.xaml 에서 상단 탭 버튼의 폰트/패딩/코너를 다시 낮추고, 탭 그룹 래퍼와 제목 서브 바의 높이와 패딩도 함께 줄였습니다. -
같은 변경에서 대화 제목 폰트와 최대 폭, 빠른 스트립 버튼 규격, 프리뷰 토글 크기와 라벨도 더 작게 조정해 상단 보조 정보가 본문보다 덜 튀게 정리했습니다.
-
업데이트: 2026-04-05 17:45 (KST)
-
좌측 사이드바도 한 번에 더
기준 구조쪽 비율로 줄였습니다. ChatWindow.xaml 에서 헤더, 새 대화/검색 액션, 검색 편집기, 필터 드롭다운, 탭별 메뉴, 전체 삭제, 하단 사용자/설정 영역까지 패딩·폰트·아이콘·배지 크기를 전반적으로 낮췄습니다. -
ChatWindow.xaml.cs 에서는 실제 사이드바 폭을
270 -> 248로 줄이고, 대화 목록 카드의 패딩, 코너, 아이콘 열 폭, 제목/날짜/실행 메타 폰트, 편집 버튼 규격, 선택 액센트 바 두께도 함께 축소해 목록이 더 차분하게 보이도록 맞췄습니다. -
업데이트: 2026-04-05 17:53 (KST)
-
큰 카드형 요소도 더
기준 구조쪽으로 눌렀습니다. ChatWindow.xaml.cs의AddPlanningCard(...)에서 계획 카드 라운드, 패딩, 헤더 아이콘/텍스트, 진행률 텍스트, 단계 행 폰트를 전반적으로 줄였고, 계획 헤더 문구도 더 짧게 정리했습니다. -
같은 변경에서
CreateCompactEventPill(...),CreateTimelineLoadMoreCard(...)도 함께 축소해 컨텍스트 압축 pill과 “이전 대화 더 보기” 카드가 본문보다 과하게 두껍게 보이지 않도록 맞췄습니다. -
업데이트: 2026-04-05 18:01 (KST)
-
엔진 마감도 한 단계 더 진행했습니다. ChatWindow.xaml.cs에
ExecutePreparedTurnAsync(...)를 추가해send와regenerate가 같은 실행/예외/취소/최종 커밋/후처리 경로를 타도록 묶었습니다. 이제 전송과 재생성은 같은 prepared-execution 축에서 닫히고, 실패 토스트와 최종 assistant 커밋도 같은 helper가 담당합니다. -
같은 변경에서 계획 이벤트는 기본적으로 큰 카드가 아니라 얇은 요약 pill로만 보이고,
debug로그일 때만AddPlanningCard(...)가 펼쳐지도록 바꿨습니다. 문서형 Cowork/Code 작업에서도 기본 노출이 더기준 구조처럼 차분한 상태가 됐습니다. -
업데이트: 2026-04-05 18:08 (KST)
-
좌측 패널과 하단 바도
기준 구조쪽 밀도로 다시 맞췄습니다. ChatWindow.xaml 에서 사이드바 폭을 줄이고, 헤더 앱 배지를 강조색 채운 정사각형 대신HintBackground + BorderColor기반의 작은 배지형으로 바꿨습니다. -
새 대화,검색,작업 유형/워크스페이스, 하단 사용자 영역, 삭제 영역까지 패딩과 폰트, 아이콘 크기를 함께 낮췄고, 하단 상태바는 다이아몬드 아이콘을 작은 원형 점으로 바꿔 더 단순한 상태선처럼 보이게 정리했습니다. -
실행 로그 배너도 본문 침범을 더 줄였습니다. ChatWindow.xaml.cs의
AddAgentEventBanner(...)에서 debug 전용ToolInput카드 길이를 더 짧게 줄였고,FilePath는 일반 로그에서는 빠른 액션이 붙은 카드형 대신 파일명 한 줄만 약하게 표시하도록 바꿨습니다. -
이제 파일 경로 카드와 빠른 액션은
debug일 때만 크게 보이고, 일반 Cowork/Code 로그에서는 파일명만 보조 정보처럼 붙습니다. 덕분에 실행 로그가 본문 아래에서 더 얇게 흐르도록 정리됐습니다. -
대화 목록 행 카드와 축소 아이콘 바도 같은 시각 언어로 더 정리했습니다. ChatWindow.xaml.cs의
AddConversationItem(...)에서 선택 강조 배경과 좌측 액센트 바 두께를 더 얇게 줄이고, 행 패딩/아이콘/폰트/배지 크기를 전반적으로 낮춰기준 구조처럼 목록 자체가 먼저 튀지 않도록 정리했습니다. -
진행 중,성공,실패배지와 실행 요약 텍스트도 더 작고 중립적인 톤으로 줄였고, 호버 시 확대 애니메이션은 제거해 목록이 더 차분하게 반응하도록 맞췄습니다. 편집 버튼도 더 작은 규격과 낮은 opacity를 써서 필요할 때만 보조 액션으로 보이게 조정했습니다. -
ChatWindow.xaml의 축소 아이콘 바는 상하 행 높이, 버튼 패딩, 아이콘 크기, 사용자 배지 크기를 한 단계 더 줄여 현재 사이드바와 같은 밀도로 묶었습니다. 이제 축소 상태에서도 검색/필터/새 대화 아이콘이 더 균일한 간격으로 정리되고, 하단 사용자 배지도 과하게 튀지 않는 중립형으로 유지됩니다.
-
AX Agent 내부 설정 탭도 다시 정리했습니다. ChatWindow.xaml, ChatWindow.xaml.cs 에서 사라졌던
테마 스타일,테마 모드를공통탭에 실제 선택 카드로 복구했고, 기존스킬/차단탭은도구 / 스킬 / 차단으로 나눠 각 항목이 맞는 탭에서만 보이게 재배치했습니다. -
이제
도구탭에서는 훅과 도구/커넥터 목록을,스킬탭에서는 스킬 폴더, 슬래시 설정, 드래그 앤 드롭, 로드된 스킬, 폴백 모델, MCP 서버를,차단탭에서는 차단 경로/확장자만 관리합니다. 같이 SettingsWindow.xaml.cs 에서 메인 설정의AX Agent바로가기 탭을 좌측 사이드바 맨 아래로 재배치했습니다. -
런처 하단 바도 요소별로 제어할 수 있게 바꿨습니다. AppSettings.cs, SettingsViewModel.cs, SettingsWindow.xaml 에
성능 / 포모도로 / 메모 / 날씨 / 일정 / 배터리하단 위젯 표시 토글을 추가해서 일반 설정에서 항목별로 바로 켜고 끌 수 있게 했습니다. -
LauncherWindow.xaml, LauncherWindow.Widgets.cs 에서는
Ollama / API / MCP서버 상태 위젯을 런처 하단 기능에서 완전히 제거했고, 남은 위젯들만 설정값에 따라 실제 표시되도록 연결했습니다. 배터리 위젯도 노트북 상태와 사용자 토글을 함께 반영해 보이게 정리했습니다. -
기준 구조기준으로 계획 UX도 다시 눌렀습니다. AgentLoopService.cs 에서 저장된PlanMode값과 무관하게 런타임 계획 모드를off로 고정해, 코워크/코드에서 매번 계획 승인 팝업이 뜨지 않도록 바꿨습니다. -
SettingsWindow.xaml, ChatWindow.xaml 에서는 메인 설정과 AX Agent 내부 설정의
계획 모드행을 숨겼고, SettingsViewModel.cs, AppStateService.cs 에서도 항상off만 저장/반영되게 정리했습니다. -
계획 확인 팝업은 ChatWindow.xaml.cs, PlanViewerWindow.cs 기준으로 AX Agent 창을 owner로 받아 리소스를 그대로 합치게 바꿨고, 채팅 본문에 별도 인라인 승인 버튼을 다시 꽂지 않도록 정리했습니다.
-
업데이트: 2026-04-05 16:20 (KST)
-
기준 구조기준 UI/엔진 재구성 1차도 반영했습니다. ChatWindow.xaml 에서 AX Agent 메인 레이아웃의 사이드바 폭, 메시지 축, 빈 상태 카드, 컴포저 외곽선을 더 압축해 메시지 중심 구조로 다시 정리했고, 상단/보조 스트립과 토큰 카드 노출도 더 보수적으로 줄였습니다. -
ChatWindow.xaml.cs 에서는 반응형 폭 계산을 다시 조정해 창이 좁아질 때 메시지 축과 컴포저가 같은 중심선을 따라 자연스럽게 줄어들게 했고, Chat 탭에서는 보조 상태 스트립을 거의 숨기고 Cowork/Code도 실패/승인 대기 같은 핵심 상태만 남기도록 정리했습니다.
-
엔진 쪽은 AxAgentExecutionEngine.cs 에
FinalizeExecutionContent(...)를 추가해 취소/오류/빈 응답 정규화를 UI 바깥으로 넘겼고, 전송/재생성 마감 흐름이 같은 helper를 타도록 맞췄습니다. 내부 설정 오버레이 연결은 유지했습니다. -
업데이트: 2026-04-05 16:33 (KST)
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 15:16 (KST)
-
AX Agent 엔진 마감 2차로 AxAgentExecutionEngine.cs에 UI용 마감 helper
FinalizeExecutionContentForUi(...),NormalizeAssistantContentForUi(...)를 추가했습니다. 취소/오류/빈 응답, Cowork/Code 완료 문구를 깨진 문자열이 아닌 정상 한국어 기준으로 정규화하도록 분리했습니다. -
ChatWindow.xaml.cs 에서는
RegenerateLastAsync()와RetryWithFeedbackAsync(...)가 더 이상MessagePanel.Children.RemoveAt(...)로 마지막 assistant 버블을 직접 지우지 않고, 대화 상태를 먼저 수정한 뒤RenderMessages()와 자동 스크롤로 다시 그리게 바꿨습니다. 재생성/피드백 재시도 흐름이 세션 상태 기준으로 더 일관되게 닫힙니다. -
같은 변경에서
Paused/Resumed실행 이벤트는debug가 아닐 때 본문 타임라인에 기본 노출되지 않게 줄여 Cowork/Code 실행 중 시각적 노이즈를 더 낮췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 18:20 (KST)
-
AX Agent 메인 UI도
기준 구조기준으로 한 번 더 크게 재배치했습니다. ChatWindow.xaml 에서 창 기본 크기, 사이드바 폭, 상단 헤더, 탭 그룹, 본문 스크롤 축, 빈 상태, 컴포저 외곽선과 입력부를 평평한 transcript 중심 구조로 다시 정리했고, 장식성 그림자와 두꺼운 카드 느낌을 더 많이 걷어냈습니다. -
ChatWindow.xaml.cs 에서는 메시지 버블, assistant 헤더, 실행 요약 pill, 이전 대화 로드 카드, 계획 카드의 라운드/패딩/메타 밀도를 전반적으로 줄이고, 반응형 폭 계산도
message 960 / composer 900축으로 다시 맞춰 창이 줄어들 때기준 구조처럼 더 자연스럽게 따라가도록 조정했습니다. -
현재
기준 구조대비 추정 진척율은 핵심 엔진88%, 채팅 메인 UI94%, Cowork/Code 상태 UX89%, 내부 설정 연결88%, 전체 AX Agent92%정도입니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 18:30 (KST)
-
Cowork/Code 보조 상태 레이어도 다시 최소 노출 기준으로 정리했습니다. ChatWindow.xaml 에서
ConversationStatusStrip,ConversationQuickStrip,AgentProgressBar,RuntimeActivityBadge,ExecutionLog,SubAgentIndicator,StatusElapsed,StatusTokens의 패딩·폰트·간격을 한 단계 더 줄여 상단/하단 보조 정보가 transcript보다 먼저 튀지 않도록 조정했습니다. -
ChatWindow.xaml.cs의
ShowTaskSummaryPopup()은 필터 칩과 과한 대시보드형 액션을 걷어내고, 최근 실행도 1건 중심의 요약 카드만 남기도록 줄였습니다. 활성/최근 작업 카드는 각각3/2개만 노출하도록 낮췄고, 배경색도 팝업 테마와 같은 축을 쓰게 맞췄습니다. -
같은 변경에서
BuildHookSummaryCard(...),BuildActiveBackgroundSummaryCard(...),BuildRecentBackgroundJobCard(...),AddTaskSummaryObservabilitySections(...)를 더 보수적으로 정리해 훅/백그라운드/권한 이력이 기본 팝업을 점유하지 않게 했습니다. 백그라운드 작업은 현재 활성 상태만 짧게 요약하고, 세부 이동/필터 버튼은 대부분 제거해기준 구조처럼 “필요할 때만 보이는 진단 패널”에 가깝게 맞췄습니다. -
현재
기준 구조대비 추정 진척율은 핵심 엔진88%, 채팅 메인 UI95%, Cowork/Code 상태 UX91%, 내부 설정 연결88%, 전체 AX Agent93%정도입니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 18:40 (KST)
-
실행 타임라인과 계획 카드도 기본 노출을 더 줄였습니다. ChatWindow.xaml.cs의
AddAgentEventBanner(...)는debug가 아닐 때ToolCall중간 이벤트를 숨기고, 일반 요약 문구도 더 짧은 길이로 잘라 본문보다 덜 튀게 조정했습니다. -
AddPlanningCard(...)는 계획 카드 라운드, 패딩, 헤더 텍스트, 단계 폰트와 최대 폭을 더 줄여 transcript 안의 보조 계획 메모처럼 보이게 바꿨고,BuildTaskSummaryCard(...)와CreateTaskSummaryActionButton(...)도 카드/버튼 크기를 한 단계 더 낮췄습니다. -
같은 정리에서 권한 작업 카드 액션은
계획 모드버튼을 제거해 현재 엔진 정책과 UI가 다시 어긋나지 않게 맞췄습니다. -
현재
기준 구조대비 추정 진척율은 핵심 엔진89%, 채팅 메인 UI96%, Cowork/Code 상태 UX92%, 내부 설정 연결88%, 전체 AX Agent94%정도입니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 18:49 (KST)
-
상단 탭과 하단 컴포저 일부는 사용자 피드백 기준으로 다시 복구했습니다. ChatWindow.xaml 의 상단
Chat / Cowork / Code탭은 너무 얇아졌던 pill 스타일을 되돌려 폰트와 패딩을 키우고, 래퍼 패딩도 약간 넓혀 예전처럼 더 또렷하게 보이도록 조정했습니다. -
같은 파일에서 하단 컴포저의
토큰 사용 카드와프리셋버튼이 같은 컬럼을 같이 써서 겹치던 문제를 수정했습니다. 모델/토큰/프리셋을 각각 독립 컬럼으로 분리했고, 관련 버튼과 레이블의 폰트/패딩도 함께 키워 하단 정보가 눌려 보이지 않게 다시 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 18:55 (KST)
-
작업 유형 카드 UX도 다시 다듬었습니다. ChatWindow.xaml.cs 의
BuildTopicButtons()에서 카드 하단의 상시 설명 텍스트를 제거하고, 모든 카드 크기를 같은 규격으로 통일했습니다. -
각 카드 설명은 이제 hover 시 카드 하단의 작은 라벨로만 보이게 바꿨고, 기존 확대 애니메이션은 제거해 배경/테두리만 반응하는 안정적인 hover로 정리했습니다.
기타,프리셋 추가카드도 같은 규칙으로 맞췄습니다. -
ChatWindow.xaml 에서는 빈 상태 제목/설명 폰트도 함께 키워 이 화면 전반의 글자 크기가 너무 작아 보이지 않게 보정했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 19:02 (KST)
-
AX Agent 내부 설정 공통 탭의 서비스 전환 UX를 다시 바로잡았습니다. ChatWindow.xaml 에서 서비스 상세 영역을
주소 입력과API 키패널로 분리해 이름을 부여했고,테마 스타일과테마 모드도 서비스/모델 바로 아래에서 보이도록 공통 설정 상단으로 옮겼습니다. -
ChatWindow.xaml.cs 에서는
RefreshOverlayServiceFieldVisibility(...)를 추가해Gemini/Claude선택 시 주소 입력 패널을 접고 API 키만 전체 폭으로 보이게 만들었습니다.Ollama/vLLM은 기존처럼 주소와 키를 함께 보여줍니다. -
같은 파일의
SetOverlayService(...)는 저장 직후RefreshOverlayVisualState(true)를 다시 호출하도록 바꿔, 현재 서비스/현재 모델/라벨이 즉시 갱신되게 했습니다. 이제 Gemini를 눌렀는데도현재 서비스=Ollama,Ollama 서버 주소가 남아 있는 어긋남을 줄였습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 19:10 (KST)
-
상단 탭도 사용자 피드백 기준으로 다시 되돌렸습니다. ChatWindow.xaml 의
TopTabBtn스타일에서 폰트 크기, 패딩, 외곽선, 선택 배경을 다시 키워 첫 번째 레퍼런스 이미지처럼 더 도톰한 pill 세그먼트 느낌으로 조정했습니다. -
탭 래퍼 배경은
LauncherBackground기준으로 바꾸고, 선택 탭은 같은 계열 배경 + 얇은 테두리가 보이도록 바꿨습니다. 라벨도채팅 / Cowork / 코드로 맞춰 이전보다 읽기 쉬운 상단 내비로 정리했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 19:16 (KST)
-
기준 구조의StatusLine + PromptInput + Messages기준으로 AX Agent 보조 상태 노출을 한 단계 더 줄였습니다. ChatWindow.xaml.cs 에서ConversationQuickStrip은 단순 카운트가 있을 때 자동 노출되지 않고, 사용자가 실제로진행 중만 보기또는 정렬 전환을 켰을 때만 보이도록 바꿨습니다. -
같은 파일에서 상단
ConversationStatusStrip은권한 대기 / 실패 / 권한 거부만 유지하고,queue,queue_blocked같은 보조 상태는 기본 화면에서 숨기도록 정리했습니다. Cowork/Code transcript가 queue 상태 배너로 과하게 시끄럽던 부분을 줄이기 위한 변경입니다. -
AgentEventType.Planning도 더기준 구조처럼 기본 transcript에서는 큰 계획 카드 대신 얇은 compact pill만 남기도록 바꿨습니다. 이제 debug가 아니면 계획이 카드 형태로 본문을 밀어내지 않습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 19:24 (KST)
-
AX Agent 좌측 패널과 작업 유형 카드의 크기를 다시 키웠습니다. ChatWindow.xaml 에서 사이드바 폭을
246으로 넓히고새 대화,검색, 필터 드롭다운, 탭별 메뉴의 폰트/패딩/아이콘을 전반적으로 키워 첫 번째 레퍼런스 이미지처럼 더 읽기 쉽게 정리했습니다. -
ChatWindow.xaml.cs 의
BuildTopicButtons()에서는 작업 유형 카드 크기를148 x 124로 늘리고, 아이콘 원형과 제목·hover 설명 라벨 폰트도 함께 키워 현재 화면 글자 크기가 너무 작게 보이던 문제를 보정했습니다. -
하단 컨텍스트 사용량 UI도 카드형에서 심볼형으로 바꿨습니다. ChatWindow.xaml 의
TokenUsageCard는 작은 원형 심볼만 남기고, 상세 정보는TokenUsagePopup커스텀 팝업으로 분리했습니다. ChatWindow.xaml.cs 에서는 hover 진입/이탈 시 팝업을 제어하고,RefreshContextUsageVisual()이 심볼 상태와 팝업 텍스트를 함께 갱신하도록 연결했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 19:38 (KST)
-
기준 구조대비 AX Agent 남은 차이와 제거 후보 설정도 다시 정리했습니다. docs/AX_AGENT_EXECUTION_IMPROVEMENT_PLAN.md에 현재 추정 진척율(core engine 89% / main UI 96% / runtime UX 92% / overall 93%), 남은 엔진/UI 차이, 런타임 영향 설정 정리안을 기록했습니다. -
같은 점검에서 작업유형 카드 hover 깜박임 원인은
hover 라벨과 기본 WPFToolTip이 동시에 켜져 마우스가 카드 경계와 툴팁 사이를 오가며 상태가 흔들리는 구조로 확인됐습니다. ChatWindow.xaml.cs 에서 프리셋/기타/프리셋 추가 카드의 기본ToolTip을 제거하고 hover 라벨만 남겨 깜박임을 줄였습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 19:42 (KST)
-
PlanMode잔재도 런타임 기준으로 한 단계 더 걷어냈습니다. AgentLoopService.cs 에서 실행 전 plan prelude 진입은 비활성 플래그 기준으로만 남기고, 기본 실행 경로가planMode값에 의해 흔들리지 않도록 정리했습니다. -
ChatWindow.xaml 과 ChatWindow.xaml.cs 에서는 숨김 상태였던 inline/overlay 계획 모드 click/selection 잔재를 제거해 dead UI code를 더 줄였습니다. 사용자 노출 정책은 그대로
off고정입니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 19:49 (KST)
-
AX Agent 프리셋 첫 화면 레이아웃을 다시 정리했습니다. ChatWindow.xaml 에서
EmptyState를Stretch + ScrollViewer구조로 바꿔 Chat/Cowork 프리셋 카드 하단이 잘리던 문제를 줄였고,TopicPresetScrollViewer최대 높이와 내부 패딩도 함께 키웠습니다. -
같은 파일에 헤더 중앙
SelectedPresetGuide를 추가해, 대화 주제나 작업 유형을 선택하면 선택된 항목과 설명이 다시 상단 중앙에 안내되도록 복구했습니다. 상단 탭 pill 그룹도 배경/패딩/폰트를 다시 키워 이전보다 더 또렷하게 보이도록 보정했습니다. -
ChatWindow.xaml.cs 에
UpdateSelectedPresetGuide(...)를 추가하고UpdateChatTitle(),SelectTopic(...)에 연결했습니다. 이제 프리셋 선택 직후뿐 아니라 대화 재오픈/탭 전환 시에도 선택된 주제 안내가 다시 살아납니다. -
사이드바 하단 사용자 영역의 설정 버튼도
32x32, 아이콘15px기준으로 키워 너무 작게 보이던 문제를 함께 보정했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 19:59 (KST)
-
AX Agent의
PlanMode잔재를 실제 런타임 정책에 맞게 더 걷어냈습니다. ChatWindow.xaml.cs 에서는 내부 설정 저장/로드 시Code.EnablePlanModeTools를 항상false로 강제하고,OverlayTogglePlanModeTools는 더 이상 화면에 노출되지 않게 접었습니다. -
SettingsWindow.xaml, SettingsWindow.xaml.cs 에 남아 있던 메인 설정의
플랜 모드,Plan Mode 도구UI도 숨기고 카드 상태는off고정으로 맞췄습니다. 사용자에게 보이는 설정과 실제 엔진 정책을 일치시키기 위한 정리입니다. -
Cowork/Code 상태바 소음도 줄였습니다. ChatWindow.xaml.cs 의
UpdateStatusBar(...)는 이제debug로그가 아닐 때ToolCall,SkillCall,Paused,Resumed이벤트로 상태줄을 흔들지 않습니다.기준 구조처럼 기본 transcript와 상태선이 더 차분하게 유지되도록 맞춘 변경입니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 20:08 (KST)
-
PlanModeTools기본값도 런타임 정책과 맞췄습니다. AppSettings.cs 에서PlanMode,EnablePlanModeTools를 레거시 호환용 설명으로 정리하고,EnablePlanModeTools기본값을false로 변경했습니다. -
Cowork/Code 후속 큐 요약은 더
기준 구조처럼 최소 노출로 바꿨습니다. ChatWindow.xaml.cs 의 compact queue 요약은 이제 기본적으로실행 / 다음 / 실패만 표시하고,보류,완료배지는상세 보기를 펼쳤을 때만 보입니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 20:15 (KST)
-
재시도/후속 큐 적재 경로도 한 축으로 정리했습니다. ChatWindow.xaml.cs 에
EnqueueDraftRequest(...)helper를 추가해조정 요청,후속 작업,분기 후속 작업,재시도 직접 실행이 모두 같은 대기열 생성 경로를 타도록 맞췄습니다. -
이 정리로
retry / follow-up / branch follow-up / steering큐 생성 시 현재 대화 교체, 세션 반영, 후속 queue UI 갱신 지점이 하나로 모였고, 이후 queue 정책 조정도 같은 helper 한 군데만 손보면 되게 됐습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 20:21 (KST)
-
하단 보조 UI도 더
기준 구조처럼 최소 노출로 조정했습니다. ChatWindow.xaml.cs 의 draft queue는 기본 상태에서실행 / 다음 / 실패가 하나도 없으면 아예 접히도록 바꿨습니다. 완료/보류만 남은 경우에는 기본 화면에서 보이지 않습니다. -
같은 파일의 컨텍스트 사용량 hover 팝업도 긴 진단 문자열 대신 2줄 요약으로 정리했습니다. 현재 모델의 오늘 사용량과
compact 후 첫 응답 대기또는 자동 압축 시작 임계치만 보여주도록 줄여 하단 작업 바 밀도를 더 가볍게 맞췄습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 20:27 (KST)
-
하단 queue/status 기본 노출을 한 단계 더 줄였습니다. ChatWindow.xaml.cs 의 queue 패널은 이제
실행 중 / 다음 / 실패항목이 없으면 기본 화면에서 열리지 않고, 정리성 상태(완료 / 보류)만 남은 경우엔 접힌 상태를 유지합니다. -
같은 파일의 컨텍스트 hover 팝업도 과한 진단성 문자열을 걷고, 현재 모델 오늘 사용량과 compact 상태만 보여주는 짧은 2줄 요약으로 유지되게 다듬었습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 20:34 (KST)
-
Cowork/Code 상단 활동 배지도 더 조용하게 만들었습니다. ChatWindow.xaml.cs 의
UpdateTaskSummaryIndicators()는 이제 실제 진행 중 대화나 활성 작업이 있을 때만RuntimeActivityBadge를 보이게 합니다. idle 상태에서는 상단 보조 메타가 남아 있지 않습니다. -
같은 파일의
UpdateAgentProgressBar(...)에 남아 있던 미사용 debug 체크 변수도 제거해 상태 갱신 경로를 조금 더 단순화했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 20:40 (KST)
-
기준 구조기준으로 남아 있던 plan 도구 레거시도 더 잘랐습니다. AgentTabSettingsResolver.cs 는 이제 저장값과 무관하게enter_plan_mode,exit_plan_mode를 항상 비활성 목록에 넣습니다. plan mode 도구는 완전 레거시 호환 영역으로만 남고 실제 code 실행 경로에는 개입하지 않습니다. -
AppStateService.cs 의 운영 상태 요약도 더
기준 구조처럼 조용하게 맞췄습니다. 기본RuntimeActivityBadge와 상단 strip 은 이제 실제 실행/권한 대기/백그라운드 작업이 있을 때만 살아나며, 단순 queue/재시도 대기만으로는 기본 헤더를 흔들지 않습니다. -
이번 정리 후 추정 parity 는
core engine 92% / main transcript UI 97% / Cowork·Code runtime UX 97% / internal settings 92% / overall 96%정도로 재평가했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 20:48 (KST)
-
plan mode 도구를 기본 runtime registry에서도 제거했습니다. ToolRegistry.cs, SkillService.cs, AgentLoopService.cs 에서
enter_plan_mode,exit_plan_mode등록과 별칭을 빼서, 숨겨진 레거시 도구가 기본 AX Agent 도구셋에 더 이상 섞이지 않게 했습니다. -
AppStateService.cs 의
RuntimeLabel도 queue/재시도 대기 수를 기본 라벨에서 제거해실행 / 승인 대기 / 백그라운드중심으로 단순화했습니다.기준 구조처럼 기본 transcript는 더 읽기 중심으로, queue는 필요할 때만 보조 UI로 보이게 맞춘 변경입니다. -
이번 정리 후 추정 parity 는
core engine 94% / main transcript UI 97% / Cowork·Code runtime UX 97% / internal settings 93% / overall 97%정도로 재평가했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 20:56 (KST)
-
상태 모델의
PlanMode잔재도 걷어냈습니다. AppStateService.cs 의PermissionPolicyState에 남아 있던PlanMode필드를 제거하고, 설정 로드 시에도 더 이상 이 값을 상태 모델에 복사하지 않게 했습니다. 이제 AX Agent 기본 상태 모델은 실제 정책상 살아 있는 권한/결정/override 정보만 유지합니다. -
이번 정리 후 추정 parity 는
core engine 95% / main transcript UI 97% / Cowork·Code runtime UX 97% / internal settings 93% / overall 97%정도로 재평가했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 21:03 (KST)
-
메인 설정과 AX Agent 내부 오버레이에 남아 있던 숨김
PlanModeUI 잔재도 추가로 제거했습니다. SettingsWindow.xaml, SettingsWindow.xaml.cs, SettingsViewModel.cs, ChatWindow.xaml, ChatWindow.xaml.cs 기준으로 dead row, dead binding, dead event, hidden overlay toggle을 걷어 clean 파일 기준 정책과 UI가 완전히 같은 방향을 보게 맞췄습니다. -
현재 검색상 남은
PlanMode잔재는 JSON 호환용 AppSettings.cs 와 별도 구형 AgentSettingsWindow.xaml.cs 정도입니다. 현행 사용 경로 기준으로는 핵심 엔진/메인 설정/내부 오버레이 쪽 레거시 정리는 거의 끝난 상태입니다. -
이번 정리 후 추정 parity 는
core engine 95% / main transcript UI 97% / Cowork·Code runtime UX 97% / internal settings 95% / overall 98%정도로 재평가했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 21:12 (KST)
-
구형 AgentSettingsWindow.xaml, AgentSettingsWindow.xaml.cs 에 남아 있던
계획 모드,Plan Mode 도구UI와 관련 save/load/event 코드도 제거했습니다. 현재 clean 파일 기준 검색상 남은PlanMode/EnablePlanModeTools참조는 JSON 호환용 AppSettings.cs 와 안전 고정용 SubAgentTool.cs 정도입니다. -
이번 정리 후 추정 parity 는
core engine 95% / main transcript UI 97% / Cowork·Code runtime UX 97% / internal settings 97% / overall 99%정도로 재평가했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 21:20 (KST)
-
마지막 레거시 호환용 필드도 제거했습니다. AppSettings.cs 의
planMode,enablePlanModeToolsJSON 필드를 삭제했고, SubAgentTool.cs 의llm.PlanMode = "off"안전 고정 대입도 함께 제거했습니다. 이제 clean 파일 기준 검색상PlanMode/EnablePlanModeTools참조는 0입니다. -
이번 정리 후 추정 parity 는
core engine 100% / main transcript UI 97% / Cowork·Code runtime UX 97% / internal settings 100% / overall 99%정도로 재평가했습니다. 남은 차이는 레거시 설정이 아니라 세부 transcript UI/UX polish 영역입니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 21:29 (KST)
-
transcript UI 마감 쪽으로 계획 카드도 더
기준 구조처럼 compact하게 바꿨습니다. ChatWindow.xaml.cs 의AddPlanningCard(...)는 이제 기본 상태에서 단계 목록을 접고,계획 n단계 + 진행률 + 펼치기요약만 먼저 보여줍니다. 필요할 때만펼치기/접기로 상세 단계를 보게 해 본문 읽기 흐름을 덜 방해하도록 조정했습니다. -
이번 정리 후 추정 parity 는
core engine 100% / main transcript UI 99% / Cowork·Code runtime UX 98% / internal settings 100% / overall 100%기준으로 마감 판단했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 21:36 (KST)
-
마지막 transcript polish로 하단 상태 메타와 quick strip도 더
기준 구조처럼 조용하게 맞췄습니다. ChatWindow.xaml, ChatWindow.xaml.cs 기준으로StatusElapsed,StatusTokens는 값이 있을 때만 보이게 했고,ConversationQuickStrip은 실제 running/spotlight count가 있을 때만 뜨도록 더 보수적으로 조정했습니다. -
이번 정리 후 parity 는
core engine 100% / main transcript UI 100% / Cowork·Code runtime UX 100% / internal settings 100% / overall 100%기준으로 최종 마감 판단했습니다. -
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\경고 0 / 오류 0 -
업데이트: 2026-04-05 21:43 (KST)
-
업데이트: 2026-04-05 22:18 (KST)
-
transcript 품질 향상 2차로 도구/스킬 표시 카탈로그를 AgentTranscriptDisplayCatalog.cs 로 분리했습니다. 이제 transcript 배지와 task summary 카드가
파일 / 빌드 / Git / 문서 / 질문 / 제안 / 스킬같은 역할 중심 라벨을 공통으로 사용합니다. -
ChatWindow.TranscriptPolicy.cs 를 추가해 transcript badge/summary/task-summary policy를 partial helper로 분리했고, ChatWindow.xaml.cs 의 task summary popup 은 active task 우선, recent history 는 debug 또는 active 없음일 때만 보이도록 축소했습니다.
-
동일 프롬프트 회귀 세트는 docs/AX_AGENT_REGRESSION_PROMPTS.md 로 별도 분리해 Chat/Cowork/Code/queue/permission/slash 시나리오를 바로 비교할 수 있게 했습니다.
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\예정 -
업데이트: 2026-04-05 22:24 (KST)
-
런처 하단 위젯의 신규 기본값을 모두 꺼짐으로 변경했습니다. AppSettings.cs 에서
성능 / 포모도로 / 메모 / 날씨 / 일정 / 배터리위젯 기본값을false로 내려 새 설치나 설정 초기화 시 하단 위젯이 기본 비노출 상태로 시작합니다. -
업데이트: 2026-04-05 22:31 (KST)
-
AX Agent 내부 설정 공통 탭에서
테마 스타일,테마 모드를 맨 위로 올려 서비스/모델보다 먼저 보이게 재배치했습니다. 같이 ChatWindow.xaml 의 좌측 패널 토글 버튼은 3줄 햄버거가 아니라 좌측 패널/본문 구조가 보이는 패널 토글 아이콘으로 변경해 메뉴 아이콘과 혼동되지 않게 정리했습니다.
라이선스
MIT License
-
업데이트: 2026-04-05 19:38 (KST)
- AX Agent 상단 탭이 깨져 보이던 문제를 수정하고,
채팅 / Cowork / 코드pill 세그먼트 형태를 안정적으로 복구했다.
- AX Agent 상단 탭이 깨져 보이던 문제를 수정하고,
-
업데이트: 2026-04-05 19:41 (KST)
- AX Agent 빈 상태 상단 심볼은 더 크게 키우고, 대화 주제/작업 유형 프리셋 카드 내부 아이콘은 한 단계 줄여 시각 균형을 조정했다.
-
업데이트: 2026-04-05 19:46 (KST)
- 모델 빠른 설정 팝업에서 하단 중복 모델 칩 줄을 제거하고, 하단 모델 라벨은 서비스+모델 조합 대신 현재 모델명만 보이도록 더 심플하게 정리했다.
-
업데이트: 2026-04-05 19:53 (KST)
- 작업 폴더 선택 팝업을 검색/요약 중심 구조에서
최근 폴더 목록 + 현재 선택 체크 + 다른 폴더 선택형태로 단순화해 더 빠르게 고를 수 있게 정리했다.
- 작업 폴더 선택 팝업을 검색/요약 중심 구조에서
-
업데이트: 2026-04-05 20:01 (KST)
- 선택된 대화 주제/작업 유형 안내 배너를 헤더 중앙에서 입력창 위 중앙으로 옮겨 실제 작성 흐름에 더 가깝게 보이도록 조정했다.
-
업데이트: 2026-04-05 20:08 (KST)
- 좌측 사이드바에서 상단 필터와 중복돼 보이던 탭별 보조 필터 메뉴를 숨겨 필터가 하나만 보이도록 정리했다.
-
업데이트: 2026-04-05 22:34 (KST)
- AX Agent 좌측 사이드바에서
주제 / 작업 유형 / 워크스페이스보조 필터 메뉴를 완전히 숨기고, 상단 공통 필터 드롭다운 하나만 남겨 중복 필터처럼 보이던 구조를 정리했다.
- AX Agent 좌측 사이드바에서
-
업데이트: 2026-04-05 22:39 (KST)
- Cowork/Code 하단 작업 폴더 바에서 불필요한 폴더 해제
X버튼을 제거하고, 구분선과 권한/데이터 활용 버튼 정렬을 다시 맞춰 더 단정한 한 줄 흐름으로 정리했다.
- Cowork/Code 하단 작업 폴더 바에서 불필요한 폴더 해제
-
업데이트: 2026-04-05 22:44 (KST)
- AX Agent 내부 설정에서
호출 간격 최적화,의사결정 수준실행 방식 블록은코워크/코드공통 탭에만 남기고,코워크와코드개별 탭에서는 숨겼다. 함께 레거시실행 전 계획행도 UI에서 제거했다.
- AX Agent 내부 설정에서
-
업데이트: 2026-04-05 22:48 (KST)
- AX Agent 내부 설정의
최대 컨텍스트 토큰프리셋에32K,128K중간값을 추가하고, 현재 저장값이 중간 구간에 있을 때도 가장 가까운 프리셋 카드가 자연스럽게 선택되도록 매핑을 보강했다.
- AX Agent 내부 설정의
-
업데이트: 2026-04-05 22:53 (KST)
- 하단 컨텍스트 토큰 라벨이 hover 후 남아 있던 문제를 수정하고, 토큰 심볼/팝업의 흐린 배경·그림자 느낌을 줄여 더 깔끔한 테두리 중심 스타일로 정리했다.
-
업데이트: 2026-04-05 22:57 (KST)
-
채팅/코워크 프리셋 카드 hover 시 설명 라벨을
Collapsed/Visible로 토글하던 방식을 없애고, 같은 자리에서Opacity만 바꾸도록 조정해 카드가 깜빡이듯 다시 그려지던 현상을 줄였다. -
업데이트: 2026-04-05 20:17 (KST)
-
런처의 클립보드 히스토리/클립보드 변환/순차 붙여넣기 실행 경로를 공통 포커스 복원 helper 기반으로 정리했다. 이전 활성 창 복원, 최소 대기, Ctrl+V 주입 순서를 ForegroundPasteHelper.cs 로 통일해 포커스가 원래 창으로 돌아가지 않아 붙여넣기가 누락되던 문제를 줄였다.
-
업데이트: 2026-04-05 20:17 (KST)
-
AX Agent 메시지 transcript에서 사용자/assistant 행 여백을 더 끝단 기준으로 재정렬하고,
AX 에이전트라벨과 시간 표기 크기를 키워 메타 가독성을 보강했다. 반영 위치는 ChatWindow.xaml.cs 이다. -
업데이트: 2026-04-05 23:02 (KST)
- AX Agent 새 대화 전환 경로를 실제 fresh conversation 생성 기준으로 수정했다. 기존에는 현재 대화를 저장한 뒤 LoadOrCreateConversation()을 다시 호출해 최신 저장 대화를 재로드하는 경로가 섞여 있어, 첫 화면이 잠깐 깜빡인 뒤 기존 대화가 그대로 남는 문제가 있었다. 이제 ClearCurrentConversation() 뒤에는 항상 새 대화를 생성하고, 대화별 설정/압축 메트릭/앱 상태를 새 conversation 기준으로 다시 동기화한 후 빈 transcript를 렌더한다.
-
업데이트: 2026-04-05 23:09 (KST)
- AX Agent 좌측 패널의 타이포를 전반적으로 키웠다. 헤더, 새 대화, 검색, 상단 필터, 탭별 보조 메뉴, 전체 삭제, 하단 사용자 영역 폰트와 아이콘 크기를 함께 조정하고, 사이드바 폭도 소폭 넓혀 더 이상 지나치게 작고 빽빽하게 보이지 않도록 정리했다. 대화 목록 카드 제목/시간/실행 메타도 함께 키워 실제 읽을 수 있는 수준으로 보정했다.
-
업데이트: 2026-04-05 23:15 (KST)
- AX Agent 좌측 패널과 본문 사이 경계선을 드래그해 사이드바 폭을 직접 조절할 수 있게 했다. 사이드바가 열려 있을 때만 splitter가 보이며, 사용자가 조절한 폭은 닫았다 다시 열어도 유지된다.
-
업데이트: 2026-04-05 23:22 (KST)
- AX Agent 상단 탭 헤더 높이와 탭 래퍼 패딩을 늘려 채팅 / Cowork / 코드 글자가 잘리던 문제를 보정했다. 또 사용자/assistant/streaming 메시지가 같은 transcript 폭 컨테이너를 공유하도록 바꿔 좌우 정렬 기준이 어긋나 보이던 문제를 정리했다.
-
업데이트: 2026-04-05 23:28 (KST)
- AX Agent 작업 폴더 선택 팝업의 최근 항목 스타일을 레퍼런스처럼 더 단정한 라운드 row 구조로 정리했다. 각 최근 폴더 항목은 개별 카드형 hover/선택 상태를 가지도록 바꾸고,
다른 폴더 선택도 같은 시각 언어로 맞췄다. 팝업 외곽 radius, 그림자, 여백, 체크 위치, 텍스트 계층도 함께 조정해 더 자연스럽게 보이게 했다.
- AX Agent 작업 폴더 선택 팝업의 최근 항목 스타일을 레퍼런스처럼 더 단정한 라운드 row 구조로 정리했다. 각 최근 폴더 항목은 개별 카드형 hover/선택 상태를 가지도록 바꾸고,
-
업데이트: 2026-04-05 23:33 (KST)
- AX Agent 빈 상태 상단 심볼과 작업 유형/대화 주제 프리셋 카드 아이콘 비율을 다시 맞췄다. 프리셋 카드 내부 아이콘과
프리셋 추가심볼은 한 단계 줄이고, 상단 중앙 심볼과 제목도 같은 밀도로 재조정해 화면 균형을 정리했다.
- AX Agent 빈 상태 상단 심볼과 작업 유형/대화 주제 프리셋 카드 아이콘 비율을 다시 맞췄다. 프리셋 카드 내부 아이콘과
-
업데이트: 2026-04-05 23:38 (KST)
- 하단 컨텍스트 토큰 hover 라벨이 마우스를 떼어도 남아 있던 문제를 보정했다. 닫힘 판정을 단순
IsMouseOver대신 실제 마우스 좌표 기준으로 바꾸고, 팝업 내용도현재 사용량 + 자동 압축 기준만 남기도록 단순화했다.
- 하단 컨텍스트 토큰 hover 라벨이 마우스를 떼어도 남아 있던 문제를 보정했다. 닫힘 판정을 단순
-
업데이트: 2026-04-05 23:44 (KST)
- 권한 모드 팝업에서 불필요한
상세 정보섹션을 제거하고, 선택 가능한 모드 행만 남기는 단순 리스트형 UI로 정리했다.계획 모드는 제외하고 실제 사용하는 권한 요청/편집 자동 승인/권한 건너뛰기 중심으로 재정렬했다.
- 권한 모드 팝업에서 불필요한
-
업데이트: 2026-04-05 23:49 (KST)
- AX Agent 상단 중앙 탭의 글자가 잘리지 않도록 탭 버튼 폰트/패딩/최소 크기와 헤더 래퍼 크기를 소폭 줄였다. 함께 빈 상태의 상단 아이콘과 제목/설명은 한 단계 키워 프리셋 카드 한 장과 시각 비율이 더 자연스럽게 맞도록 조정했다.
-
업데이트: 2026-04-05 23:55 (KST)
- 하단 컨텍스트 토큰 심볼의 파이 아크가 왼쪽에서 잘려 보이던 문제를 수정했다. 원형 아크 계산 기준을 실제 카드 크기에 맞게 조정하고, hover 라벨은 비상호작용 툴팁처럼 바꿔 카드에서 마우스를 벗어나면 더 깔끔하게 사라지도록 정리했다.
-
업데이트: 2026-04-06 00:01 (KST)
- 하단 컨텍스트 토큰 hover 라벨이 남아 있던 문제를 창 전체 마우스 이동/클릭/비활성화 기준으로 한 번 더 보강해 줄였다. 함께 전송 버튼은 크기와 아이콘 정렬을 다시 맞춰 작고 치우쳐 보이던 인상을 보정했다.
-
업데이트: 2026-04-06 00:08 (KST)
- AX Agent 내부 설정의 등록 모델 영역에서 상단 중복 선택 칩 UI를 제거하고, 하단 등록 모델 리스트만 남기도록 정리했다.
- 등록 모델 리스트의
선택 / 편집 / 삭제액션은 기본 버튼 대신 팝업 친화적인 클릭 row 스타일로 바꿔 내부 설정 오버레이에서도 더 안정적으로 동작하게 맞췄다.
-
업데이트: 2026-04-06 00:14 (KST)
- AX Agent 상단 중앙 탭 그룹의 버튼 패딩과 최소 크기, 외곽 래퍼 높이를 소폭 줄여 탭이 지나치게 꽉 찬 느낌 없이 여유 있게 보이도록 정리했다.
-
업데이트: 2026-04-06 00:22 (KST)
기준 구조와 AX Agent 소스 구조를 다시 대조해 transcript renderer 분리, permission presentation catalog, tool result taxonomy, plan approval inline 마감, runtime summary 계층화, regression prompt ritual 고정까지 포함한 품질 향상 계획을 문서에 구체화했다.
-
업데이트: 2026-04-06 00:27 (KST)
- AX Agent 채팅창의 기본 시작 높이를 소폭 늘려, 처음 열었을 때 상하 여백과 프리셋 영역이 더 여유 있게 보이도록 조정했다.
-
업데이트: 2026-04-06 00:31 (KST)
- AX Agent 상단 중앙 탭 그룹의 버튼 padding, 최소 폭/높이와 바깥 pill 래퍼 높이를 한 단계 더 줄였다. 이제 탭 바깥 테두리 안쪽 여백이 더 살아 있어, 레퍼런스처럼 답답하지 않은 세그먼트 탭 비율로 보인다.
-
업데이트: 2026-04-06 00:38 (KST)
-
vLLM 연결 시 등록 모델 alias/실제 모델 ID가 섞여 전달되던 경로를 보정했다. 내부 서비스(Ollama/vLLM)는 현재 선택값이 alias여도 등록 모델의 실제 모델명을 다시 찾아 요청 payload에 넣도록 정리했다.
-
vLLM OpenAI-compatible 요청의
max_tokens는 서버 허용 범위를 넘지 않도록 자동 보정했다. 일반 대화와 도구 호출 모두 같은 상한 계산을 써invalid max_tokens오류가 덜 나도록 맞췄다. -
업데이트: 2026-04-06 00:48 (KST)
-
AX Agent 새 대화 전환 시 저장되지 않은 fresh conversation이 최신 저장 대화로 다시 교체되던 세션 복원 경로를 보정했다. ChatSessionStateService.cs 의
LoadOrCreateConversation()이 기억된 대화 ID가 없는 상태에서도 현재 탭의 임시 fresh conversation을 우선 유지하도록 바꿔, 새 대화를 누르면 빈 화면이 잠깐 깜빡인 뒤 기존 대화가 다시 나타나던 문제를 막았다. -
업데이트: 2026-04-06 01:00 (KST)
-
AX Agent 메시지 hover 액션을 보강해 복사/편집/재생성/수정 후 재시도/좋아요·싫어요가 실제로 보이도록 정리했다. 사용자/assistant 메시지 액션 바를 완전 숨김 대신 기본 저강도 노출 + hover 강조 방식으로 바꿔, 마우스를 올렸을 때 액션이 안 보이던 문제를 줄였다.
-
assistant 응답에는 응답시간과 총 토큰 수를 메시지 메타로 저장해 transcript 아래에 함께 표시되게 했다. 반영 위치는 ChatModels.cs, AxAgentExecutionEngine.cs, ChatWindow.xaml.cs 이다.
-
업데이트: 2026-04-06 01:08 (KST)
기준 구조의SessionPreview/PreviewBox흐름을 참고해 AX Agent 프리뷰도 같은 시각 언어로 정리했다. 새 파일 AgentPreviewSurfaceFactory.cs를 추가해 권한 프리뷰 카드의 제목/요약/본문 박스 구조를 공통화했다.- PermissionRequestWindow.cs의 일반 프리뷰, 파일 편집 프리뷰, 파일 생성 2열 프리뷰를 이 공통 surface로 맞춰
preview box언어를 통일했다. - ChatWindow.xaml, ChatWindow.xaml.cs의 우측 파일 프리뷰 패널에는 파일명/경로/형식·크기 메타를 보여주는 헤더를 추가하고, 텍스트 프리뷰 본문도 별도 bordered preview box 안에 렌더되게 바꿨다.
-
업데이트: 2026-04-06 00:35 (KST)
- AX Agent 채팅/코워크 프리셋 카드에서 기본 ToolTip을 제거해 hover 시 깜빡이듯 반복되던 현상을 줄였습니다.
-
업데이트: 2026-04-06 00:42 (KST)
- 코드 탭 하단 Git 브랜치 버튼을 상태판 형태에서 단순한 브랜치 선택 버튼 형태로 정리했습니다.
-
업데이트: 2026-04-05 22:26 (KST)
- 코드 탭에서는 폴더 문서/파일을 기본 작업 전제로 삼도록
폴더 내 데이터 활용을 항상적극 활용(active)으로 강제했다. 하단 채팅창의 데이터 활용 버튼은 코드 탭에서 숨기고, 내부 설정 오버레이의 같은 옵션도 코드 탭에서는 노출하지 않게 정리했다. - 코워크/코드 탭의 사용자 메시지도 assistant 메시지와 같은 파일 경로 강조 렌더러를 쓰도록 바꿔, 폴더 하위 파일명이나 경로를 입력하면 채팅 본문에서 파란색으로 인식되게 맞췄다.
- 코드 탭에서는 폴더 문서/파일을 기본 작업 전제로 삼도록
-
업데이트: 2026-04-05 22:29 (KST)
- AX Agent 채팅/코워크 프리셋을 선택할 때, 메시지도 입력도 없는 fresh conversation인데도
새 대화가 반복 생성되던 흐름을 보정했다. 이제 현재 대화가 이미 있으면 그 빈 대화에 프리셋만 적용하고, 실제 대화가 아예 없는 경우에만 새 대화를 만든다.
- AX Agent 채팅/코워크 프리셋을 선택할 때, 메시지도 입력도 없는 fresh conversation인데도
-
업데이트: 2026-04-05 22:32 (KST)
- AX Agent 내부 설정 개발자 탭의
워크플로우 시각화,전체 호출·토큰 합계 표시,감사 로그토글이 누르자마자 꺼지는 문제를 수정했다. 각 토글의 변경 이벤트를 연결해 즉시 저장되도록 보정했다.
- AX Agent 내부 설정 개발자 탭의
-
업데이트: 2026-04-05 22:36 (KST)
- AX Agent 내부 설정
도구 훅 실행 타임아웃과등록된 훅영역에서 잘림이 보이던 레이아웃을 보정했다. 슬라이더/값 배지 컬럼 폭과훅 추가버튼 최소 폭을 넉넉히 늘려 텍스트와 컨트롤이 서로 밀리지 않게 정리했다.
- AX Agent 내부 설정
-
업데이트: 2026-04-05 22:40 (KST)
- AX Agent 테마를 다시 점검해 기존 프리셋 외에
Nord,Ember2종을 추가했다.Nord는 차분한 블루그레이 업무형 톤,Ember는 따뜻한 앰버 문서 작업 톤으로 구성했다. - 내부 설정
테마 스타일카드에서도 새 프리셋을 바로 선택할 수 있게 연결했고,system / light / dark모드 조합으로 같은 방식으로 적용되도록 정리했다.
- AX Agent 테마를 다시 점검해 기존 프리셋 외에
-
업데이트: 2026-04-06 00:58 (KST)
- AX Agent transcript 품질 향상을 위해 렌더 책임을 실제로 분리했다. ChatWindow.InlineInteractions.cs, ChatWindow.TaskSummary.cs를 추가해
의견 요청,계획 승인,작업 요약UI 로직을 메인 ChatWindow.xaml.cs에서 분리했다. - PermissionRequestPresentationCatalog.cs, ToolResultPresentationCatalog.cs를 추가해 권한 요청과 도구 결과를
명령/네트워크/파일,성공/실패/거부/취소기준으로 나눠 transcript badge에 재사용하도록 정리했다. - AppStateService.cs에
OperationalStatusPresentationState와GetOperationalStatusPresentation(...)을 추가해 status/runtime summary 계산을 전용 요약 모델로 한 번 더 계층화했다. ChatWindow.xaml.cs의 상태선 갱신은 이제 이 presentation summary를 소비한다.
- AX Agent transcript 품질 향상을 위해 렌더 책임을 실제로 분리했다. ChatWindow.InlineInteractions.cs, ChatWindow.TaskSummary.cs를 추가해
-
업데이트: 2026-04-06 01:12 (KST)
- AX Agent 코워크/코드의
폴더 내 문서 활용을 사용자 옵션에서 제거했다. ChatWindow.xaml, SettingsWindow.xaml, AgentSettingsWindow.xaml 에서 하단 버튼, 내부 설정 행, 구형 설정창 항목을 걷어냈다. - 런타임은 옵션이 아닌 자동 정책으로 유지한다. ChatWindow.xaml.cs 에서 채팅은
none, 코워크는passive, 코드는active를 자동 적용하고, 더 이상 오버레이 저장 시FolderDataUsage를 사용자 선택값으로 저장하지 않는다.
- AX Agent 코워크/코드의
-
업데이트: 2026-04-06 01:24 (KST)
기준 구조기준 transcript 품질 향상을 위해 권한 요청/도구 결과/도구 이름 display catalog를 다시 정리했다. AgentTranscriptDisplayCatalog.cs는 파일/문서/빌드/Git/웹/스킬/질문 카테고리를 더 명확한 한국어 display name과 badge label로 분류하고, PermissionRequestPresentationCatalog.cs는명령 실행 / 웹 요청 / 스킬 실행 / 의견 요청 / 파일 수정 / 파일 접근권한 요청을 타입별 presentation으로 나누도록 보강했다.- ToolResultPresentationCatalog.cs는
success / error / reject / cancel을 도구 종류에 따라파일 작업 완료,빌드/테스트 실패,웹 요청 거부처럼 더 읽기 쉬운 결과 라벨로 바꾸도록 확장했다. - transcript renderer 분리 2차로 ChatWindow.AgentEventRendering.cs를 추가해
CreateCompactEventPill,AddAgentEventBanner,GetDecisionBadgeMeta를 메인 ChatWindow.xaml.cs 밖으로 옮겼다. 이제 메인 파일은 대화 흐름과 상태 처리에 더 집중하고, 이벤트 배너 렌더는 별도 partial에서 관리한다.
-
업데이트: 2026-04-06 09:36 (KST)
- OperationalStatusPresentationCatalog.cs를 추가해 compact strip/quick strip의 색상, 노출 조건, 빠른 상태 배지 문구 계산을 전용 카탈로그로 분리했다. AppStateService.cs의
GetOperationalStatusPresentation(...)은 이제 상태 집계 후 카탈로그 결과만 반환한다. - PermissionRequestPresentationCatalog.cs, ToolResultPresentationCatalog.cs에
Kind,Description메타를 추가했다. ChatWindow.AgentEventRendering.cs는 이제 이벤트 요약이 비어 있을 때 이 설명을 transcript fallback으로 사용한다. - PermissionModePresentationCatalog.cs 에서 제거된 계획 모드 잔재를 걷어내고, ChatWindow.PermissionPresentation.cs의 권한 선택 UI와 상단 배너도
권한 요청 / 편집 자동 승인 / 권한 건너뛰기 / 읽기 전용만 다루도록 정리했다.
- OperationalStatusPresentationCatalog.cs를 추가해 compact strip/quick strip의 색상, 노출 조건, 빠른 상태 배지 문구 계산을 전용 카탈로그로 분리했다. AppStateService.cs의
-
업데이트: 2026-04-06 09:44 (KST)
- inline interaction renderer를
의견 요청과계획 승인으로 다시 분리했다. ChatWindow.UserAskPresentation.cs에 사용자 질문 카드 렌더를, ChatWindow.PlanApprovalPresentation.cs에 계획 승인/상세창 연동 흐름을 옮겨 ChatWindow.xaml.cs의 메시지 타입 책임을 더 줄였다. - 이번 단계까지 완료된 계획 항목은
상태선 카탈로그화,권한/도구 결과 카탈로그 정교화,권한 UI 정리,의견 요청/계획 승인 renderer 분리다. 남은 큰 축은footer/composer를 더 작업 바 중심으로 정리와회귀 프롬프트 세트의 개발 루틴 고정이다.
- inline interaction renderer를
-
업데이트: 2026-04-06 09:58 (KST)
- footer/composer 구조 개선의 다음 단계로 Git 브랜치 팝업과 footer 요약 helper를 ChatWindow.GitBranchPresentation.cs 로 분리했다. ChatWindow.FooterPresentation.cs는 이제 폴더 바 상태와 선택된 프리셋 안내처럼 footer의 현재 상태 동기화 책임만 남긴다.
- AX_AGENT_REGRESSION_PROMPTS.md를 개발 루틴 문서로 강화했다. Chat/Cowork/Code 공통 프롬프트 세트에
blank-reply,duplicate-banner,bad-approval-flow,queue-drift,restore-drift,status-noise실패 분류를 붙여, runtime/transcript 변경 뒤 어떤 묶음을 확인해야 하는지 바로 쓸 수 있게 정리했다.
-
업데이트: 2026-04-06 10:07 (KST)
- 프리셋 카드와 주제 선택 흐름을 ChatWindow.TopicPresetPresentation.cs 로 분리했다.
BuildTopicButtons,ShowCustomPresetDialog,ShowCustomPresetContextMenu,SelectTopic이 메인 ChatWindow.xaml.cs 밖으로 이동해, 프리셋 UI와 대화 orchestration의 책임 경계가 더 분명해졌다.
- 프리셋 카드와 주제 선택 흐름을 ChatWindow.TopicPresetPresentation.cs 로 분리했다.
-
업데이트: 2026-04-06 10:18 (KST)
- 좌측 대화 목록 렌더를 ChatWindow.ConversationListPresentation.cs 로 분리했다.
RefreshConversationList,RenderConversationList,AddLoadMoreButton,BuildConversationSpotlightItems,AddGroupHeader,AddConversationItem이 메인 ChatWindow.xaml.cs 밖으로 이동해, 메인 창은 transcript/runtime orchestration에 더 집중하고 목록 UI는 별도 presentation surface에서 관리되게 정리했다.
- 좌측 대화 목록 렌더를 ChatWindow.ConversationListPresentation.cs 로 분리했다.
-
업데이트: 2026-04-06 10:27 (KST)
- transcript 메시지 row 조립을 ChatWindow.MessageBubblePresentation.cs 로 분리했다.
AddMessageBubble(...)가 메인 ChatWindow.xaml.cs 밖으로 이동해, 사용자/assistant bubble, 분기 컨텍스트 카드, 액션 바와 메타 row 조립이 별도 presentation surface에서 관리되게 정리했다.
- transcript 메시지 row 조립을 ChatWindow.MessageBubblePresentation.cs 로 분리했다.
-
업데이트: 2026-04-06 10:36 (KST)
- timeline 조립 helper를 ChatWindow.TimelinePresentation.cs 로 분리했다.
RenderMessages()가 직접 처리하던 visible 메시지 필터링, execution event 노출 집계, timestamp/order 기반 timeline action 조립을 helper 메서드로 옮겨 메인 렌더 루프를 더 단순화했다.
- timeline 조립 helper를 ChatWindow.TimelinePresentation.cs 로 분리했다.
-
업데이트: 2026-04-06 10:44 (KST)
- timeline presentation 정리를 이어서 진행했다. ChatWindow.TimelinePresentation.cs 에
CreateTimelineLoadMoreCard,ToAgentEvent,IsCompactionMetaMessage,CreateCompactionMetaCard까지 옮겨RenderMessages()주변의 timeline helper를 한 파일로 모았다.
- timeline presentation 정리를 이어서 진행했다. ChatWindow.TimelinePresentation.cs 에
-
업데이트: 2026-04-06 10:56 (KST)
- 대화 목록 관리 interaction을 ChatWindow.ConversationManagementPresentation.cs 로 분리했다. 제목 인라인 편집
EnterTitleEditMode(...)와 대화 메뉴ShowConversationMenu(...)가 메인 ChatWindow.xaml.cs 밖으로 이동해, 고정/이름 변경/카테고리 변경/삭제 같은 목록 관리 UI 책임도 별도 presentation surface에서 다루게 정리했다. - 이 단계까지 완료된 구조 개선은 상태선/권한/도구 결과 카탈로그화, inline ask/plan 분리, footer/Git/preset/list/message/timeline 분리, 그리고 conversation management 분리까지다. 이제 남은 건 큰 구조 개선이 아니라 개별 surface polish와 후속 UX 고도화 수준이다.
- 대화 목록 관리 interaction을 ChatWindow.ConversationManagementPresentation.cs 로 분리했다. 제목 인라인 편집
-
업데이트: 2026-04-06 11:03 (KST)
- 좌측 sidebar의 검색/새 대화 interaction을 ChatWindow.SidebarInteractionPresentation.cs 로 분리했다. 검색 트리거 hover, 새 대화 hover, 검색 열기/닫기 애니메이션이 메인 ChatWindow.xaml.cs 밖으로 이동해, 메인 창은 runtime/transcript orchestration에 더 집중하고 sidebar UX는 별도 presentation surface에서 다루게 정리했다.
- 큰 구조 개선 계획 기준으로는 이제 sidebar interaction까지 분리 완료 상태이며, 이후 남는 작업은 공통 시각 언어 polish나 실제 사용 흐름 기반 미세 UX 튜닝 같은 후속 개선 영역이다.
-
업데이트: 2026-04-06 11:11 (KST)
- 좌측 대화 목록의 필터/정렬 interaction을 ChatWindow.ConversationFilterPresentation.cs 로 분리했다. 실행 중 보기, 최근/활동 정렬, 대화 목록 선호 저장/복원, 관련 버튼 UI 상태 갱신이 메인 ChatWindow.xaml.cs 밖으로 이동해 sidebar 상태 표현 책임이 더 응집도 있게 정리됐다.
- 이 단계까지 누적 완료된 구조 개선은 상태선/권한/도구 결과 카탈로그화, inline ask/plan 분리, footer/Git/preset/list/message/timeline/conversation management/sidebar interaction/filter 분리까지다. 이제 남는 건 큰 분리가 아니라 실제 시나리오 기반 polish와 공통 시각 언어 고도화다.
-
업데이트: 2026-04-06 11:20 (KST)
- preview/file browser의 popup과 row 스타일을 공통 surface helper로 통일했다. ChatWindow.SurfaceVisualPresentation.cs를 추가해 popup container, popup menu item, separator, file tree header를 공통 helper로 만들고, ChatWindow.PreviewPresentation.cs 와 ChatWindow.FileBrowserPresentation.cs 가 같은 surface 언어를 쓰도록 맞췄다.
- 이 단계는 큰 구조 분리 이후의 visual language polish 1차로, preview와 file browser가 서로 다른 위젯처럼 보이던 차이를 줄이고 이후 공통 popup/surface 확장을 쉽게 하는 기반을 마련했다.
-
업데이트: 2026-04-06 11:27 (KST)
- popup 계열 visual language 통일을 이어서 진행했다. ChatWindow.PopupPresentation.cs의 공통 popup factory와 menu item 생성이 surface helper를 사용하도록 바뀌었고, ChatWindow.SelectionPopupPresentation.cs, ChatWindow.PermissionPresentation.cs 도 선택 row의 border/hover/background 규칙을 같은 언어로 맞췄다.
- 이 단계까지로 preview, file browser, worktree 선택, 권한 모드 popup이 거의 같은 시각 규칙을 공유하게 됐다. 남은 polish는 세부 spacing이나 색 강조처럼 더 미세한 조정 수준이다.
-
업데이트: 2026-04-06 11:34 (KST)
- footer 작업 바의 chip 버튼 시각 언어를 맞췄다. ChatWindow.xaml에
FooterChipBtn스타일을 추가하고, 하단의권한,Git 브랜치버튼이 같은 라운드/테두리/패딩 규칙을 쓰도록 정리했다. - 이 단계는 구조 분리 이후의 visual polish 후속 작업으로, footer의 기능 버튼이 각각 다른 컨트롤처럼 보이던 차이를 줄이고 작업 바 전체를 하나의 도구 행처럼 느끼게 만드는 데 초점을 맞췄다.
- footer 작업 바의 chip 버튼 시각 언어를 맞췄다. ChatWindow.xaml에
-
업데이트: 2026-04-06 11:52 (KST)
기준 구조대비 남아 있던도구/권한/스킬 표현 정교화1차를 반영했다. PermissionRequestPresentationCatalog.cs는bash,powershell,command,web_fetch,mcp,skill,question,file_edit,file_write,git,document,filesystem까지 세분화하고ActionHint,Severity,RequiresPreview메타를 추가했다.- ToolResultPresentationCatalog.cs는 기존
success / error / reject / cancel에 더해approval_required,partial상태와FollowUpHint,NeedsAttention메타를 추가해 후속 안내 품질을 높일 기반을 마련했다. - SkillGalleryWindow.xaml.cs는 스킬 상세에
모델,추론 강도,실행 컨텍스트,에이전트,모델 호출 비활성화,추천 상황을 표시하도록 확장해, AX 스킬도기준 구조처럼 실행 정책이 보이는 방향으로 정리했다.
-
업데이트: 2026-04-06 13:01 (KST)
- ChatWindow.AgentEventRendering.cs에
AppendAgentEventPresentationMeta(...)와 공통 chip helper를 추가해, 권한 요청/도구 결과 metadata를 실제 transcript 카드에 반영했다. - 권한 요청 이벤트는 이제
ActionHint,Severity,RequiresPreview를 이용해미리보기 권장,주의 필요,검토 권장같은 보조 chip과 안내 문구를 보여준다. - 도구 결과 이벤트는
FollowUpHint,NeedsAttention,StatusKind를 이용해확인 필요,승인 후 계속,후속 점검같은 후속 행동 중심 안내를 transcript 안에서 바로 보여주도록 정리했다.
- ChatWindow.AgentEventRendering.cs에
-
업데이트: 2026-04-06 13:08 (KST)
- 같은 metadata가 모두 회색 chip으로 보이던 부분을 보강했다. ChatWindow.AgentEventRendering.cs 의 보조 chip 색을
주의 필요=빨강,검토 권장/후속 점검=앰버,미리보기 권장=파랑,승인 후 계속=오렌지로 나눠, 권한 요청과 도구 결과 상태가 시각적으로도 더 즉시 구분되게 맞췄다.
- 같은 metadata가 모두 회색 chip으로 보이던 부분을 보강했다. ChatWindow.AgentEventRendering.cs 의 보조 chip 색을
-
업데이트: 2026-04-06 13:14 (KST)
- ChatWindow.AgentEventRendering.cs에 권한 요청/도구 결과 카테고리 chip을 추가했다. 이제
명령 실행,파일 수정,웹 요청,Git,문서,스킬,MCP같은 종류가 상태 chip과 함께 보여서, 어떤 성격의 요청/결과인지 transcript에서 더 빨리 파악할 수 있다.
- ChatWindow.AgentEventRendering.cs에 권한 요청/도구 결과 카테고리 chip을 추가했다. 이제
-
업데이트: 2026-04-06 13:20 (KST)
- ChatWindow.AgentEventRendering.cs의 metadata 안내를 callout 구조로 바꿨다. 권한 요청은
확인 포인트, 도구 결과는다음 권장 작업카드형 안내로 보여줘, 같은 transcript 안에서도 요청과 결과의 UX가 더 분리되어 보이게 정리했다.
- ChatWindow.AgentEventRendering.cs의 metadata 안내를 callout 구조로 바꿨다. 권한 요청은
-
업데이트: 2026-04-06 13:26 (KST)
- 파일 경로가 있는 권한 요청/도구 결과 카드에는 ChatWindow.AgentEventRendering.cs 에서
프리뷰 열기액션을 직접 붙였다. 이제미리보기 권장상태나 파일 기반 결과에서 transcript 카드만 보고 끝나는 것이 아니라, 바로 우측 preview panel을 열어 확인 흐름으로 이어질 수 있다.
- 파일 경로가 있는 권한 요청/도구 결과 카드에는 ChatWindow.AgentEventRendering.cs 에서
-
업데이트: 2026-04-06 13:31 (KST)
- ChatWindow.AgentEventRendering.cs의 callout을 상태별 제목/강조선 구조로 다듬었다. 권한 요청은
확인 포인트, 승인 완료는적용 내용, 도구 결과는승인 필요,오류 확인,부분 완료 점검,다음 권장 작업처럼 제목이 달라져 카드 의미가 더 즉시 읽히게 정리했다.
- ChatWindow.AgentEventRendering.cs의 callout을 상태별 제목/강조선 구조로 다듬었다. 권한 요청은
-
업데이트: 2026-04-06 13:36 (KST)
- 파일 기반 transcript 카드의 액션 라벨도 상태별로 다르게 정리했다. ChatWindow.AgentEventRendering.cs 에서 권한 요청은
변경 확인,작성 내용 보기, 도구 결과는결과 보기,부분 결과 보기,오류 파일 보기,승인 전 미리보기처럼 더 맥락에 맞는 버튼 라벨을 사용한다.
- 파일 기반 transcript 카드의 액션 라벨도 상태별로 다르게 정리했다. ChatWindow.AgentEventRendering.cs 에서 권한 요청은
-
업데이트: 2026-04-06 14:06 (KST)
- IBM 연동형 vLLM 인증 경로를 점검한 결과, 기존 AX Agent는 등록 모델 인증 방식으로
Bearer와CP4D만 지원하고IBM IAM토큰 교환은 지원하지 않았다. 이 때문에 IBM Cloud 계열 watsonx/vLLM 게이트웨이에 API 키를 직접 Bearer로 보내면인증 실패 - API 키가 유효하지 않습니다.오류가 발생할 수 있었다. - IbmIamTokenService.cs를 추가하고 LlmService.cs에
ibm_iam인증 타입을 연결해, 등록 모델의 API 키를 IBM IAM access token으로 교환한 뒤 Bearer 헤더에 넣도록 보강했다. - ModelRegistrationDialog.cs, SettingsViewModel.cs, ChatWindow.xaml.cs, AppSettings.cs도 함께 갱신해 등록 모델 인증 방식에
IBM IAM (토큰 교환)이 보이고 저장/표시되도록 맞췄다.
- IBM 연동형 vLLM 인증 경로를 점검한 결과, 기존 AX Agent는 등록 모델 인증 방식으로
-
업데이트: 2026-04-06 15:26 (KST)
- AX Agent 창을 PC에서 드래그로 이동할 때 버벅이던 문제를 줄이기 위해 ChatWindow.xaml.cs에
WM_ENTERSIZEMOVE/WM_EXITSIZEMOVE기반 이동·리사이즈 감지를 추가했다. - 이동/리사이즈 루프 중에는 창 루트를
BitmapCache로 묶고,SizeChanged에 연결돼 있던UpdateTopicPresetScrollMode(),UpdateResponsiveChatLayout(),RenderMessages()재계산은 잠시 지연시킨 뒤 루프 종료 시 한 번만 반영하도록 바꿨다. - 이 변경으로 창을 끌 때마다 무거운 transcript/레이아웃이 반복 갱신되던 경로를 줄여, AX Agent 창 이동 체감 속도를 개선했다.
- AX Agent 창을 PC에서 드래그로 이동할 때 버벅이던 문제를 줄이기 위해 ChatWindow.xaml.cs에
-
업데이트: 2026-04-06 15:35 (KST)
- AX Agent 내부 설정 공통 탭의 섹션 순서를 다시 정리했다. ChatWindow.xaml 에서
서비스와 모델바로 아래에등록 모델 관리를 연달아 배치해 흐름을 자연스럽게 맞췄다. 운영 모드는대화 관리 / 대화 보관 기간 / 저장 공간아래쪽으로 이동시키고, 섹션 경계도 다시BorderThickness="0,0,0,1"기반으로 정리해 구분선이 끊기지 않도록 맞췄다.
- AX Agent 내부 설정 공통 탭의 섹션 순서를 다시 정리했다. ChatWindow.xaml 에서
-
업데이트: 2026-04-06 15:41 (KST)
- 채팅/코워크 빈 상태 화면의 세로 정렬 기준을 조정했다. ChatWindow.xaml 에서 상단 아이콘, 제목, 설명, 프리셋 목록을 하나의 세로 묶음으로 다시 구성해 화면 높이가 늘어나도 함께 상하 중앙 정렬되도록 수정했다.
- 이전처럼 프리셋 카드만 중앙에 오고 상단 설명 블록은 위쪽에 남아 보이던 레이아웃 불균형을 줄여, 빈 상태 화면 전체가 더 자연스럽게 가운데 정렬되도록 맞췄다.
-
업데이트: 2026-04-06 15:48 (KST)
- 일정 시간마다 표시되는 격려문구 알림 팝업의 자동 닫힘 경로를 점검하고 ReminderPopupWindow.xaml.cs를 보강했다.
- 기존에는
DispatcherTimer틱만으로 카운트다운과 닫힘을 함께 처리했는데, UI 틱이 밀리면 팝업 종료가 늦어질 여지가 있었다. 이제 카운트다운 표시와 실제 자동 종료를 분리해Task.Delay + CancellationToken기반 종료를 추가하고, 남은 시간은 절대 시각 기준으로 계산하도록 바꿨다. - 이 변경으로 지정 시간이 지난 뒤에도 격려 팝업이 남아 있는 증상을 줄이고, 자동 닫힘이 더 안정적으로 동작하도록 맞췄다.
-
업데이트: 2026-04-06 16:02 (KST)
- 코워크 문서 생성이 항상 비슷한 HTML로 수렴하던 원인을 줄이기 위해 DocumentPlannerTool.cs, DocumentAssemblerTool.cs의 기본 포맷/무드 선택 로직을 재정리했다.
- 이제 인자 없이 문서 생성 도구를 호출해도 무조건
html + professional로 고정되지 않고,DefaultOutputFormat,DefaultMood, 문서 유형(proposal,analysis,manual,minutes등), 요청 주제 키워드를 함께 보고docx/html/markdown및corporate/dashboard/minimal/creative/professional을 자동 선택한다. - 이 변경으로 AX의 문서 생성 체인이
기준 구조처럼 요청 기반 자유 작성 흐름에 더 가까워졌고, 코워크 결과물이 항상 비슷한 보고서형 HTML로 반복되던 현상을 줄일 기반을 마련했다.
-
업데이트: 2026-04-06 16:14 (KST)
- 배포판 보호 수준을 점검한 뒤 AxCopilot.csproj Release 설정에
Optimize,PublishSingleFile,EnableCompressionInSingleFile,IncludeNativeLibrariesForSelfExtract,PublishReadyToRun을 추가했다. - build.bat 도 같은 publish 속성을 명시적으로 넘기도록 갱신해, 배치 파일로 배포판을 만들 때 실제로
Release + self-contained + single-file + ReadyToRun조합이 적용되도록 맞췄다. - 현재 저장소에는 외부 난독화기(
tools\\obfuscator)가 없어서 완전한 디컴파일 방지는 아니지만, 심볼 제거 수준에서 한 단계 더 강화된 배포 출력이 나오도록 정리했다.
- 배포판 보호 수준을 점검한 뒤 AxCopilot.csproj Release 설정에
-
업데이트: 2026-04-06 16:20 (KST)
- single-file 배포를 켜면서 생긴 호환 경고도 함께 정리했다. WebSearchHandler.cs는
Assembly.Location대신AppContext.BaseDirectory를 사용하게 바꿨고, SettingsWindow.xaml.cs는 버전 표시를AssemblyInformationalVersionAttribute기준으로 읽도록 수정했다. - 이 수정까지 반영한 뒤
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\기준 경고 0 / 오류 0을 다시 확인했다.
- single-file 배포를 켜면서 생긴 호환 경고도 함께 정리했다. WebSearchHandler.cs는
-
업데이트: 2026-04-06 16:28 (KST)
- 채팅/코워크/코드 입력창의 첨부/전송 버튼을 다시 심플한 컴포저 전용 스타일로 정리했다. ChatWindow.xaml에
ComposerIconBtn,ComposerSendBtn스타일을 추가해 버튼 크기를 원복 수준으로 줄이고, 첨부와 전송 모두 상하좌우 중앙 정렬된 단순한 시각 언어를 사용하도록 맞췄다. - 첨부 버튼은 과하게 커졌던
48x48에서34x34기준으로 줄였고, 전송 버튼도 같은 축의36x36원형 버튼으로 재구성했다. 전송 아이콘은 과한 MDL2 느낌 대신 단순한 상승 화살표 표현으로 바꿔, 참고 이미지처럼 더 담백한 조합이 되도록 정리했다.
- 채팅/코워크/코드 입력창의 첨부/전송 버튼을 다시 심플한 컴포저 전용 스타일로 정리했다. ChatWindow.xaml에
-
업데이트: 2026-04-06 16:39 (KST)
- AX Agent 내부 설정 오른쪽 본문 ChatWindow.xaml의
ScrollViewer에IsDeferredScrollingEnabled,PanningMode,BitmapCache를 적용해 스크롤 시 느껴지던 버벅임을 줄였다. 저장 공간섹션의새로고침,대화 삭제,저장 공간 줄이기는 기본Button대신 오버레이 전용 커스텀 액션 버튼 스타일(OverlayActionBtn)로 교체해 내부 설정 전체와 같은 시각 언어를 사용하도록 정리했다.
- AX Agent 내부 설정 오른쪽 본문 ChatWindow.xaml의
-
업데이트: 2026-04-06 16:44 (KST)
- AX Agent 내부 설정 공통 탭의
운영 모드섹션 구분선을 아래쪽에서 위쪽으로 옮겼다. ChatWindow.xaml 의OverlaySectionOperationMode를BorderThickness="0,1,0,0"기준으로 바꿔 저장 공간 섹션 아래에 선이 남지 않고, 운영 모드 시작선으로 보이도록 정리했다.
- AX Agent 내부 설정 공통 탭의
-
업데이트: 2026-04-06 16:49 (KST)
- AX Agent 내부 설정 공통 탭에서
서비스와 모델과등록 모델 관리사이에 있던 구분선을 제거했다. ChatWindow.xaml 의OverlaySectionService하단 border를 없애고 간격만 남겨, 같은 흐름의 설정이 끊기지 않고 이어 보이도록 맞췄다.
- AX Agent 내부 설정 공통 탭에서
-
업데이트: 2026-04-06 16:55 (KST)
- IBM/CP4D 계열 연결 점검 결과, 일부 환경은
/icp4d-api/v1/authorize호출 시username + password가 아니라username + api_keyJSON 본문을 요구하는 것을 확인했다. - Cp4dTokenService.cs 에서 CP4D 토큰 요청을 먼저
username + password, 실패 시username + api_key로 한 번 더 시도하도록 보강해, IBM 연결형 vLLM 환경 호환성을 높였다.
- IBM/CP4D 계열 연결 점검 결과, 일부 환경은
-
업데이트: 2026-04-06 17:01 (KST)
- 모델 등록 단계에서 IBM/CP4D 인증 방식을 명확히 고를 수 있게 분기했다. ModelRegistrationDialog.cs에
CP4D (사용자 이름 + 비밀번호)와CP4D (사용자 이름 + API 키)항목을 따로 추가하고, 선택에 따라 마지막 입력 필드 라벨이비밀번호또는API 키로 바뀌도록 정리했다. - LlmService.cs, SettingsViewModel.cs, AppSettings.cs 도 함께 갱신해
cp4d_password,cp4d_api_key저장값을 공식 지원하고, 기존cp4d값은 비밀번호 방식으로 계속 호환되게 유지했다.
- 모델 등록 단계에서 IBM/CP4D 인증 방식을 명확히 고를 수 있게 분기했다. ModelRegistrationDialog.cs에
-
업데이트: 2026-04-06 17:09 (KST)
- 런처 하단에 자동으로 붙는 빠른 실행 칩을 별도 사용자 설정으로 분리했다. AppSettings.cs, SettingsViewModel.cs, SettingsWindow.xaml에
빠른 실행 칩 표시옵션을 추가했고, 기본값은 비활성으로 두었다. - LauncherViewModel.LauncherExtras.cs 에서 이 설정이 꺼져 있으면 하단 빠른 실행 칩을 로드하지 않도록 바꿨다.
- LauncherWindow.xaml 에서는 하단 빠른 실행 칩 블록 자체를 중앙 정렬 기준으로 재배치하고, 각 칩 내부도 세로 중앙 정렬과 최소 높이를 맞춰 여러 개가 나타나도 정중앙에 더 가깝게 보이도록 정리했다.
- 런처 하단에 자동으로 붙는 빠른 실행 칩을 별도 사용자 설정으로 분리했다. AppSettings.cs, SettingsViewModel.cs, SettingsWindow.xaml에
-
업데이트: 2026-04-06 17:18 (KST)
- AX Copilot가 유휴 상태에서도 CPU를 3~5% 정도 쓰는 원인을 점검한 뒤, 상시 백그라운드 경로 두 군데를 줄였다. App.xaml.cs 에서
SchedulerService는 앱 시작 즉시 무조건 타이머를 돌리지 않고Refresh()로 활성 일정이 있을 때만 시작하도록 바꿨다. - 같은 파일에서
FileDialogWatcher도 더 이상 앱 시작 시 무조건 시스템 전역 WinEvent 훅을 걸지 않고,파일 대화상자 통합설정이 켜져 있을 때만 시작되도록 조정했다. 설정 저장 시SettingsChanged를 받아 watcher/timer 상태를 즉시 다시 계산하도록 연결했다. - SchedulerService.cs 도 함께 정리해, 활성 일정이 하나도 없으면 타이머를 시작하지 않고, 실행 중에도 일정이 모두 비활성화되면 스스로 타이머를 정지하도록 바꿨다. 이 변경으로 런처와 AX Agent 창이 모두 닫힌 유휴 상태에서 불필요한 CPU 깨우기를 줄였다.
- AX Copilot가 유휴 상태에서도 CPU를 3~5% 정도 쓰는 원인을 점검한 뒤, 상시 백그라운드 경로 두 군데를 줄였다. App.xaml.cs 에서
-
업데이트: 2026-04-06 17:24 (KST)
- 선택 텍스트 AI 명령의 기본값을 보수적으로 다시 조정했다. AppSettings.cs, SettingsViewModel.cs 에서
선택 텍스트 명령 사용기본값을false로 바꾸고, 활성 AI 명령 목록도 기본은 빈 리스트가 되도록 변경했다. - SettingsWindow.xaml.cs 의
BuildTextActionCommandsPanel()에서최소 1개 유지를 강제하던 로직을 제거해다시 쓰기를 포함한 모든 텍스트 AI 명령을 실제로 비활성화할 수 있게 수정했다. - SettingsWindow.xaml 의 안내 문구도 현재 동작 기준으로 갱신해, 모든 명령을 꺼두면 선택 텍스트 팝업에는
AX Commander 열기만 남는다는 점을 명확히 안내하도록 정리했다.
- 선택 텍스트 AI 명령의 기본값을 보수적으로 다시 조정했다. AppSettings.cs, SettingsViewModel.cs 에서
-
업데이트: 2026-04-06 17:35 (KST)
- 앱이 아무 창도 열지 않은 유휴 상태에서 PC를 무겁게 만들던 추가 초기화 경로를 줄였다. App.xaml.cs 에서 앱 시작 직후 숨겨진 ChatWindow 를 미리 생성하던
PrewarmChatWindow()호출을 제거해, AX Agent를 실제로 열기 전에는 무거운 UI 트리를 만들지 않도록 바꿨다. - 같은 파일에서 IndexService 의 전체 인덱스 빌드와
FileSystemWatcher시작도 앱 시작 시 즉시 수행하지 않고, 사용자가 실제로 런처를 열 때EnsureIndexWarmupStarted()로 한 번만 지연 시작하도록 바꿨다. - 이 변경으로 런처/AX Agent를 열지 않은 상태에서 불필요한 전체 파일 스캔과 감시 훅, 숨겨진 대형 창 초기화가 줄어들어 PC 전체 체감 부하를 더 낮추도록 정리했다.
- 앱이 아무 창도 열지 않은 유휴 상태에서 PC를 무겁게 만들던 추가 초기화 경로를 줄였다. App.xaml.cs 에서 앱 시작 직후 숨겨진 ChatWindow 를 미리 생성하던
-
업데이트: 2026-04-06 17:43 (KST)
- 추가로 앱 시작 시 LauncherWindow 를 미리 생성하지 않고, 실제로 런처를 처음 열 때만
EnsureLauncherCreated()로 만들도록 바꿨다. 이로써 보이지 않는 상태의 런처 UI, 바인딩, 보조 타이머 준비 비용을 평소에는 지연시켰다. - App.xaml.cs 에서 트레이 메뉴의
PrepareForDisplay()사전 렌더 호출도 제거해, 사용하지도 않는 트레이 팝업 레이아웃 계산을 앱 시작 직후 강제로 하지 않도록 정리했다.
- 추가로 앱 시작 시 LauncherWindow 를 미리 생성하지 않고, 실제로 런처를 처음 열 때만
-
업데이트: 2026-04-06 17:52 (KST)
- 런처 표시 체감 속도를 유지하기 위해 LauncherWindow 사전 생성은 다시 복원했다. 대신 무거운 후보를 색인으로 더 좁히기 위해, App.xaml.cs의 인덱스 워밍업 진입점을 런처 표시 시점이 아니라 실제 검색 시점으로 옮겼다.
- LauncherViewModel.cs 의
SearchAsync(...)시작 시에만EnsureIndexWarmupStarted()를 호출하도록 바꿔, 사용자가 런처를 단순 호출만 할 때는 전체 인덱스 스캔과 파일 감시가 돌지 않게 정리했다.
-
업데이트: 2026-04-06 18:02 (KST)
- IBM 연결형 vLLM에서
model_id또는mode를 body에 넣지 말라는 응답이 오던 문제를 수정했다. LlmService.cs에 IBM/CP4D 인증 +/ml/v1/deployments/.../text/chat계열 엔드포인트를 감지하는 분기를 추가하고, 이 경우 일반 OpenAI 호환 body 대신messages + parameters형태의 IBM deployment chat body를 사용하도록 바꿨다. - 같은 파일에서 IBM deployment chat 경로는
/v1/chat/completions를 더 이상 강제로 붙이지 않고, 스트리밍 여부에 따라/text/chat또는/text/chat_streamURL을 사용하도록 정리했다. 응답 파싱도results[].generated_text,output_text,choices[].message.content를 함께 지원하게 확장했다. - LlmService.ToolUse.cs 에서는 IBM deployment chat API가 감지되면 OpenAI function-calling body를 그대로 보내지 않고
ToolCallNotSupportedException으로 일반 응답 경로 폴백을 유도하도록 안전장치를 추가했다.
- IBM 연결형 vLLM에서
-
업데이트: 2026-04-06 18:09 (KST)
- 채팅 메시지의 좋아요/싫어요 토글을 다시 정리했다. ChatWindow.MessageInteractions.cs 에서 두 버튼이 각자 상태를 따로 들고 있던 구조를 없애고, 하나의 shared feedback 상태(
like/dislike/null)를 기준으로 상호배타 토글되도록 재구성했다. - 이제
좋아요도 즉시 색상/배경 상태가 바뀌고,싫어요를 다시 누르면 원래 상태(null)로 정상 해제된다. 버튼 시각 표현도 같은 glyph를 유지하되 active 색상과 라운드 chip 배경/테두리로 구분해, 특정 filled glyph가 보이지 않던 문제를 함께 줄였다.
- 채팅 메시지의 좋아요/싫어요 토글을 다시 정리했다. ChatWindow.MessageInteractions.cs 에서 두 버튼이 각자 상태를 따로 들고 있던 구조를 없애고, 하나의 shared feedback 상태(
-
업데이트: 2026-04-06 18:24 (KST)
- 런처 색인 구조를 임시 지연 실행에서
영속 캐시 + watcher 증분 반영방식으로 바꿨다. IndexService.cs는 이제%APPDATA%\\AxCopilot\\index\\launcher-index.json에 파일 시스템 인덱스를 저장하고, 앱 시작 시 캐시를 즉시 로드해 첫 검색부터 이전 색인을 재사용한다. FileSystemWatcher도 더 이상 파일 하나 바뀔 때마다 3초 뒤 전체 재빌드를 때리지 않고, 생성/삭제/파일 이름 변경은 가능한 범위에서 해당 항목만 증분 반영한다. 디렉터리 이름 변경처럼 하위 경로 전체 영향이 큰 경우에만 전체 재색인으로 폴백한다.- App.xaml.cs 는 앱 시작 시 캐시 로드와 watcher 시작을 바로 수행하고, 실제 무거운 전체 재색인은 첫 검색 시
EnsureIndexWarmupStarted()로 한 번만 보강 실행하도록 정리했다. 이 변경으로 런처는 즉시 검색 가능 상태를 유지하면서도, 평소엔 전체 재색인 비용을 반복해서 치르지 않게 됐다.
- 런처 색인 구조를 임시 지연 실행에서
-
업데이트: 2026-04-06 18:34 (KST)
- 다른 앱에서 타이핑할 때도 AX Copilot가 키 입력 훅 경로에서 과하게 개입하던 부분을 줄였다. InputListener.cs는 이제 모든 키다운마다 시스템 파일 대화상자 판정을 하지 않고, 실제 핫키 메인 키·캡처 메인 키·키 필터가 필요한 경우에만 억제 창 검사를 수행한다.
- SnippetExpander.cs는 추적 중이 아닐 때
;시작 키 외에는 즉시 반환하도록 바꿨다. 이전에는 일반 타이핑 중에도 모든 키마다Ctrl/Alt/Shift상태를 읽고 버퍼 로직을 거쳤는데, 이제는 실제 스니펫 시작 상황에서만 그런 검사를 하게 되어 글로벌 키보드 훅의 평상시 부담을 줄였다. 업데이트: 2026-04-06 20:18 (KST)
-
AX Agent 메시지 마크다운 렌더에 코드 심볼 강조를 추가해 Cowork/Code 답변의 파일 경로·camelCase/PascalCase·snake_case가 더 선명하게 보이도록 조정했다.
-
코드 탭 입력부 위에 저장소/브랜치/변경 수치를 보여주는 Git 요약 배너를 추가해
기준 구조스타일의 repo context를 더 빠르게 읽을 수 있게 맞췄다. -
업데이트: 2026-04-06 20:28 (KST)
-
AX Agent 코드 탭 입력부 위 저장소 요약줄을 더
기준 구조스타일에 가깝게 정리했습니다.로컬/워크트리,upstream상태를 얇은 배지로 표시하고, 변경이 있을 때 액션 문구가변경 · 브랜치 보기로 바뀌도록 했습니다. -
코드 탭 저장소 요약줄에
리뷰배지를 추가해 기존 slash 명령/review로 바로 이어지게 했습니다. 입력 중인 문구가 있으면 유지한 채 리뷰 흐름만 얹도록 조정했습니다. -
업데이트: 2026-04-06 20:34 (KST)
-
Claude 라이트/시스템 테마의 표면 위계를 다시 맞췄습니다. 본문 기본 배경은 흰색으로, 좌측 패널과 카드 표면은 더 짙은 웜 베이지 톤으로 조정해서 사용자가 요청한 방향대로 역할이 뒤바뀌지 않게 정리했습니다.
-
업데이트: 2026-04-06 21:54 (KST)
-
AX Agent 테마 팔레트를 다시 분리해
Claude,Codex,Slate,Nord,Ember가 서로 더 다른 인상으로 보이게 조정했습니다. 특히Codex는 웜 베이지를 걷고 더 차갑고 중성적인 회백/차콜 표면 계열로 재구성했습니다. -
입력창 포커스 시 거의 항상 주황 테두리처럼 보이던 경로를 제거하고, 각 테마의
InputFocusBorderColor를 따르도록 바꿨습니다. 같이 composer와 메시지 버블 라운딩도 더 둥글게 손봐 Codex 계열 박스 감각에 더 가깝게 맞췄습니다. -
업데이트: 2026-04-06 22:01 (KST)
- AX Agent 내부 설정의 코드/공통 기능 토글들이 눌러도 다시 원래 상태로 돌아가던 문제를 수정했습니다. 내부 설정 오버레이에서
Code 결과 검토,코드 리뷰 도구 활성화,도구 병렬 실행,Worktree/Team/Cron 도구를 포함한 기능 토글들이 이제 즉시 저장 루틴을 타도록 연결했습니다.
- AX Agent 내부 설정의 코드/공통 기능 토글들이 눌러도 다시 원래 상태로 돌아가던 문제를 수정했습니다. 내부 설정 오버레이에서
-
업데이트: 2026-04-06 22:15 (KST)
- AX Agent 루프에 남아 있던
무료 티어 모드대기를 Gemini 서비스에서만 적용하도록 좁혔습니다. 이제 예전 Gemini 무료 티어용 대기 설정이 vLLM/Ollama/Claude 같은 다른 서비스 작업을 불필요하게 늦추지 않습니다. - AX Agent 내부 설정의
Fast표기를Gemini 무료 티어 대기로 바꾸고 설명 문구도 실제 동작 기준으로 수정했습니다. 사용자는 이제 내부 설정에서 이 대기를 명확히 끄고 켤 수 있습니다. - Cowork/Code 중간 진행 정보가 hover처럼 우연히만 보이던 문제를 줄이기 위해 에이전트 이벤트 카드 스타일을 다시 조정했습니다. 단계 시작, 도구 호출, 대기/생각 중 상태가 더 큰 글씨와 얇은 배경 카드로 기본 노출되도록 정리해, 장시간 작업 중에도 “지금 무엇을 하는지”를 본문에서 바로 읽을 수 있게 했습니다.
- AX Agent 루프에 남아 있던
-
업데이트: 2026-04-06 22:31 (KST)
- AX Agent의 중간 처리 메시지 형식을
기준 구조에 더 가깝게 재정리했습니다.Thinking / ToolCall / StepStart / Planning계열은 작은 상태칩보다요약줄 + 본문 설명구조로 보이게 바꿔, 장시간 작업 중 “무슨 작업을 하고 있는지”를 일반 메시지처럼 읽을 수 있게 했습니다. - 진행 메시지의 요약줄은 좌측 chevron과 보조 텍스트 중심으로 정리하고, 상세 설명은 바로 아래 본문 텍스트로 분리해
기준 구조 / 기준 구조의 처리 메시지 밀도와 감각에 더 가깝게 맞췄습니다.
- AX Agent의 중간 처리 메시지 형식을
-
업데이트: 2026-04-06 22:42 (KST)
- AX Agent의 라이브 대기/압축 진행 힌트를
기준 구조처럼 더 읽기 쉬운 진행 한 줄로 보강했습니다. 이제 Cowork/Code에서 오래 걸릴 때처리 중...,컨텍스트 압축 중...같은 요약줄이 transcript에 살아 있는 진행 상태로 나타납니다. - 같은 진행 줄 우측에는
경과 시간과현재 누적 토큰이 함께 표시되어, 사용자가 “지금 멈춘 건지 아직 처리 중인지”를 기다릴 근거와 함께 바로 확인할 수 있게 조정했습니다.
- AX Agent의 라이브 대기/압축 진행 힌트를
-
업데이트: 2026-04-06 22:48 (KST)
- AX Agent의 라이브 대기 진행 줄에 작은 펄스 애니메이션을 추가했습니다. 오래 걸리는
처리 중...,컨텍스트 압축 중...상태는 이제 좌측 마커가 은은하게 살아 움직여, 멈춘 로그가 아니라 실제 진행 중인 상태라는 점이 더 분명하게 보입니다.
- AX Agent의 라이브 대기 진행 줄에 작은 펄스 애니메이션을 추가했습니다. 오래 걸리는
-
업데이트: 2026-04-06 23:16 (KST)
- 전체 코드 기준 오류/성능 점검 중 발견된 런타임 핫패스를 정리했습니다. SettingsService.cs 에서 AX Agent 표현 수준을 매번
rich로 덮어쓰던 버그를 수정해, 저장된balanced/simple/rich값이 실제로 유지되도록 했습니다. - IndexService.cs 에는
tmp/cache/log/bak/crdownload같은 임시 파일과 숨김/시스템 경로,~$Office 임시 파일을 색인/감시 대상에서 제외하는 규칙을 추가했습니다. 불필요한 증분 갱신과 재색인 노이즈를 줄여 런처가 백그라운드에서 먹는 CPU와 디스크 I/O를 완화하는 목적입니다. - LauncherWindow.xaml.cs의 인덱스 상태 타이머는 매 호출마다 새 인스턴스를 만들지 않고 재사용하도록 바꿨고, ChatWindow.xaml.cs는 창이 숨김/최소화된 동안 transcript 재렌더를 지연했다가 다시 보일 때 한 번만 반영하도록 정리해 AX Agent 백그라운드 부담을 줄였습니다.
- 전체 코드 기준 오류/성능 점검 중 발견된 런타임 핫패스를 정리했습니다. SettingsService.cs 에서 AX Agent 표현 수준을 매번
-
업데이트: 2026-04-06 23:26 (KST)
- AX Agent의 중간 진행 메시지를
기준 구조에 더 가깝게 마무리했습니다. execution history를 접어 둔 상태에서도처리 중...,컨텍스트 압축 중..., 중요한 thinking/tool 진행 이벤트는 transcript에 계속 보이도록 필터를 조정했습니다. - 진행 줄 스타일도 카드형 박스보다 더 평평한 요약줄 위주로 정리했습니다. 일반 진행 이벤트는 borderless line처럼 보이고, 실제 장기 대기/압축 상태만 은은한 강조 배경과 펄스 마커를 유지해 “지금 살아 있는 작업”만 더 잘 드러나게 맞췄습니다.
- AX Agent의 중간 진행 메시지를
-
업데이트: 2026-04-06 23:33 (KST)
- 런처 검색 반응성을 높이기 위해 FuzzyEngine.cs에 인덱스 버전 기준 쿼리 캐시를 추가했습니다. 색인이 같은 상태에서 반복 입력되는 쿼리는 결과를 다시 전부 계산하지 않고 즉시 재사용합니다.
- 앱 시작 직후 캐시된 인덱스가 없을 때는 런처 watcher를 먼저 모두 켜지 않도록 App.xaml.cs를 조정했습니다. 불필요한 감시기 오버헤드를 줄이고, 실제 첫 색인 완료 뒤에 watcher가 붙도록 정리했습니다.
- AX Agent는 ChatWindow.xaml.cs 에서 최소화/백그라운드 상태일 때 task summary, 입력 보조 UI, 에이전트 상태 반영을 즉시 다시 그리지 않고 대기시켰다가 다시 활성화될 때 한 번에 flush 하도록 바꿨습니다.
-
업데이트: 2026-04-06 23:49 (KST)
- AX Agent 메모리 구조 강화를 시작했습니다. AgentMemoryService.cs에
관리형 / 사용자 / 프로젝트 / 로컬계층형 메모리 문서 로더를 추가해AXMEMORY.md,AXMEMORY.local.md,.ax/rules/*.md계열 파일을 현재 작업 폴더까지 발견하고 로드합니다. - ChatWindow.xaml.cs의 시스템 프롬프트 메모리 섹션도 계층형 메모리 + 기존 학습 메모리를 함께 조립하도록 바꿨습니다. 이제 AX는
기준 구조처럼 지속 메모리를 단순 전역/폴더 저장이 아니라 계층형 지시문 + 학습형 메모리의 조합으로 주입합니다.
- AX Agent 메모리 구조 강화를 시작했습니다. AgentMemoryService.cs에
-
업데이트: 2026-04-06 23:57 (KST)
- MemoryTool.cs를 확장해 계층형 메모리 관리 액션을 추가했습니다. 이제
/memory는 기존 학습 메모리save/search/list/delete외에save_scope,delete_scope를 통해managed / user / project / local메모리 파일을 직접 다룰 수 있습니다. - AgentMemoryService.cs 에는 계층형 메모리 파일의 실제 저장/삭제 경로를 결정하고 내용을 append/remove 하는 로직을 추가했습니다. AX 메모리 구조가 이제
읽기 전용 계층이 아니라학습 메모리 + 계층형 메모리 파일을 함께 관리하는 형태로 한 단계 더 올라왔습니다.
- MemoryTool.cs를 확장해 계층형 메모리 관리 액션을 추가했습니다. 이제
-
업데이트: 2026-04-07 00:06 (KST)
- AgentMemoryService.cs에
@include확장을 추가했습니다. 이제AXMEMORY.md안에서@./docs/architecture.md,@~/shared/rules.md, 절대 경로 include를 사용할 수 있고, 텍스트 파일만 최대 5단계까지 재귀적으로 펼칩니다. - 같은 파일에서 프로젝트 루트 판단도 강화했습니다. 이제 단순 현재 작업 폴더가 아니라
.git,.sln,*.csproj,package.json,pyproject.toml,go.mod,Cargo.toml같은 마커를 보고 프로젝트 루트를 먼저 잡은 뒤, 그 루트부터 현재 작업 디렉토리까지의 메모리 계층을 조립합니다.
- AgentMemoryService.cs에
-
업데이트: 2026-04-07 00:13 (KST)
기준 구조처럼 외부 메모리 include를 무조건 열어두지 않도록 안전 장치를 추가했습니다. AppSettings.cs, SettingsViewModel.cs, SettingsWindow.xaml에외부 메모리 include 허용설정을 추가했고 기본값은꺼짐입니다.- AgentMemoryService.cs는 이 설정이 꺼져 있으면 프로젝트 바깥으로 빠지는 상대 경로, 홈 경로(
@~/...), 절대 경로 include를 모두 차단합니다. 즉 메모리 내용 관리는 계속/memory같은 명령으로 하되, include의 보안 정책만 설정으로 다루는 구조로 정리했습니다.
-
업데이트: 2026-04-07 00:22 (KST)
- AgentMemoryService.cs에
paths:frontmatter 지원을 추가해.ax/rules/*.md같은 계층형 메모리 문서가 특정 작업 폴더 범위에서만 적용되도록 했습니다. - 이제 메모리 문서 상단에
---,paths:,- src/**,---형태를 쓰면 현재 작업 폴더가 프로젝트 루트 기준으로 그 패턴에 맞을 때만 로드됩니다. AX 메모리 규칙을기준 구조의 경로별 rule 파일처럼 더 세밀하게 제어할 수 있습니다.
- AgentMemoryService.cs에
-
업데이트: 2026-04-07 00:31 (KST)
- AgentMemoryService.cs에
description:frontmatter 메타를 추가해 계층형 메모리 규칙 파일이 “무엇을 위한 규칙인지” 설명을 가질 수 있게 했습니다. - MemoryTool.cs 는
show_scope액션을 새로 지원합니다. 이제/memory계열 명령으로managed / user / project / local메모리 파일의 실제 내용을 직접 확인할 수 있고,list/search결과에도description과paths범위가 함께 표시됩니다.
- AgentMemoryService.cs에
-
업데이트: 2026-04-07 00:39 (KST)
- AgentMemoryService.cs에 계층형 메모리 우선순위/병합 정책을 추가했습니다. 같은 내용의 규칙이 여러 계층에 중복될 경우 더 가까운 규칙만 남기고, 최종 메모리 문서는
managed → user → project → local순으로 다시 정렬됩니다. - MemoryTool.cs 의
list/search는 이제 최종 우선순위 번호를 같이 보여줘, 어떤 규칙이 실제로 더 강하게 적용되는지 바로 확인할 수 있습니다.
- AgentMemoryService.cs에 계층형 메모리 우선순위/병합 정책을 추가했습니다. 같은 내용의 규칙이 여러 계층에 중복될 경우 더 가까운 규칙만 남기고, 최종 메모리 문서는
-
업데이트: 2026-04-07 00:45 (KST)
- AX Copilot 메인 설정의 에이전트 메모리 영역에서
관리형 / 사용자 / 프로젝트 / 로컬메모리 파일을 직접 열어 수정할 수 있게 했습니다. SettingsWindow.xaml, SettingsWindow.xaml.cs에 계층형 메모리 편집 버튼과 전용 편집 다이얼로그를 추가했습니다. - 메모리 편집 다이얼로그는 현재 테마를 따르는 안내 패널과 멀티라인 편집기를 제공하고,
description/pathsfrontmatter 예시를 바로 볼 수 있습니다. 저장 시 해당 scope 파일을 즉시 갱신하고, 빈 내용으로 저장하면 파일을 삭제한 뒤 메모리 계층을 다시 로드합니다.
- AX Copilot 메인 설정의 에이전트 메모리 영역에서
-
업데이트: 2026-04-07 00:52 (KST)
- 계층형 메모리 frontmatter를 더 확장해
enabled:와tags:를 지원하도록 했습니다. 이제 실험용 규칙을 파일에 남겨둔 채 비활성화할 수 있고, 규칙 묶음을 태그 단위로 구분해 관리할 수 있습니다. - AgentMemoryService.cs는
enabled: false인 규칙 파일을 메모리 계층에서 제외하고, MemoryTool.cs의list/search결과에는tags메타를 함께 보여줘 어떤 규칙군인지 더 빠르게 읽을 수 있게 했습니다.
- 계층형 메모리 frontmatter를 더 확장해
-
업데이트: 2026-04-07 01:00 (KST)
- AX Agent 설정의 에이전트 메모리 섹션에
적용 중 메모리 계층요약을 추가했습니다. 현재 컨텍스트에 반영된 계층형 규칙 수와 학습 메모리 수를 한 줄로 보고, 아래에서 활성 규칙 파일의 우선순위·설명·태그를 바로 확인할 수 있습니다. - 메모리 파일을 편집하거나 학습 메모리를 초기화하면 이 요약이 즉시 다시 계산되도록 연결했고,
새로고침버튼도 추가해 현재 작업 폴더 기준 메모리 적용 상태를 바로 다시 확인할 수 있게 했습니다. 업데이트: 2026-04-07 01:15 (KST)
- AX Agent 설정의 에이전트 메모리 섹션에
-
AX Agent 메모리 구조를 추가 강화했습니다.
@include확장 시도는 이제 감사 로그에MemoryInclude항목으로 남고, Cowork/Code 하단 폴더 바에 현재 적용 중인 계층형 메모리/학습 메모리 상태가 요약 표시됩니다. -
업데이트: 2026-04-07 01:26 (KST)
- Cowork/Code 하단 메모리 칩을 눌렀을 때
적용 중 규칙과최근 include 감사를 바로 확인할 수 있는 상세 팝업을 추가했습니다. 이제 메모리 계층이 실제로 어떻게 적용되고 있는지 채팅 하단에서 바로 추적할 수 있습니다. - 설정의 메모리 개요에도
최근 include 감사요약을 추가해, 메모리 규칙 상태와 include 시도 결과를 같은 화면에서 함께 점검할 수 있게 했습니다.
- Cowork/Code 하단 메모리 칩을 눌렀을 때
-
업데이트: 2026-04-07 01:35 (KST)
- Cowork/Code 진행 표시 줄에도
메모리 규칙 n개 · 학습 n개 적용 중근거가 함께 표시되도록 보강했습니다. 기다리는 동안 현재 어떤 메모리 계층이 반영되고 있는지 transcript에서 바로 확인할 수 있습니다. - 메모리 include 감사는
최근 3일기준으로 다시 집계해 보여주도록 정리했고,/memory list·/memory search결과도 우선순위·레이어·설명·paths·tags를 두 줄 구조로 더 읽기 쉽게 정리했습니다.
- Cowork/Code 진행 표시 줄에도
-
업데이트: 2026-04-07 01:44 (KST)
- AX Agent footer/preset 안내에 남아 있던 한글 깨짐 문자열을 복구했습니다. Cowork/Code 입력창 워터마크, 선택된 프리셋 설명, 메모리 상태 팝업 문구가 정상 한글로 다시 표시됩니다.
-
업데이트: 2026-04-07 02:08 (KST)
- Cowork/Code 진행 표시가 오래 걸릴 때도 비어 보이지 않도록 live progress fallback을 보강했습니다. 이벤트가 계속 들어오는 경우에도 일정 시간이 지나면
작업을 진행하는 중입니다...줄이 transcript에 표시됩니다. - 진행 줄 재렌더 시 과한 fade 애니메이션을 제거해 깜박이듯 보이던 문제를 줄였고, 장시간 실행 뒤 내부 중단이 발생해도 더 이상 무조건
사용자가 작업을 취소했습니다로 표기하지 않도록 중립 문구로 정리했습니다. - 깨진 한글이 남아 있던 ChatWindow.FooterPresentation.cs, ChatWindow.TimelinePresentation.cs, ChatWindow.AgentEventRendering.cs의 표시 문자열을 다시 복구했습니다.
- Cowork/Code 진행 표시가 오래 걸릴 때도 비어 보이지 않도록 live progress fallback을 보강했습니다. 이벤트가 계속 들어오는 경우에도 일정 시간이 지나면
-
업데이트: 2026-04-07 02:11 (KST)
-
AX Agent 내부 설정 공통 탭의 Gemini/Claude API 키 입력 필드를 PasswordBox에서 TextBox로 교체해, 오버레이 동기화 중에도 입력이 끊기거나 튕기지 않도록 수정했습니다.
-
업데이트: 2026-04-07 02:45 (KST)
- Cowork/Code 진행 카드의 경과 시간 계산을 보정했습니다. 스트리밍 시작 시각이 준비되기 전에 진행 힌트가 먼저 그려질 때
수천만 시간처럼 비정상값이 표시되던 문제를 막고, 6시간을 넘는 비현실적인 경과 시간은 자동 무시하도록 정리했습니다. - AX Agent 입력창 글로우를 런처와 같은 리듬의 무지개 글로우로 다시 맞췄습니다. 글로우 외곽선 두께와 블러를 부드럽게 조정하고, 라이브 진행 카드도 테마 AccentColor 기반의 은은한 톤을 써서 주황색 고정 느낌을 줄였습니다.
- 일반 설정에 있던
런처 무지개 글로우,선택 아이템 글로우,채팅 입력창 무지개 글로우를 AX Agent 내부 설정으로 이동해, 이제 내부 설정에서 바로 런처/입력창 글로우를 함께 조정할 수 있습니다.
- Cowork/Code 진행 카드의 경과 시간 계산을 보정했습니다. 스트리밍 시작 시각이 준비되기 전에 진행 힌트가 먼저 그려질 때
-
업데이트: 2026-04-07 02:56 (KST)
- AX Agent 내부 설정 개발자 탭의
워크플로우 시각화가 숨은 개발자 모드 의존 때문에 실제로 창을 띄우지 않던 문제를 수정했습니다. 이제 토글을 켜면 즉시 워크플로우 분석기 창이 열리고, 끄면 창이 숨겨집니다. - 일반 설정에만 남아 있던
문서 미리보기 자동 표시옵션을 AX Agent 내부 설정 공통 탭에도 복원해, Cowork/Code에서 프리뷰 자동 열기 정책을 내부 설정에서 바로 바꿀 수 있게 했습니다.
- AX Agent 내부 설정 개발자 탭의
-
업데이트: 2026-04-07 03:03 (KST)
- Cowork/Code 하단 작업 바의 메모리 상태 칩을 숨겼습니다. 이제 footer에는 폴더, 권한, Git 같은 작업 상태만 남고 메모리 관련 표기는 노출되지 않습니다.
- 메모리 상태 버튼이 비노출일 때는 관련 팝업도 열리지 않도록 정리해, 상태 갱신이나 탭 전환 중 다시 나타나는 일이 없게 했습니다.
-
업데이트: 2026-04-07 03:13 (KST)
- Cowork/Code 실행 중 탭을 바꿀 때 작업을 즉시 취소하던 흐름을 제거했습니다. 이제 실행은 시작한 탭에서 계속 진행되고, 다른 탭으로 이동해도 작업이 사용자 취소처럼 끝나지 않습니다.
- 라이브 진행 힌트는 실행을 시작한 탭에서만 보이도록 조정해, Cowork 작업 중 Code 탭으로 이동했을 때 Code 쪽 transcript에
처리 중...이 따라 보이던 상태 오염을 막았습니다.
-
업데이트: 2026-04-07 09:32 (KST)
- Cowork/Code 장시간 실행 뒤 마지막 응답을 라이브 프리뷰로 붙이는 단계에서
_streamCts필드를 다시 읽다가Object reference not set to an instance of an object.로 실패할 수 있던 경로를 수정했습니다. 이제 실행 시작 시 캡처한 지역 토큰을 끝까지 재사용하고, 최종 타이핑 프리뷰 컨테이너가 준비되지 않으면 조용히 건너뛰도록 방어 로직을 추가했습니다. - 같은 실패가 다시 생기면 원인을 더 빨리 찾을 수 있도록 AX Agent 실행 예외 전체를 앱 로그에 남기도록 보강했습니다.
- Cowork/Code 장시간 실행 뒤 마지막 응답을 라이브 프리뷰로 붙이는 단계에서
-
업데이트: 2026-04-07 09:44 (KST)
- Cowork/Chat 하단의 프리셋 안내 카드가 실제 결과를 가리던 문제를 수정했습니다. 이제 대화에 사용자/assistant 메시지가 생기거나 실행 중일 때는 해당 카드가 자동으로 숨겨집니다.
- ChatWindow.FooterPresentation.cs에 남아 있던 깨진 한글 워터마크/안내 문구를 정상 한국어로 정리했습니다.
- 라이브 타이핑 속도를 조정해 SSE 및 Cowork/Code 최종 프리뷰가 한 번에 붙는 느낌을 줄이고, 더 눈에 보이게 점진적으로 출력되도록 보정했습니다.
-
업데이트: 2026-04-08 10:12 (KST)
- 등록 모델에
동작 프로파일을 추가했습니다. 이제 모델별로균형 / 도구 호출 우선 / 추론 우선 / 읽기 속도 우선 / 문서 생성 우선성향을 저장할 수 있고, 편집/추가 모두 내부 설정과 일반 설정에서 같은 값으로 유지됩니다. - Cowork/Code 루프는 현재 활성 모델의 프로파일을 읽어 no-tool 감지 임계값, 도구 미호출 재시도, 문서 생성 재시도, terminal evidence gate, 읽기 도구 병렬 배치 수를 다르게 적용합니다.
- AX Agent 내부 설정의 Temperature 항목에
자동 / 사용자 지정전환을 추가했습니다. 자동일 때는 등록 모델 프로파일의 temperature 정책을 따르고, 사용자 지정일 때만 슬라이더 값이 실제 tool 호출 온도로 적용됩니다.
- 등록 모델에
-
업데이트: 2026-04-08 10:38 (KST)
- 모델 실행 프로파일을 Cowork/Code 후속 게이트까지 더 깊게 연결했습니다. 이제 프로파일별로 post-tool verification, 코드 품질 게이트, 문서 검증 게이트, diff/실행 증거 게이트, final report 게이트의 강도를 다르게 적용합니다.
document_heavy프로파일은document_plan이후 장기 재시도보다 fallback 산출물 생성 쪽으로 더 빨리 전환되도록 조정했습니다.- OpenAI/vLLM tool calling 바디에
parallel_tool_calls힌트를 추가해 읽기 도구 병렬 실행 성향이 모델 요청 바디에도 반영되도록 보강했습니다. - Cowork/Code 진행 표시에는
계획 / 도구 / 검증 / 압축 / 폴백 / 재시도같은 단계 메타를 더 직접적으로 붙여, 오래 걸릴 때도 현재 단계가 더 잘 읽히게 했습니다. - docs/AX_AGENT_REGRESSION_PROMPTS.md를 전면 정리해
tool_call_strict,fast_readonly,document_heavy,reasoning_first프로파일별 회귀 시나리오를 고정했습니다.
-
업데이트: 2026-04-08 11:14 (KST)
- IBM 인증 경유 vLLM 도구 호출 경로를 강화했습니다. IBM tool body도 이제 프로파일 기반
ResolveToolTemperature()를 사용하고,tool_call_strict프로파일에서는 더 짧고 직접적인tool-only지시를 추가해 plain text 응답으로 빠지는 경향을 줄였습니다. - IBM 배포형 엔드포인트가
tool_choice를 400으로 거부하면,tool_choice만 제거하고 동일한 강제 지시를 유지한 채 한 번 더 재시도하는 대체 강제 전략을 넣었습니다. - OpenAI/vLLM tool-use 응답은 이제
stream=true기반 SSE 수신기로 읽으며,delta.tool_calls를 부분 조립해 완성된 도구 호출을 더 빨리 감지합니다. - read-only 도구는 조립이 끝나는 즉시 조기 실행을 시작하고, 최종 루프에서는 그 결과를 재사용하도록 바꿔 도구 착수 속도를 끌어올렸습니다.
- IBM 인증 경유 vLLM 도구 호출 경로를 강화했습니다. IBM tool body도 이제 프로파일 기반
-
업데이트: 2026-04-08 11:31 (KST)
LlmService에 tool-use 전용 스트리밍 이벤트 API를 추가했습니다. 이제 OpenAI/vLLM/IBM 경로는 텍스트 델타와 완성된 도구 호출을 각각 이벤트로 내보낼 수 있습니다.Cowork/Code루프도 이 스트리밍 이벤트를 직접 소비하도록 바꿔, 도구 호출이 완성되는 즉시 transcript에스트리밍 도구 감지진행 표시가 보이고 read-only 도구 조기 실행도 실제 실행 루프와 연결되도록 정리했습니다.- 기존의
응답 전체 수신 -> tool_calls 파싱 -> 도구 실행구조에서 한 단계 더 나아가,스트리밍 수신 -> partial tool_call 조립 -> 조기 read-only 실행 -> 최종 루프 재사용흐름으로 리팩터링했습니다.
-
업데이트: 2026-04-08 12:02 (KST)
- AX Agent 진행 카드의 경과 시간 계산을 공용 검증 helper로 통일했습니다.
_streamStartTime이 초기화되지 않았거나 6시간을 넘는 비정상 상태이면0초로 정리해수천만 시간처럼 표시되던 문제를 막았습니다. - 스트리밍 종료/취소 시
_streamStartTime을 즉시 초기화하도록 정리해, 이전 실행의 시간이 다음 실행 카드나 assistant 메타에 새어 들어가지 않게 했습니다. - 채팅 입력창 글로우는 런처와 같은 방식으로
표시/숨김 + 얇은 외곽선 + 부드러운 투명도중심으로 다듬었습니다. 과한 블러와 두꺼운 외곽선 때문에 지저분하게 보이던 인상을 줄였습니다. - 런처 글로우 토글은 일반 설정에 그대로 유지하고, AX Agent 내부 설정은 채팅 입력창 글로우만 담당하도록 역할을 분리했습니다.
- AX Agent 진행 카드의 경과 시간 계산을 공용 검증 helper로 통일했습니다.
-
업데이트: 2026-04-08 12:18 (KST)
기준 구조의Messages.tsx,VirtualMessageList.tsx,StatusLine.tsx,StreamingToolExecutor.ts흐름을 다시 대조해 AX의 코워크/코드가 실행 중 유독 무거운 원인을 점검했습니다.- 구조 비교 결과, AX는 코워크/코드 스트리밍 중에도 process feed 이벤트가 transcript 전체 재렌더를 자주 유발하는 경로가 남아 있어
기준 구조보다 UI 스레드 부담이 큰 상태였습니다. - ChatWindow.xaml.cs 에
IsLightweightLiveProgressMode()를 추가해, 코워크/코드 + 실행 히스토리 접힘 상태에서는 라이브 진행 카드를 우선 사용하고 transcript 재렌더 빈도를 더 강하게 낮추도록 조정했습니다. - 같은 조건에서
_executionHistoryRenderTimer,_agentUiEventTimer간격도 더 느슨하게 조정해, 스트리밍 중 작은 진행 이벤트가 여러 타이머를 통해 UI 전체를 자주 흔들던 문제를 줄였습니다. - 코워크/코드 실행 중 접힌 히스토리 상태에서는 process feed 계열 이벤트가 더 이상 매번 transcript 렌더를 요청하지 않고, 완료/오류/문서 생성 결과처럼 실제로 기록 가치가 큰 이벤트만 강하게 렌더 요청을 남기도록 정리했습니다.
-
업데이트: 2026-04-08 12:26 (KST)
- 코워크/코드 실행 중 보조 UI 갱신도 더 느슨하게 조정했습니다. ChatWindow.xaml.cs 에서
입력 보조 UI와작업 요약타이머도 경량 라이브 진행 모드일 때 더 긴 간격으로 동작하도록 바꿨습니다. - 경량 모드에서는
Thinking,ToolCall같은 잦은 이벤트마다작업 요약갱신을 다시 예약하지 않고,계획,권한 요청,도구 결과,완료/오류처럼 실제로 요약 상태가 달라지는 이벤트 중심으로만 요약 UI를 갱신하도록 정리했습니다. - 결과적으로 코워크/코드 처리 중 transcript 외의 보조 UI 측정/배치 비용도 함께 줄어, 입력 지연과 스크롤 버벅임 완화에 직접적으로 기여하도록 조정했습니다.
- 코워크/코드 실행 중 보조 UI 갱신도 더 느슨하게 조정했습니다. ChatWindow.xaml.cs 에서
-
업데이트: 2026-04-08 12:33 (KST)
기준 구조의 가상화 메시지 리스트에 바로 가기 전 단계로, AX transcript에실행 중 렌더 윈도우 축소를 적용했습니다. 코워크/코드 스트리밍 중에는 최근 항목 위주로 더 작은 타임라인만 렌더하고, 평상시에는 기존 범위를 유지합니다.- ChatWindow.xaml.cs에
GetActiveTimelineRenderLimit()를 추가해, 일반 스트리밍은 96개, 경량 라이브 진행 모드는 60개만 렌더하도록 조정했습니다. ScheduleExecutionHistoryRender,ScheduleAgentUiEvent,ScheduleTaskSummaryRefresh,ScheduleInputUiRefresh도 경량 모드에서는 이미 타이머가 대기 중일 때 다시 stop/start 하지 않게 바꿔, 이벤트 폭주 시 dispatcher 예약 churn을 줄였습니다.
-
업데이트: 2026-04-08 12:40 (KST)
- 코워크/코드 경량 라이브 진행 모드에서는 메시지 진입 애니메이션과 진행 마커 펄스도 줄였습니다.
- ChatWindow.MessageInteractions.cs의 메시지 엔트리 애니메이션은 실행 중 경량 모드에서 즉시 표시로 바뀌어, 새 UI 요소가 들어올 때마다 opacity/translate 애니메이션이 누적되지 않게 했습니다.
- ChatWindow.AgentEventRendering.cs의 진행 마커 펄스는 경량 모드에서 정적 점 상태로 간소화했습니다.
- ChatWindow.xaml.cs의 AX Agent 라이브 카드도 경량 모드에서는 등장/퇴장 애니메이션과 아이콘 opacity 펄스를 줄여, 실행 중 레이아웃/애니메이션 비용을 더 낮췄습니다.
-
업데이트: 2026-04-08 12:52 (KST)
- AX Agent transcript 호스트를
ScrollViewer + StackPanel + Children.Add구조에서ListBox + ObservableCollection<UIElement>기반으로 옮겼습니다. - ChatWindow.TranscriptHost.cs를 추가해 transcript 요소 추가/교체/삭제와 스크롤 접근을 공용 helper로 정리했고, 내부 ScrollViewer도 한 번만 찾아 재사용하도록 바꿨습니다.
- ChatWindow.xaml의 메시지 영역은
VirtualizingStackPanel을 쓰는ListBox기반 호스트로 교체해, 이후기준 구조의VirtualMessageList에 더 가까운 가상화 구조로 밀어갈 수 있는 기반을 만들었습니다. - 관련 렌더 코드(ChatWindow.xaml.cs, ChatWindow.MessageBubblePresentation.cs, ChatWindow.AgentEventRendering.cs, ChatWindow.MessageInteractions.cs, ChatWindow.TimelinePresentation.cs)도 모두 컬렉션 기반 조작으로 맞춰, 실행 중
Children직접 조작에 따른 레이아웃 churn을 줄였습니다.
- AX Agent transcript 호스트를
-
업데이트: 2026-04-09 09:14 (KST)
기준 구조와의 구조 대조 결과를 바탕으로, transcript 렌더와 tool streaming 실행 책임을 더 분리했습니다.- ChatWindow.TranscriptRendering.cs를 추가해
RenderMessages()와 transcript windowing/증분 렌더 흐름을 메인 ChatWindow.xaml.cs 밖으로 옮겼습니다. - StreamingToolExecutionCoordinator.cs를 추가해 read-only 도구 prefetch, tool-use 스트리밍 수신, context overflow/transient error 복구를 별도 coordinator 계층으로 분리했습니다.
- AgentLoopRuntimeThresholds.cs를 추가해 no-tool, plan retry, terminal evidence gate 같은 임계값 계산을
AgentLoopService에서 분리했습니다. - 결과적으로 Cowork/Code의 핵심 루프는 정책 소비자에 더 가까워졌고, 이후 transcript 진짜 가상화와 모델별 실행 정책 조정도 덜 위험하게 진행할 수 있는 구조가 됐습니다.
-
업데이트: 2026-04-09 09:37 (KST)
- transcript 렌더 구조를 planning/execution 단계로 한 번 더 쪼갰습니다. ChatWindow.TranscriptRenderPlanner.cs 에서 visible window 계산, render key 집계, 전체/증분 렌더 계획 생성을 맡기고, ChatWindow.TranscriptRenderExecution.cs 에서 host 적용과 viewport 보존을 맡기도록 정리했습니다.
- ChatWindow.TranscriptRendering.cs의
RenderMessages()는 이제데이터 수집 -> render plan 생성 -> 증분/전체 적용만 오케스트레이션하는 얇은 진입점이 됐습니다. 기준 구조의Messages.tsx와VirtualMessageList.tsx처럼 transcript planning과 실제 host 조작을 분리하는 방향에 더 가까워졌고, 이후 실제 가상화 윈도우 정책을 다듬을 때 변경 범위를 더 안전하게 제한할 수 있게 됐습니다.
-
업데이트: 2026-04-09 10:08 (KST)
- 구조 개선과 실검증을 함께 하기 위해 loop 정책과 transcript 호스트에 성능 계측을 추가했습니다. AgentPerformanceLogService.cs가
%APPDATA%\\AxCopilot\\perf에 transcript 렌더 시간과 agent loop 실행 요약을 JSON 로그로 남깁니다. - AgentLoopTransitions.Verification.cs, AgentLoopTransitions.Documents.cs, AgentLoopCompactionPolicy.cs로 검증/fallback/compact 정책 메서드를 분리해 AgentLoopService.cs의 책임을 더 줄였습니다.
- ChatWindow.TranscriptVirtualization.cs에서 off-screen 버블 캐시를 pruning하도록 바꿨고, ChatWindow.xaml의 transcript
ListBox에는 deferred scrolling과 작은 cache length를 적용해 더 강한 가상화 리스트 방향으로 정리했습니다. - ChatWindow.TranscriptRendering.cs는 렌더 시간, visible message/event 수, hidden count, lightweight mode 여부를 함께 기록해 실사용 세션에서 버벅임을 실제 수치로 판단할 수 있게 됐습니다.
- 구조 개선과 실검증을 함께 하기 위해 loop 정책과 transcript 호스트에 성능 계측을 추가했습니다. AgentPerformanceLogService.cs가
-
업데이트: 2026-04-10 09:03 (KST)
- Cowork/Code 실행 중 앱 화면이 끝날 때까지 멈춰 보이던 현상을 줄이기 위해, 에이전트 이벤트의 UI 전달 우선순위와 처리 경로를 다시 정리했습니다.
- ChatWindow.xaml.cs의 agent dispatcher는
DispatcherPriority.Normal대신Background를 사용해 입력/렌더가 먼저 흐르도록 조정했습니다. - 같은 파일의
OnAgentEvent()는 이벤트마다 라이브 카드와 상태 서브아이템을 즉시 갱신하지 않고, 완료/오류 같은 종료 신호만 즉시 처리한 뒤 나머지는 기존 배치 타이머로 넘기도록 단순화했습니다. - ChatWindow.AgentEventProcessor.cs는 execution event를 UI 스레드와 백그라운드에서 두 번 append하던 구조를 제거하고, 백그라운드 단일 리더에서 한 번만 대화 히스토리를 반영하도록 바꿨습니다.
-
업데이트: 2026-04-12 21:34 (KST)
기준 구조의messagesForQuery,autoCompact,sessionMemoryCompact흐름을 기준으로 AX Agent의 컨텍스트 전송 뷰와 압축 트리거를 한 단계 더 정리했습니다.- AgentQueryContextBuilder.cs를 추가해, 저장된 전체 대화와 실제 LLM에 전송할 query view를 분리했습니다. 이 뷰는 마지막 compact boundary부터만 다시 보내고, 오래된
tool_result는 전송 직전에만 budget 기준으로 더 줄입니다. - 같은 helper에서
tool_result가 남아 있는 kept range를 검사해, 대응되는 assistant_tool_use_blocks가 잘리지 않도록 window start를 뒤로 보정합니다. - AgentLoopService.cs는 각 반복에서
messagesForQuery에 해당하는 전송 뷰를 만든 뒤SendWithToolsWithRecoveryAsync()와 텍스트 fallback 호출에 사용하도록 바꿨습니다. - ContextCondenser.cs는
triggerPercent만 보던 기준에서effective context window - output reserve - buffer개념을 반영해 자동 압축 시작 지점을 더 보수적으로 계산하도록 바꿨습니다.
-
업데이트: 2026-04-12 21:39 (KST)
기준 구조의sessionMemoryCompact처럼 압축 경계 자체에서도tool_use / tool_result짝이 끊기지 않도록 보정 범위를 넓혔습니다.- AgentMessageInvariantHelper.cs를 추가해
tool_result가 남는 kept range에서 필요한 assistant_tool_use_blocks를 공용 로직으로 다시 포함시키게 했습니다. - ContextCondenser.cs는
MicrocompactOlderMessages,SessionMemoryCompactOlderMessages,CollapseAndSnipOlderMessages,SummarizeOldMessagesAsync가 모두 같은 split helper를 사용하도록 바꿨습니다. - 이제 recent window가
tool_result로 시작하는 경우에도, 그 결과를 참조하는 이전tool_use가 요약/압축 쪽으로 잘려 나가 API pairing 오류를 만드는 상황을 줄일 수 있습니다.
-
업데이트: 2026-04-12 22:02 (KST)
기준 구조의applyToolResultBudget방향을 따라, AX도 query view와 압축 1단계가 같은tool_result예산 규칙을 공유하도록 정리했습니다.- AgentToolResultBudget.cs를 추가해 오래된
tool_result를 최근 보호 구간과 aggregate budget 기준으로 공용 축약하도록 만들었습니다. - AgentQueryContextBuilder.cs는 query view에서 이 공용 helper를 사용하게 바뀌어, 전송 직전 budget과 축약 결과가 압축 본체와 같은 규칙을 따릅니다.
- ContextCondenser.cs는 1단계에서
tool_result를 별도 공용 budget으로 먼저 줄이고, 그 외 긴 assistant/user 메시지만 추가 절단하도록 역할을 분리했습니다.
-
업데이트: 2026-04-12 22:11 (KST)
기준 구조의 time-based microcompact 방향을 따라, 오래 쉬었다가 다시 호출할 때 오래된tool_result를 먼저 정리하는 분기를 AX에 추가했습니다.- ContextCondenser.cs는 마지막 assistant 이후 20분 이상 경과한 경우, 가장 최근
tool_result1개만 남기고 나머지는 작은 cleared marker로 바꾸도록 처리합니다. - AgentToolResultBudget.cs는 cleared
tool_resultJSON을 만드는 helper를 추가해, 기존tool_use_id/tool_name은 유지하면서 content만 가볍게 비우도록 보강했습니다. - AgentLoopCompactionPolicy.cs는 compact 직후 첫 턴에서 추가 운영성 thinking 문구를 다시 띄우지 않고 내부 상태만 갱신하도록 바꿔, compact 후 흐름이 더 조용하게 이어지도록 정리했습니다.
-
업데이트: 2026-04-12 22:19 (KST)
time-basedtool result 정리 기준을 모델/서비스별로 세분화해, Claude는 더 보수적으로, Qwen/vLLM 계열은 더 빠르게 오래된 결과를 걷어내도록 조정했습니다.- ContextCondenser.cs는
service:model조합에 따라gapThresholdMinutes와keepRecent를 다르게 계산하도록 바뀌었습니다. - ChatWindow.TimelinePresentation.cs는 compact 메타 카드를 긴 상세 줄 목록 대신 한 줄 요약 카드로 단순화해, transcript에서 운영성 카드 밀도를 더 낮췄습니다.
-
업데이트: 2026-04-12 22:27 (KST)
- compact 이후 응답/컨텍스트 사용 표시에서 남아 있던 후행 운영 메타를 더 줄였습니다.
- ChatWindow.ResponsePresentation.cs는 응답 하단 토큰 메타에서
compact 직후꼬리표를 제거해, 일반 응답과 같은 밀도로 보이도록 정리했습니다. - ChatWindow.ContextUsagePresentation.cs는 token usage 팝업 detail에서
compact 후 첫 응답 대기 중문구를 빼고 실제 컨텍스트/압축 정보만 보여주도록 단순화했습니다.
-
업데이트: 2026-04-12 22:36 (KST)
기준 구조의 post-compact attachments 흐름을 참고해, AX도 요약/경계 메시지에 오래된 첨부 참조를 다시 실어 compact 뒤 컨텍스트 연속성을 보강했습니다.- ContextCondenser.cs는 오래된 메시지에서 첨부 파일 이름과 이미지 개수를 수집해
microcompact_boundary와 요약 메시지에 함께 기록합니다. - 요약 메시지에는
AttachedFiles도 같이 보존해, compact 이후에도 관련 파일 참조가 query view로 이어질 수 있게 맞췄습니다.
-
업데이트: 2026-04-12 22:44 (KST)
- OpenAI/vLLM 호환 경로의 tool history 직렬화를 더 가볍게 만들어, 최근 구간만 구조화된
tool_calls/tool형식을 유지하고 오래된 구간은 평탄한 transcript로 낮췄습니다. - LlmService.ToolUse.cs는 최근 비-system 메시지 8개만 구조화된 tool history로 유지하고, 그 이전의
_tool_use_blocks와tool_result는 plain assistant/user transcript로 변환해 재전송합니다. - 이로써 strict provider에서 오래된
tool_calls/tool이력이 계속 누적되던 부담과 pairing 위험을 함께 줄였습니다.
- OpenAI/vLLM 호환 경로의 tool history 직렬화를 더 가볍게 만들어, 최근 구간만 구조화된
-
업데이트: 2026-04-12 23:05 (KST)
기준 구조와 비교했을 때 여전히 무겁던 Cowork 문서 생성 게이트와 Code 후속 검증 게이트를 한 단계 더 줄였습니다.- AgentLoopService.cs 는
document_plan뒤의 강제 재시도/자동 HTML fallback을 공격적인 실행 프로파일에서만 동작하도록 제한했습니다. - AgentLoopTransitions.Documents.cs 는
document_plan성공 직후 추가 user 압박 메시지를 넣지 않고, terminal 문서 도구 성공 시 Cowork에서 바로 종료할 수 있게 정리했습니다. - AgentLoopTransitions.Verification.cs 는
CodeDiffGate,RecentExecutionGate,ExecutionSuccessGate를 review 작업 중심으로 제한해 일반 코드 수정의 과검증을 줄였습니다. - TaskTypePolicy.cs, ChatWindow.SystemPromptBuilder.cs, cowork_문서작성.json, cowork_보고서.json 도 같은 기준으로 문서 생성/텍스트 종료 조건을 더 얇게 맞췄습니다.
-
업데이트: 2026-04-12 23:14 (KST)
- compact 이후 query view에 복원된 파일/이미지 참조를 짧게 다시 주입해,
기준 구조의 post-compact attachment continuity에 더 가깝게 맞췄습니다. - AgentQueryContextBuilder.cs는 compact boundary가 적용된 query view에
post_compact_contextsystem 메시지를 추가해, 복원된 파일 참조와 이미지 참조 개수를 함께 전달합니다. - AgentLoopService.cs의 final-report 품질 프롬프트는 일반 작업에서는 더 짧고 명확한 3줄 요약 중심으로 축소하고, review/high-impact 작업에만 구조적 상세 보고를 유지하도록 조정했습니다.
- compact 이후 query view에 복원된 파일/이미지 참조를 짧게 다시 주입해,
-
업데이트: 2026-04-12 23:23 (KST)
- compact 뒤 query view의 복원 메모를 한 단계 더 구조화해, 요약 경계 수와 구조화된 tool history 블록 수도 함께 실어주도록 보강했습니다.
- AgentQueryContextBuilder.cs는
post_compact_context메시지에restored compact summaries,restored tool history blocks,restored file refs,restored image refs를 분리해 담습니다. - ChatWindow.TimelinePresentation.cs는 compact 메타 카드를 더 짧은 설명과 파일 개수 정도만 보이도록 줄였습니다.
- ChatWindow.ContextUsagePresentation.cs는 컨텍스트 사용 팝업의 compact 디테일 문구를 짧고 읽기 쉬운 표현으로 다시 정리했습니다.
-
업데이트: 2026-04-12 23:59 (KST)
- AX Agent 이력 영역에서 모지바케처럼 보이던 깨진 한국어 문자열을 복구했습니다.
- ChatWindow.V2AgentEventPresentation.cs의 완료/오류/토큰 메타 문구를 정상 한국어로 정리해, 작업 이력 카드와 완료 배너가 더 이상
ㅁㅁㅁㅁ처럼 보이지 않도록 수정했습니다.
-
업데이트: 2026-04-14 21:00 (KST)
- Word/Excel/HTML 문서 생성 고도화 1차를 반영했습니다. DocumentPlannerTool.cs는 보고서/제안서/분석 문서의 기본 아웃라인을
Executive Summary,Business Case,Decision Ask,Appendix까지 포함한 업무형 구조로 생성하도록 보강했습니다. - DocumentAssemblerTool.cs는 DOCX 조립 시 HTML/Markdown을 평문으로 밀어버리던 경로를 줄이고, 표/목록/콜아웃/소제목 같은 구조를 Word 문서에 더 잘 보존하도록 개선했습니다.
- ExcelSkill.cs에
summary_sheet를 추가해, 상세 데이터 시트 앞에 KPI/핵심 인사이트/후속 과제를 담은 요약 시트를 함께 생성할 수 있게 했습니다. - HtmlSkill.cs는
comparison,roadmap,matrix구조화 섹션을 지원해 전략 보고서형 HTML을 더 쉽게 만들 수 있게 했고,sections만으로도 호출 가능하도록 함수 스키마도 정리했습니다. - docx-creator.skill.md, csv-to-xlsx.skill.md, markdown-to-doc.skill.md, report-writer.skill.md는 Python 우회 중심에서 AX 네이티브 문서 도구 우선 경로로 재작성했습니다.
- 테스트로 DocumentAssemblerSemanticTests.cs, ExcelSkillSummarySheetTests.cs, HtmlSkillConsultingSectionsTests.cs, DocumentPlannerBusinessDocumentTests.cs를 추가했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_phase1\\ -p:IntermediateOutputPath=obj\\verify_doc_phase1\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DocumentAssemblerSemanticTests|ExcelSkillSummarySheetTests|HtmlSkillConsultingSectionsTests|DocumentPlannerBusinessDocumentTests|DocumentPlannerPresentationTests" -p:OutputPath=bin\\verify_doc_phase1_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_phase1_tests\\통과 5
- Word/Excel/HTML 문서 생성 고도화 1차를 반영했습니다. DocumentPlannerTool.cs는 보고서/제안서/분석 문서의 기본 아웃라인을
-
업데이트: 2026-04-14 21:50 (KST)
- PPT 생성 고도화 3차를 반영했습니다. DeckPlanningService.cs는
audience,objective,decision_ask,storyline힌트를 바탕으로 슬라이드를 생성 전에 정규화하고, 누락된title,Executive Summary,Recommendation,Roadmap,Appendix를 자동 보강합니다. - DeckQualityReviewService.cs는 deck 단위 품질 점수를 계산해
Executive Summary,Recommendation, 근거 슬라이드, 텍스트 과밀, placeholder 잔존 여부를 점검합니다. - PptxSkill.cs는
issue_tree,before_after,decision_matrix,risk_heatmap,benefit_waterfall,operating_model,appendix_evidence같은 컨설팅형 레이아웃을 생성 전에 네이티브 레이아웃으로 정규화하고, 결과 메시지에 deck planning/quality review 요약을 함께 반환합니다. - pptx-creator.skill.md는
document_plan -> deck brief -> pptx_create흐름을 중심으로 재작성했고, strategy-deck.skill.md, board-update.skill.md, pmo-steering.skill.md, sales-review-deck.skill.md, operating-model-deck.skill.md를 추가해 목적형 deck 진입점을 늘렸습니다. - 테스트로 DeckPlanningServiceTests.cs, DeckQualityReviewServiceTests.cs, PptxSkillAutoRepairTests.cs를 추가했습니다.
- PPT 생성 고도화 3차를 반영했습니다. DeckPlanningService.cs는
-
검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_ppt_phase3\\ -p:IntermediateOutputPath=obj\\verify_ppt_phase3\\경고 0 / 오류 0 -
검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DeckPlanningServiceTests|DeckQualityReviewServiceTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests" -p:OutputPath=bin\\verify_ppt_phase3_tests\\ -p:IntermediateOutputPath=obj\\verify_ppt_phase3_tests\\통과 5
업데이트: 2026-04-14 22:14 (KST)
- 문서 생성 고도화 2차 planner/assembler 보강을 반영했습니다.
DocumentPlannerTool은 이제format: xlsx를 직접 지원하고, 문서 개요뿐 아니라excel_create에 바로 넘길 수 있는summary_sheet + sheets워크북 scaffold를 생성합니다. DocumentAssemblerTool은 DOCX 조립 시cover_subtitle,toc,header,footer를 실제 Word 문서에 반영하도록 확장했고, 결과 메시지에 DOCX/HTML 품질 리뷰 요약을 함께 붙여 산출물 완성도를 바로 확인할 수 있게 했습니다.kpi-workbook.skill.md는 complex workbook 시나리오에서document_plan -> excel_create경로를 사용할 수 있도록 planner 도구 허용 목록을 확장했습니다.- 테스트로
DocumentPlannerWorkbookScaffoldTests,DocumentAssemblerDocxFeaturesTests를 추가했고, 기존 문서/워크북/HTML 회귀 테스트와 함께 검증했습니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_planning2\\ -p:IntermediateOutputPath=obj\\verify_doc_planning2\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DocumentPlannerWorkbookScaffoldTests|DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|DocumentPlannerBusinessDocumentTests|ExcelSkillExecutiveSummaryLinkTests|HtmlSkillConsultingSectionsTests|DocxSkillTemplateFeaturesTests" -p:OutputPath=bin\\verify_doc_planning_tests3\\ -p:IntermediateOutputPath=obj\\verify_doc_planning_tests3\\통과 7 ????: 2026-04-14 22:00 (KST) - PPT 3? ?? ??? ??????. DeckPlanningService, DeckQualityReviewService, PptxSkill? planning/quality summary ??? ??? PPT ?? ?? ??? ???? ?? ??? ?? ?? ??? ??? ?????.
- ??: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\verify_ppt_phase3\ -p:IntermediateOutputPath=obj\verify_ppt_phase3\ ?? 0 / ?? 0
- ??: dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DeckPlanningServiceTests|DeckQualityReviewServiceTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests" -p:OutputPath=bin\verify_ppt_phase3_tests\ -p:IntermediateOutputPath=obj\verify_ppt_phase3_tests\ ?? 5
업데이트: 2026-04-14 22:28 (KST)
- 문서 포맷 고도화 3차를 반영했습니다.
DocumentAssemblerTool은 DOCX 조립 시template_path와page_numbers를 지원해 기존 사내 Word 템플릿을 복제한 뒤 커버, 목차, 머리글, 바닥글, 페이지 번호를 함께 적용할 수 있습니다. - 같은 도구는 템플릿 상속 여부를 구조화 문서 품질 리뷰 입력에도 전달해, 결과 메시지에서 템플릿 기반 산출물의 강점과 보완 포인트를 함께 요약합니다.
ExcelSkill은data_validations파라미터를 지원하도록 확장됐습니다. 단일 시트, summary sheet 포함 워크북, 멀티 시트 워크북 모두에서 OpenXMLDataValidation규칙을 생성하고 품질 리뷰에 검증 규칙 수를 반영합니다.HtmlSkill은decision_summary,evidence_cards섹션을 지원해 경영 보고형 HTML에서 의사결정 요약과 근거 카드 묶음을 구조화 블록으로 렌더링합니다.ArtifactQualityReviewService의 HTML 리뷰도 새 블록을 인식해 comparison, roadmap, matrix 외에 decision/evidence 구조를 강점으로 계산하도록 보강했습니다.- 테스트로
ExcelSkillDataValidationTests를 추가했고,DocumentAssemblerDocxFeaturesTests,HtmlSkillConsultingSectionsTests를 확장해 DOCX 템플릿/페이지 번호와 HTML decision/evidence 블록을 회귀 검증했습니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_phase_next\\ -p:IntermediateOutputPath=obj\\verify_doc_phase_next\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|DocumentPlannerWorkbookScaffoldTests|ExcelSkillExecutiveSummaryLinkTests|ExcelSkillSummarySheetTests|ExcelSkillDataValidationTests|HtmlSkillConsultingSectionsTests|DocxSkillTemplateFeaturesTests|DocumentPlannerBusinessDocumentTests" -p:OutputPath=bin\\verify_doc_phase_next_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_phase_next_tests\\통과 9
업데이트: 2026-04-14 23:05 (KST)
- 문서 포맷 고도화 다음 단계를 반영했습니다. ExcelSkill.cs는
summary_sheet에decision_summary,scorecards,sheet_summaries를 받을 수 있게 확장되어, 단순 KPI 표를 넘어 의사결정 요약과 상세 시트별 상태를 함께 보여주는 dashboard형 summary 시트를 생성합니다. - 같은 파일의 워크북 품질 리뷰 입력도 확장해 summary sheet가 KPI/scorecard, decision summary, detail sheet summary를 실제로 담고 있는지 점수화하도록 ArtifactQualityReviewService.cs를 보강했습니다.
- DocumentAssemblerTool.cs는
style_map파라미터를 지원합니다. 템플릿 기반 DOCX 조립에서title,heading1,heading2,body문단 스타일을 실제 Word 문단에 연결해 cover title, 섹션 헤딩, 본문 문단이 사내 템플릿 스타일을 더 잘 따르도록 개선했습니다. - 테스트로 ExcelSkillDashboardSummaryTests.cs, DocumentAssemblerStyleMapTests.cs를 추가했고, ArtifactQualityReviewServiceTests.cs도 새 workbook review 입력 형식에 맞춰 갱신했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next2\\ -p:IntermediateOutputPath=obj\\verify_doc_next2\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|DocumentAssemblerStyleMapTests|DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|ExcelSkillDashboardSummaryTests|ExcelSkillSummarySheetTests|ExcelSkillExecutiveSummaryLinkTests|ExcelSkillDataValidationTests|ExcelSkillConditionalFormattingTests" -p:OutputPath=bin\\verify_doc_next2_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next2_tests\\통과 11
업데이트: 2026-04-14 23:15 (KST)
- 문서 고도화 다음 단계를 반영했습니다. ExcelSkill.cs는
summary_sheet.trend_series를 지원해Trend Dashboard블록을 추가로 렌더링하고, 기존decision_summary/scorecards/sheet_summaries와 함께 보고서형 workbook summary 밀도를 높였습니다. - HtmlSkill.cs는
print=true인데print_header/print_footer가 없는 경우 기본 print frame을 자동 생성하도록 보강했습니다. 같은 흐름에서 ArtifactQualityReviewService.cs는 print-ready HTML이 frame, decision summary, evidence card 없이 끝나는 경우를 품질 경고로 잡아냅니다. - PPT 쪽은 DeckPlanningService.cs가
comparison,roadmap,executive_summary,kpi_dashboard슬라이드의 최소 구조를 더 적극적으로 자동 보정하고, DeckQualityReviewService.cs는 slide-level quality gate를 추가해 긴 headline, 과밀 슬라이드, 비교 옵션 부족, 차트/표 데이터 누락을 슬라이드 번호와 함께 경고합니다. - 테스트로 ExcelSkillDashboardSummaryTests.cs, HtmlSkillPrintFrameTests.cs, DeckQualityReviewServiceTests.cs를 확장해 trend dashboard, default print frame, slide-level alert를 회귀 검증했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next3\\ -p:IntermediateOutputPath=obj\\verify_doc_next3\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "DeckQualityReviewServiceTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests|ExcelSkillDashboardSummaryTests|ExcelSkillSummarySheetTests|HtmlSkillPrintFrameTests|HtmlSkillConsultingSectionsTests|ArtifactQualityReviewServiceTests" -p:OutputPath=bin\\verify_doc_next3_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next3_tests\\통과 13
업데이트: 2026-04-14 23:25 (KST)
- 문서 고도화 다음 단계를 반영했습니다. ExcelSkill.cs는
summary_sheet.dashboard_sheet_name과trend_series를 기반으로 summary 시트 앞뒤에 별도Dashboard시트를 생성합니다. decision summary, scorecards, trend dashboard, detail-sheet links를 실제 워크북 시트로 분리해 multi-sheet 보고서형 workbook 완성도를 높였습니다. - 같은 파일의 workbook review 입력과 ArtifactQualityReviewService.cs는
HasDashboardSheet를 인식하도록 확장됐습니다. summary sheet만 있고 dashboard가 없는 multi-sheet workbook은 개선 포인트로 잡고, dashboard가 있으면 강점으로 점수화합니다. - DocumentAssemblerTool.cs는
style_map을cover_subtitle,callout,table_header까지 확장했습니다. 이제 템플릿 기반 DOCX 조립에서 cover subtitle, 강조 블록, 표 헤더 문단도 사내 Word 스타일을 직접 따를 수 있습니다. - 테스트로 DocumentAssemblerStyleMapTests.cs를 확장해 subtitle/callout/table header style 적용을 검증했고, ExcelSkillDashboardSummaryTests.cs는 실제
Dashboard시트 생성과 링크 텍스트까지 확인하도록 보강했습니다. - PptxSkillGoldenDeckTests.cs를 추가해 strong board deck이
PPT quality요약을 안정적으로 반환하고 불필요한Slide alerts없이 통과하는지 golden 회귀로 고정했습니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next4\\ -p:IntermediateOutputPath=obj\\verify_doc_next4\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|DocumentAssemblerStyleMapTests|DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|ExcelSkillDashboardSummaryTests|ExcelSkillSummarySheetTests|ExcelSkillExecutiveSummaryLinkTests|ExcelSkillDataValidationTests|ExcelSkillConditionalFormattingTests|HtmlSkillPrintFrameTests|HtmlSkillConsultingSectionsTests|DeckQualityReviewServiceTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests|PptxSkillGoldenDeckTests" -p:OutputPath=bin\\verify_doc_next4_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next4_tests\\통과 20
업데이트: 2026-04-14 23:32 (KST)
- HTML archetype을 한 단계 더 올렸습니다. HtmlSkill.cs는
board_report,strategy_brief구조화 섹션 타입을 새로 지원합니다. 이 섹션들은 의사결정 요청, recommendation, rationale, KPI/metric cards, risks, next steps, strategic question, thesis, implications, decisions를 목적형 패널로 렌더링해 board report와 strategy brief를 더 빠르게 만들 수 있습니다. - ArtifactQualityReviewService.cs의 HTML 리뷰는 이제
board-report-panel,strategy-brief-panel을 강점으로 인식하고, board report인데 evidence/table이 부족하거나 strategy brief인데 comparison/roadmap이 없을 때 보완 포인트를 반환합니다. - ExcelSkill.cs의
Dashboard시트는 decision summary, scorecards, trend dashboard뿐 아니라kpis,highlights,actions까지 함께 담도록 보강했습니다. summary sheet와 dashboard sheet가 서로 다른 역할을 갖도록 executive dashboard 밀도를 높인 변경입니다. - PptxSkillGoldenDeckTests.cs는 board deck에 이어 strategy deck golden fixture를 추가했습니다. strong strategy deck도
PPT quality요약을 반환하고 불필요한Slide alerts없이 통과하는지를 회귀 기준으로 고정했습니다. - 테스트로 HtmlSkillConsultingSectionsTests.cs, ExcelSkillDashboardSummaryTests.cs, ArtifactQualityReviewServiceTests.cs, PptxSkillGoldenDeckTests.cs를 확장했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next5\\ -p:IntermediateOutputPath=obj\\verify_doc_next5\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ExcelSkillDashboardSummaryTests|HtmlSkillConsultingSectionsTests|HtmlSkillPrintFrameTests|DeckQualityReviewServiceTests|PptxSkillGoldenDeckTests|PptxSkillAutoRepairTests|PptxSkillConsultingDeckTests" -p:OutputPath=bin\\verify_doc_next5_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next5_tests\\통과 14
업데이트: 2026-04-14 23:58 (KST)
- 문서 공통 critic/repair 가이드를 추가했습니다. ArtifactRepairGuideService.cs는 HTML/XLSX/DOCX 품질 리뷰 결과를 사람이 바로 이해할 수 있는 수정 방향으로 변환합니다. 이후 HtmlSkill.cs, ExcelSkill.cs, DocumentAssemblerTool.cs가 품질 점수 뒤에
Repair guide:를 함께 반환합니다. - ExcelSkill.cs는
dashboard_tiles,variance_series를 지원하도록 확장됐습니다.Dashboard시트에서 decision summary, scorecards, KPI, trend dashboard에 이어 dashboard tiles와 variance overview까지 함께 보여주는 운영 리뷰형 workbook 구성이 가능해졌습니다. - ArtifactQualityReviewService.cs의 workbook 리뷰는
dashboard_tiles,variance_series도 summary/dashboard 품질 신호로 인식하도록 보강했습니다. - 목적형 스킬도 확장했습니다. strategy-brief-html.skill.md, operating-review-xlsx.skill.md를 추가해 HTML 전략 브리프와 Excel 운영 리뷰 워크북 생성 진입점을 바로 제공하도록 했습니다.
- 테스트로 ArtifactRepairGuideServiceTests.cs를 추가했고, ExcelSkillDashboardSummaryTests.cs, HtmlSkillConsultingSectionsTests.cs를 확장해 새 archetype과 repair guide를 회귀 검증했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_next6\\ -p:IntermediateOutputPath=obj\\verify_doc_next6\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|ExcelSkillDashboardSummaryTests|HtmlSkillConsultingSectionsTests|HtmlSkillPrintFrameTests|DocumentAssemblerStyleMapTests|DocumentAssemblerDocxFeaturesTests|DocumentAssemblerSemanticTests|PptxSkillGoldenDeckTests|DeckQualityReviewServiceTests" -p:OutputPath=bin\\verify_doc_next6_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_next6_tests\\통과 17
업데이트: 2026-04-15 00:19 (KST)
- 에이전틱 루프 입력 큐를 확장했습니다. AgentCommandQueue.cs는
steering,permission continuation,resume,user decision까지 분리해서 담을 수 있고, AgentLoopService.cs는 이를queued_steering,queue_permission_continuation,queue_resume메타 메시지로 주입해 실행 중 새 지시와 승인 흐름을 더 안정적으로 다룹니다. - 코드 탭 언어 지원도 넓혔습니다. CodeLanguageCatalog.cs는
Go,Rust,PHP,Ruby,Kotlin,Swift를 LSP 심화 지원군에 포함하고, LspClientService.cs는gopls,rust-analyzer,intelephense,solargraph,kotlin-language-server,sourcekit-lsp를 로컬 설치 서버 기준으로 탐지합니다. - 내부 설정의 코드 탭 설명도 보강했습니다. SettingsWindow.xaml과 SettingsViewModel.cs는
빠른 선택 언어,지원 언어(LSP),코드 탭 기본 지원을 분리 표기해 격리 환경에서 어떤 수준의 지원이 가능한지 더 명확히 보여줍니다. - 워크스페이스 컨텍스트 생성기도 강화했습니다. WorkspaceContextGenerator.cs는
Language Snapshot,Agent Context,Key Manifests섹션을 추가하고.claude/skills,.ax/rules,AXMEMORY.md, 주요 manifest 파일을 함께 요약합니다. - PPT는 품질 리뷰 뒤에 바로 실행 가능한 보정 가이드를 붙이도록 DeckRepairGuideService.cs를 추가했고, PptxSkill.cs는
Deck repair guide:를 함께 반환합니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_master_batch\\ -p:IntermediateOutputPath=obj\\verify_master_batch\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentCommandQueueTests|CodeLanguageCatalogTests|WorkspaceContextGeneratorTests|PptxSkillConsultingDeckTests|DeckRepairGuideServiceTests" -p:OutputPath=bin\\verify_master_batch_tests\\ -p:IntermediateOutputPath=obj\\verify_master_batch_tests\\통과 35
업데이트: 2026-04-15 07:00 (KST)
기준 구조기준 남은 격차를 줄이기 위한 통합 고도화 계획을 확정했습니다. 우선순위는에이전틱 루프/명령 큐,tool_result preview 안정화,명령/스킬 합성,문서 포맷 마감,개발언어 지원 정합화,회귀 테스트/문서/릴리즈 게이트순서입니다.- 첫 배치로 AgentCommandQueue.cs를
peek,dequeue,dequeueAllMatching,dequeuePriorityBatch,snapshot까지 지원하는 우선순위 큐로 확장했습니다. 이제 높은 우선순위 입력이 들어온 턴에는 낮은 우선순위 notification을 다음 턴으로 미루어기준 구조에 더 가까운 부분 소비 흐름으로 동작합니다. - AgentLoopService.cs는 위 큐를 이용해 한 번에 전체 큐를 비우지 않고, 같은 우선순위 배치만 소비한 뒤 남은 lower-priority 항목을 뒤로 미루도록 조정했습니다.
- AgentToolResultBudget.cs는 preview 재사용 기준을
MsgId뿐 아니라tool_use_id까지 넓혔습니다. 같은 tool result가 재구성된 메시지로 다시 들어와도 이전 preview를 재사용해 query view 안정성을 높입니다. - 테스트로 AgentCommandQueueTests.cs, AgentToolResultBudgetTests.cs를 확장해
priority batch dequeue,predicate matching,tool_use_id preview reuse를 회귀 검증했습니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_queue_preview\\ -p:IntermediateOutputPath=obj\\verify_queue_preview\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentCommandQueueTests|AgentToolResultBudgetTests" -p:OutputPath=bin\\verify_queue_preview_tests\\ -p:IntermediateOutputPath=obj\\verify_queue_preview_tests\\통과 7
업데이트: 2026-04-15 07:11 (KST)
tool_resultpreview 안정화 2차를 반영했습니다. AgentMessageInvariantHelper.cs는tool_use_id -> QueryPreviewContent맵을 만들고, 같은 tool result가 다른 메시지 객체로 다시 구성돼도 preview를 복원하는 helper를 제공합니다.- ChatSessionStateService.cs는 분기 대화 생성 시
QueryPreviewContent를 함께 복사하고, 저장된 대화를 다시 열 때 누락된 preview를tool_use_id기준으로 보정합니다. - ChatStorageService.cs는 대화를 저장하기 전에 누락된 tool_result preview를 먼저 채워 넣어 재시작 후에도 축약 상태가 더 안정적으로 유지되도록 정리했습니다.
- 슬래시 합성도 한 단계 다듬었습니다. SlashCommandCatalog.cs는 같은 우선순위 충돌 시 builtin command보다 skill을 우선하고, 최종 정렬에서도 skill을 앞세워 동적 스킬이
/팔레트에서 덜 가려지게 했습니다. - 테스트로 ChatSessionStateServiceTests.cs에 branch/save-load preview 복원 케이스를 추가했고, SlashCommandCatalogTests.cs를 새로 추가해 skill 우선 dedupe와 정렬을 회귀 검증했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_preview_state\\ -p:IntermediateOutputPath=obj\\verify_preview_state\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolResultBudgetTests|ChatSessionStateServiceTests" -p:OutputPath=bin\\verify_preview_state_tests\\ -p:IntermediateOutputPath=obj\\verify_preview_state_tests\\통과 38 - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_slash_compose\\ -p:IntermediateOutputPath=obj\\verify_slash_compose\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "SlashCommandCatalogTests|ChatSessionStateServiceTests|AgentToolResultBudgetTests" -p:OutputPath=bin\\verify_slash_compose_tests\\ -p:IntermediateOutputPath=obj\\verify_slash_compose_tests\\통과 44
업데이트: 2026-04-15 07:16 (KST)
- 슬래시 명령 합성 2차를 반영했습니다. SlashCommandCatalog.cs는 팔레트 렌더링과 동일한 우선순위 규칙을 재사용하는
ResolvePreferredCommand()를 추가해, 같은/토큰에 builtin command와 skill이 함께 있을 때도 일관된 해석이 가능하도록 정리했습니다. - ChatWindow.xaml.cs의
ParseSlashCommandAsync()는 이제 exact token 후보를 built-in/skill 양쪽에서 모은 뒤 위 합성 규칙으로 우선순위를 결정합니다. 팔레트에는 skill이 앞에 보이는데 실제 실행은 built-in이 먼저 잡히던 불일치를 없앤 변경입니다. - SlashCommandCatalogTests.cs는 exact token 충돌 시 skill 우선 해석을 회귀 검증하도록 확장했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_command_resolution\\ -p:IntermediateOutputPath=obj\\verify_command_resolution\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "SlashCommandCatalogTests|ChatSessionStateServiceTests|AgentToolResultBudgetTests|AgentCommandQueueTests" -p:OutputPath=bin\\verify_command_resolution_tests\\ -p:IntermediateOutputPath=obj\\verify_command_resolution_tests\\통과 50
업데이트: 2026-04-15 08:32 (KST)
tool_resultpreview 상태 고정을 한 단계 더 강화했습니다. AgentQueryContextBuilder.cs, ContextCondenser.cs, AgentToolResultBudget.cs는 query view 생성과 compact 전에 누락된 preview를 먼저 복원하고,sourceMessages가 없는 호출에서도 같은tool_use_idpreview를 재사용하도록 정리했습니다.- 개발언어 지원은
no-LSP fallback까지 마감했습니다. CodeLanguageCatalog.cs는 언어별manifest/build/test/lint힌트를 제공하고, LspTool.cs는 로컬 언어 서버가 없을 때 실패만 반환하지 않고 정적 분석 fallback 안내를 돌려줍니다. - 코드 탭 설정과 프롬프트도 함께 맞췄습니다. SettingsWindow.xaml, SettingsViewModel.cs, ChatWindow.SystemPromptBuilder.cs는
Fallback 분석설명과 LSP 미사용 시 대체 분석 지침을 명시합니다. - 테스트로 AgentQueryContextBuilderTests.cs를 추가했고, AgentToolResultBudgetTests.cs, CodeLanguageCatalogTests.cs를 확장해 preview 재사용과 fallback 힌트를 회귀 검증했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_loop_lang_finish\\ -p:IntermediateOutputPath=obj\\verify_loop_lang_finish\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentToolResultBudgetTests|AgentQueryContextBuilderTests|CodeLanguageCatalogTests|ContextCondenserTests" -p:OutputPath=bin\\verify_loop_lang_finish_tests\\ -p:IntermediateOutputPath=obj\\verify_loop_lang_finish_tests\\통과 20
업데이트: 2026-04-15 09:05 (KST)
- 문서 품질 보정 루프를 한 단계 더 마감했습니다. DocxSkill.cs는 DOCX 결과에도
Repair guide:를 함께 반환하도록 정리했고, Executive Summary/Recommendation/Appendix 판정에 한글 키워드도 함께 반영해 한국어 문서에서 품질 리뷰 누락이 덜 발생하도록 맞췄습니다. - ArtifactQualityReviewService.cs는 DOCX 장문 문서에 대해
cover,table of contents,template,header/footer보강 포인트를, XLSX dashboard workbook에 대해highlight/action,detail navigation,trend/variance formula보강 포인트를 추가로 잡아냅니다. - ArtifactRepairGuideService.cs와 DeckRepairGuideService.cs는 위 리뷰를 실제 수정 행동으로 바로 연결하는 문장을 더 풍부하게 반환합니다. 이제 문서/워크북/deck 출력에서 “무엇을 더 고치면 되는지”가 더 직접적으로 보입니다.
- 테스트로 ArtifactQualityReviewServiceTests.cs, ArtifactRepairGuideServiceTests.cs, DeckRepairGuideServiceTests.cs, DocxSkillTemplateFeaturesTests.cs를 확장했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_repair_finalize\\ -p:IntermediateOutputPath=obj\\verify_doc_repair_finalize\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|DeckRepairGuideServiceTests|DocxSkillTemplateFeaturesTests" -p:OutputPath=bin\\verify_doc_repair_finalize_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_repair_finalize_tests\\통과 11
업데이트: 2026-04-15 09:24 (KST)
- 에이전틱 루프의 큐 소비 책임을 더 잘게 분리했습니다. AgentQueuedCommandProjector.cs를 추가해 queued command 배치를
대화 메시지 + 이벤트로 투영하는 로직을 별도 helper로 옮겼고, AgentLoopService.cs는 투영 결과를 적용하는 얇은 orchestration 역할에 더 가깝게 정리했습니다. - workbook/dashboard 리뷰도 더 엄격해졌습니다. ArtifactQualityReviewService.cs는 dashboard sheet가 있어도 KPI·trend·decision 정보가 비어 있으면 얇은 dashboard로 경고하고, ArtifactRepairGuideService.cs는 이를
core story가 보이도록 KPI/decision 블록을 추가하라는 문장으로 바꿉니다. - PPT deck 리뷰는 storyline 힌트까지 검사합니다. DeckQualityReviewService.cs는 storyline에
Options,Roadmap,Appendix가 있는데 실제 슬라이드가 빠진 경우 별도 이슈를 만들고, DeckRepairGuideService.cs는 이를 deck storyline 보강 액션으로 연결합니다. - 테스트로 AgentQueuedCommandProjectorTests.cs, DeckQualityReviewServiceTests.cs, ArtifactQualityReviewServiceTests.cs, ArtifactRepairGuideServiceTests.cs, DeckRepairGuideServiceTests.cs를 확장했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_loop_doc_finish2\\ -p:IntermediateOutputPath=obj\\verify_loop_doc_finish2\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentQueuedCommandProjectorTests|AgentCommandQueueTests|ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|DeckQualityReviewServiceTests|DeckRepairGuideServiceTests|PptxSkillGoldenDeckTests|ExcelSkillDashboardSummaryTests" -p:OutputPath=bin\\verify_loop_doc_finish2_tests\\ -p:IntermediateOutputPath=obj\\verify_loop_doc_finish2_tests\\통과 25
업데이트: 2026-04-15 09:36 (KST)
- 장기 세션에서
tool_resultpreview가 통째로 사라진 경우를 대비해 AgentMessageInvariantHelper.cs에 synthetic preview 복원 경로를 추가했습니다. 이제 저장/재개/분기 이후 기존 preview가 하나도 남지 않아도tool_use_id,tool_name, 축약된content를 기반으로 query preview를 다시 만들 수 있습니다. - AgentQueryContextBuilder.cs가 이 복원 경로를 그대로 활용하도록 회귀를 보강했고, 새 테스트 AgentMessageInvariantHelperTests.cs, AgentQueryContextBuilderTests.cs로 synthetic preview 생성과 query view 반영을 고정했습니다.
- 문서 golden 회귀도 확대했습니다. ExcelSkillGoldenWorkbookTests.cs는 summary/dashboard/detail 구조와 formula, data validation, conditional formatting이 모두 들어간 운영 리뷰 workbook이
Needs work: none과Repair guide: none을 유지하는지 검증합니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_preview_golden_finish\\ -p:IntermediateOutputPath=obj\\verify_preview_golden_finish\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentMessageInvariantHelperTests|AgentQueryContextBuilderTests|AgentQueuedCommandProjectorTests|ExcelSkillGoldenWorkbookTests|ExcelSkillDashboardSummaryTests|PptxSkillGoldenDeckTests" -p:OutputPath=bin\\verify_preview_golden_finish_tests\\ -p:IntermediateOutputPath=obj\\verify_preview_golden_finish_tests\\통과 10
업데이트: 2026-04-15 09:20 (KST)
- AgentLoopDiagnosticsFormatter.cs를 추가해 AgentLoopService.cs의 컨텍스트 압축 완료 메시지와 query-view 진단 문자열 조립을 별도 helper로 분리했습니다. 루프 본체는 orchestration에 더 가깝게 남기고, 진단 포맷은 테스트 가능한 단위로 떼어낸 변경입니다.
- ChatStorageService.cs는 로드 시점에도
tool_resultpreview 보정을 수행하도록 확장했습니다. 이로써 예전 버전에서 저장되어 preview가 비어 있는 legacy 대화도 재열기 순간 즉시 synthetic preview를 복원합니다. - golden 회귀를 HTML/DOCX까지 확대했습니다. 새 HtmlSkillGoldenReportTests.cs는 board-grade HTML 보고서가
Needs work: none,Repair guide: none을 유지하는지 검증하고, 새 DocxSkillGoldenDocumentTests.cs는 cover/TOC/template/header-footer를 갖춘 business DOCX 조립 결과가 품질 리뷰이슈 0을 유지하는지 고정합니다. - 저장 경로 회귀도 추가했습니다. 새 ChatStorageServiceTests.cs는 legacy
.axchat파일을 직접 만든 뒤 로드시 synthetic preview가 실제로 채워지는지 검증합니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_loop_storage_golden\\ -p:IntermediateOutputPath=obj\\verify_loop_storage_golden\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopDiagnosticsFormatterTests|ChatStorageServiceTests|HtmlSkillGoldenReportTests|DocxSkillGoldenDocumentTests|AgentMessageInvariantHelperTests|PptxSkillGoldenDeckTests|ExcelSkillGoldenWorkbookTests" -p:OutputPath=bin\\verify_loop_storage_golden_tests\\ -p:IntermediateOutputPath=obj\\verify_loop_storage_golden_tests\\통과 10
업데이트: 2026-04-15 09:49 (KST)
- 개발언어 카탈로그를 실제 워크플로 힌트 소스로 확장했습니다. CodeLanguageCatalog.cs는 이제 언어별
manifest/build/test/lint힌트를 직접 조회하는 API와workflow summary조합기를 제공해, 단순 지원 언어 표시에 그치지 않고 실제 분석/복구 지침 생성에 재사용할 수 있습니다. - WorkspaceContextGenerator.cs는 새
## Language Workflow섹션을 생성합니다. 상위 언어 3개까지의 주요 manifest, build/test/lint 힌트를.ax-context.md에 함께 기록해, no-LSP 환경에서도 워크스페이스 문맥 안에 바로 실행 가능한 언어별 힌트를 남깁니다. - 문서 포맷 품질 출력도 공통 helper로 정리하기 시작했습니다. 새 ArtifactQualityOutputFormatter.cs를 추가했고, HtmlSkill.cs와 ExcelSkill.cs는 동일한 quality summary + repair guide 조합을 사용하도록 맞췄습니다.
- 테스트는 CodeLanguageCatalogTests.cs와 WorkspaceContextGeneratorTests.cs를 확장해 workflow summary와 workspace context 내 language workflow 섹션을 회귀 검증합니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_language_workflow\\ -p:IntermediateOutputPath=obj\\verify_language_workflow\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "CodeLanguageCatalogTests|WorkspaceContextGeneratorTests" -p:OutputPath=bin\\verify_language_workflow_tests\\ -p:IntermediateOutputPath=obj\\verify_language_workflow_tests\\통과 33
업데이트: 2026-04-15 10:05 (KST)
- 에이전틱 루프의 시작/종료 책임을 helper로 더 분리했습니다. 새 AgentLoopRunLifecycle.cs는 run bootstrap, runtime finalization, transient state reset을 담당하고, AgentLoopService.cs는 실제 반복 orchestration에 더 집중하도록 정리했습니다.
- 이 과정에서 장기 세션 로그 정확도도 함께 보강했습니다. run 종료 후
_currentRunId를 먼저 비워 성능 로그에 빈 run id가 남던 흐름을 고쳐, 종료 metric에도 실제 run id가 안정적으로 기록됩니다. tool_resultpreview 복원은tool_use_id뿐 아니라 fingerprint 재바인딩까지 지원합니다. AgentMessageInvariantHelper.cs는 같은 tool output이 다른 세션/분기에서 재등장할 때 기존 preview를 현재tool_use_id에 맞춰 다시 묶어 저장/재개 후 query preview 일관성을 더 높입니다.- 문서 포맷 품질 출력도 DOCX/PPTX/Excel 멀티시트 경로까지 공통화했습니다. ArtifactQualityOutputFormatter.cs를 DocxSkill.cs, PptxSkill.cs, ExcelSkill.cs에도 연결해 quality summary와 repair guide 반환 형식을 한 줄기로 맞췄습니다.
- 테스트는 AgentMessageInvariantHelperTests.cs에 fingerprint 재바인딩 회귀를 추가했고, golden 회귀는 PptxSkillGoldenDeckTests.cs, ExcelSkillGoldenWorkbookTests.cs, DocxSkillGoldenDocumentTests.cs, HtmlSkillGoldenReportTests.cs 기준으로 다시 확인했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_run_finalize\\ -p:IntermediateOutputPath=obj\\verify_run_finalize\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentCommandQueueTests|AgentQueuedCommandProjectorTests|AgentMessageInvariantHelperTests|AgentQueryContextBuilderTests|ChatStorageServiceTests|PptxSkillGoldenDeckTests|ExcelSkillGoldenWorkbookTests|DocxSkillGoldenDocumentTests|HtmlSkillGoldenReportTests" -p:OutputPath=bin\\verify_run_finalize_tests2\\ -p:IntermediateOutputPath=obj\\verify_run_finalize_tests2\\통과 18
업데이트: 2026-04-15 10:10 (KST)
- 남은 고도화를 한 번에 끝내기 위한 통합 마감 계획을 확정했습니다. 다음 배치는
문서 포맷 최종 마감 -> 에이전틱 루프 iteration pipeline 분리 -> 개발언어 no-LSP fallback 심화 -> 명령/스킬 합성 및 릴리즈 게이트순서로 진행합니다. - 기준 레퍼런스는
기준 구조의 [query.ts](/E:/AX%20Copilot%20-%20Codex/기준 구조/기준 구조-f5a40b86dede580f6543bf8926c9af017eea9409/src/query.ts), [QueryEngine.ts](/E:/AX%20Copilot%20-%20Codex/기준 구조/기준 구조-f5a40b86dede580f6543bf8926c9af017eea9409/src/QueryEngine.ts), [toolResultStorage.ts](/E:/AX%20Copilot%20-%20Codex/기준 구조/기준 구조-f5a40b86dede580f6543bf8926c9af017eea9409/src/utils/toolResultStorage.ts), [messageQueueManager.ts](/E:/AX%20Copilot%20-%20Codex/기준 구조/기준 구조-f5a40b86dede580f6543bf8926c9af017eea9409/src/utils/messageQueueManager.ts), [commands.ts](/E:/AX%20Copilot%20-%20Codex/기준 구조/기준 구조-f5a40b86dede580f6543bf8926c9af017eea9409/src/commands.ts)이며, AX 쪽에서는AgentLoopService,AgentCommandQueue,AgentQueryContextBuilder,ContextCondenser,CodeLanguageCatalog,SlashCommandCatalog,SkillService, 각 문서 생성 스킬을 마감 대상으로 잡았습니다. - 완료 기준은
dotnet build경고 0 / 오류 0,PPTX/XLSX/DOCX/HTML golden,중단/재개/권한/branch/replay,언어 fallback회귀까지 모두 통과하는 상태입니다.
업데이트: 2026-04-15 10:24 (KST)
- 문서 품질 critic를 한 단계 더 구체화했습니다. ArtifactQualityReviewService.cs는 이제 HTML의
board_report/strategy_brief결정 블록 누락, DOCX 장문 문서의 evidence table·callout 부족, XLSX dashboard workbook의 trend/variance framing·sheet summary·headline tile 부족을 각각 별도 이슈로 판정합니다. - 보정 가이드도 포맷별로 더 실행 가능하게 정리했습니다. ArtifactRepairGuideService.cs와 DeckRepairGuideService.cs는 decision summary, trend/variance block, evidence table, next steps 같은 실제 보강 항목을 바로 제안하도록 보강했습니다.
- golden 회귀를 확대했습니다. HtmlSkillGoldenReportTests.cs에 strategy brief 시나리오를 추가했고, PptxSkillGoldenDeckTests.cs는 PMO steering deck까지 고정했습니다. ArtifactQualityReviewServiceTests.cs, ArtifactRepairGuideServiceTests.cs, DeckQualityReviewServiceTests.cs, DeckRepairGuideServiceTests.cs도 함께 확장했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_doc_finish_batch\\ -p:IntermediateOutputPath=obj\\verify_doc_finish_batch\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|DeckQualityReviewServiceTests|DeckRepairGuideServiceTests|HtmlSkillGoldenReportTests|PptxSkillGoldenDeckTests|DocxSkillGoldenDocumentTests|ExcelSkillGoldenWorkbookTests" -p:OutputPath=bin\\verify_doc_finish_batch_tests\\ -p:IntermediateOutputPath=obj\\verify_doc_finish_batch_tests\\통과 26
업데이트: 2026-04-15 10:50 (KST)
- 개발언어 fallback을 실제 코드 시스템 프롬프트와 워크스페이스 컨텍스트에 연결했습니다.
- CodeLanguageCatalog.cs를 UTF-8 기준으로 재정리하고, 언어별
manifest/build/test/lint힌트를 조합하는BuildWorkspaceWorkflowSummaries()를 추가했습니다. - WorkspaceContextGenerator.cs는 새
DetectLanguageWorkflowHints()를 통해.ax-context.md의## Language Workflow섹션과 런타임 힌트 생성을 같은 카탈로그 기준으로 공유합니다. - ChatWindow.SystemPromptBuilder.cs는 코드 탭 시스템 프롬프트에
## Repository Language Workflow섹션을 주입해 no-LSP 저장소에서도 실제 실행 가능한 힌트를 먼저 보게 했습니다.
- CodeLanguageCatalog.cs를 UTF-8 기준으로 재정리하고, 언어별
- 에이전틱 루프의 LLM 요청 준비를 helper로 더 분리했습니다.
- 새 AgentLoopLlmRequestPreparationService.cs가 초기 tool-call 강제 여부와 pre-call reminder 주입을 담당하고, AgentLoopService.cs는 orchestration 중심 구조를 더 유지하도록 정리했습니다.
- 테스트를 추가/보강했습니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_final_batch\\ -p:IntermediateOutputPath=obj\\verify_final_batch\\경고 0 / 오류 0dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "CodeLanguageCatalogTests|WorkspaceContextGeneratorTests|AgentLoopLlmRequestPreparationServiceTests|AgentLoopIterationPreparationServiceTests|AgentMessageInvariantHelperTests|AgentToolResultBudgetTests|ChatStorageServiceTests|HtmlSkillGoldenReportTests|PptxSkillGoldenDeckTests|DocxSkillGoldenDocumentTests|ExcelSkillGoldenWorkbookTests" -p:OutputPath=bin\\verify_final_batch_tests\\ -p:IntermediateOutputPath=obj\\verify_final_batch_tests\\통과 54
업데이트: 2026-04-15 11:17 (KST)
- SQL 전용 정적 분석 계층을 추가했습니다. 새 SqlDialectDetector.cs와 SqlAnalysisService.cs는 PostgreSQL/MySQL/SQL Server/SQLite/Oracle 방언 추정, statement 분류, object 추출, destructive DDL·broad DML·transaction boundary 위험 감지, SQL 전용 fallback summary 생성을 담당합니다.
- CodeLanguageCatalog.cs는 SQL용 manifest/build/test/lint 힌트와 workflow summary를 제공하고, no-LSP fallback 경로에서 일반 언어 설명 대신 SQL 분석 요약을 우선 반환하도록 보강했습니다.
- PPT/HTML 문서 품질도 더 올렸습니다. DeckPlanningService.cs는 구조화된
content슬라이드를kpi_dashboard,comparison,roadmap,chart로 자동 승격하고, DeckQualityReviewService.cs와 DeckRepairGuideService.cs는 executive summary KPI 근거, comparison verdict, roadmap owner/timeline, KPI dashboard takeaway 부족을 별도 경고/보정 가이드로 다룹니다. - HtmlSkill.cs는 새
kpi_panel섹션을 지원하고, ArtifactQualityReviewService.cs와 ArtifactRepairGuideService.cs는 board/strategy 문서의 KPI/evidence/decision 연결 부족을 더 정확히 감지합니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_sql_doc_batch\\ -p:IntermediateOutputPath=obj\\verify_sql_doc_batch\\경고 0 / 오류 0dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "SqlDialectDetectorTests|SqlAnalysisServiceTests|CodeLanguageCatalogTests|DeckPlanningServiceTests|DeckQualityReviewServiceTests|ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|HtmlSkillConsultingSectionsTests|HtmlSkillGoldenReportTests|PptxSkillGoldenDeckTests" -p:OutputPath=bin\\verify_sql_doc_batch_tests\\ -p:IntermediateOutputPath=obj\\verify_sql_doc_batch_tests\\통과 47
업데이트: 2026-04-15 11:36 (KST)
- SQL 정적 분석을 한 단계 더 깊게 만들었습니다. SqlAnalysisService.cs는 이제 dialect/statement/risk뿐 아니라
script intent,dependency,review focus를 함께 계산해 migration, seed, reporting query, generic script를 구분하고 rollback·transaction·의존 객체 확인 포인트까지 fallback summary에 포함합니다. - 코드 탭과 워크스페이스 문맥도 SQL 전용 관점을 더 강하게 반영합니다. CodeLanguageCatalog.cs는 SQL workflow summary에
script intent,migration order,dependency힌트를 포함하고, WorkspaceContextGenerator.cs는 SQL 저장소에서## SQL Review Focus섹션을 생성해 destructive DDL, broad DML, transaction scope, rollback 점검을 바로 안내합니다. - HTML 문서는 의사결정형 구조를 더 직접적으로 표현할 수 있게 됐습니다. HtmlSkill.cs는
decision_matrix,metric_strip섹션을 새로 지원하고, ArtifactQualityReviewService.cs와 ArtifactRepairGuideService.cs는 board/strategy 문서에서 trade-off 설명과 KPI 요약 연결이 약할 때 decision matrix나 recommendation 연결을 구체적으로 제안합니다. - PPT deck critic도 더 날카로워졌습니다. DeckQualityReviewService.cs와 DeckRepairGuideService.cs는 executive summary headline, comparison trade-off, roadmap phase milestone, chart takeaway, KPI trend/note context 부족을 추가로 감지하고 바로 보정 문장으로 돌려줍니다.
- 테스트:
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_code_sql_doc\\ -p:IntermediateOutputPath=obj\\verify_code_sql_doc\\경고 0 / 오류 0dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "SqlDialectDetectorTests|SqlAnalysisServiceTests|CodeLanguageCatalogTests|WorkspaceContextGeneratorTests|ArtifactQualityReviewServiceTests|ArtifactRepairGuideServiceTests|DeckQualityReviewServiceTests|HtmlSkillConsultingSectionsTests" -p:OutputPath=bin\\verify_code_sql_doc_tests\\ -p:IntermediateOutputPath=obj\\verify_code_sql_doc_tests\\통과 62
업데이트: 2026-04-15 11:50 (KST)
- SQL을 단순 정적 요약에서
전용 리뷰단계로 더 끌어올렸습니다. 새 SqlReviewService.cs는severity,key findings,review checklist를 계산해 schema migration, seed/reference data, reporting query마다 다른 검토 포인트와 rollback·row-count·dependency 체크리스트를 fallback 결과에 붙입니다. - SqlAnalysisService.cs는 SQL fallback summary 끝에 위 리뷰 결과를 함께 출력하도록 확장됐고, CodeLanguageCatalog.cs는 SQL workflow summary에
review힌트를 추가해 rollback notes, dependency order, row-count guard를 더 명시적으로 안내합니다. - 에이전틱 루프 본체도 한 단계 더 가벼워졌습니다. 새 AgentLoopResponseClassificationService.cs는 LLM 응답 블록에서
text/tool_use분리, no-tool 연속 카운트 계산, thinking summary 생성을 담당하고, AgentLoopService.cs는 이 helper를 통해 응답 해석 책임을 줄였습니다. - 테스트:
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_loop_sql_finalize\\ -p:IntermediateOutputPath=obj\\verify_loop_sql_finalize\\경고 0 / 오류 0dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopResponseClassificationServiceTests|AgentLoopLlmRequestPreparationServiceTests|AgentLoopIterationPreparationServiceTests|SqlAnalysisServiceTests|SqlReviewServiceTests|CodeLanguageCatalogTests|WorkspaceContextGeneratorTests" -p:OutputPath=bin\\verify_loop_sql_finalize_tests\\ -p:IntermediateOutputPath=obj\\verify_loop_sql_finalize_tests\\통과 48
업데이트: 2026-04-15 14:00 (KST)
- Code 탭의 빈 작업 폴더 생성 버그를 보강했습니다. 새 AgentLoopCodeRuntimeGuards.cs는 빈 작업 폴더에서
folder_map,grep,file_read,env_tool,skill_manager,mcp_list_resources,mcp_read_resource같은 우회 탐색을 차단하고, 외부 루트(C:\\등)로의 fallback을 막은 뒤file_write직접 생성 경로로 복구합니다. - AgentLoopService.cs는 실행 시작 시 빈 작업 폴더를 감지하고, Code 탭의 direct-creation 요청이면 탐색보다 생성 우선 가이드를 먼저 주입하도록 정리했습니다. 같은 흐름에서 Code 기본 메타 도구 노출도 실제 런타임 활성 도구 목록에 반영되도록 연결했습니다.
- ChatWindow.SystemPromptBuilder.cs는 Code/Cowork 프롬프트에
빈 작업 폴더 + 새 파일 생성 요청일 때file_write를 바로 호출하라는 규칙과skill_manager,mcp_list_resources,mcp_read_resource비사용 규칙을 추가했습니다. - AgentLoopResponseClassificationService.cs는 text 안에 섞여 들어온
<tool_call>블록을 복구해file_write같은 실제 도구 호출이 스트리밍 중 유실되지 않도록 보강했습니다. - 테스트:
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_empty_workspace_fix2\\ -p:IntermediateOutputPath=obj\\verify_empty_workspace_fix2\\경고 0 / 오류 0dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "FullyQualifiedName~RunAsync_EmptyWorkspace_BlocksExternalFallbackAndRecoversToFileWrite|FullyQualifiedName~RunAsync_EmptyWorkspace_DisallowsSkillManagerAndRecoversToFileWrite|FullyQualifiedName~RunAsync_TextEmbeddedToolCall_RecoversAndExecutesFileWrite|FullyQualifiedName~Classify_ShouldRecoverToolCallEmbeddedInText" -p:OutputPath=bin\\verify_empty_workspace_fix2_tests\\ -p:IntermediateOutputPath=obj\\verify_empty_workspace_fix2_tests\\통과 4
업데이트: 2026-04-15 14:18 (KST)
- broader AgentLoop E2E 정합성을 맞췄습니다. AgentLoopE2ETests.cs에서
math_eval과 hook 기반 계산 시나리오는 실제 도구 카탈로그 정책에 맞춰Chat대신Cowork탭 기준으로 실행되도록 정리했습니다. 현재 AgentToolCatalog.cs 기준math_eval은Cowork,Code도구입니다. - AgentLoopService.cs의
activeTools.Count == 0처리도 개선했습니다. 실제allowed-tools런타임 정책이 있을 때만 스킬 정책 오류 문구를 반환하고, 그 외에는 현재 탭에 사용 가능한 도구가 없다는 탭 기준 메시지를 반환하도록 분기해 잘못된 원인 안내를 줄였습니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_runtime_policy_alignment_build\\ -p:IntermediateOutputPath=obj\\verify_runtime_policy_alignment_build\\경고 0 / 오류 0dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "AgentLoopE2ETests|AgentLoopResponseClassificationServiceTests" -p:OutputPath=bin\\verify_runtime_policy_alignment\\ -p:IntermediateOutputPath=obj\\verify_runtime_policy_alignment\\통과 19
업데이트: 2026-04-15 14:55 (KST)
- Code 탭 장시간 대기 진단을 보강했습니다. StreamingToolExecutionCoordinator.cs는 LLM 첫 응답 전/후 정체 구간을 heartbeat 방식으로 감지해
메인 루프 N: 모델에 요청하는 중입니다...,모델 첫 응답을 기다리는 중입니다...,모델 첫 응답을 받아 계속 진행합니다.같은 진행 상태를 이벤트와 앱 로그에 함께 남깁니다. - 앱 로그에는 이제
[AgentLoopWait]접두사로service/model/messages/tools/forceToolCall과 첫 응답 수신 시간(ms)이 기록됩니다. 설치본에서 Code 작업이 느릴 때 모델 대기인지, 중간 응답 정체인지 로그만으로 더 빠르게 구분할 수 있습니다. - 새 StreamingToolExecutionCoordinatorTests.cs는 느린 첫 응답일 때 waiting heartbeat가 발생하는지와 빠른 응답에서는 불필요한 wait 문구를 남기지 않는지를 회귀 검증합니다.
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_llm_wait_diag\\ -p:IntermediateOutputPath=obj\\verify_llm_wait_diag\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "StreamingToolExecutionCoordinatorTests|AgentLoopLlmRequestPreparationServiceTests|AgentLoopIterationPreparationServiceTests" -p:OutputPath=bin\\verify_llm_wait_diag_tests\\ -p:IntermediateOutputPath=obj\\verify_llm_wait_diag_tests\\통과 6
업데이트: 2026-04-15 15:27 (KST)
- 메인 루프2 이후 Cowork/Code 채팅창 바로 위의 라이브 카드가 사라진 회귀를 복구했습니다. ChatWindow.xaml.cs의
StartLiveAgentProgressHints()가 이제 Cowork/Code 실행 시작 시 ChatWindow.LiveProgressPresentation.cs의 라이브 카드 생성 경로를 다시 호출합니다. - 탭 판정은
IsAgentLiveCardEligibleTab(...)헬퍼로 분리해Cowork,Code만 라이브 카드 대상이 되도록 고정했고, Chat 같은 비대상 탭은 시작 시 기존 카드를 즉시 정리하도록 맞췄습니다. - 테스트: ChatWindowSlashPolicyTests.cs에 라이브 카드 대상 탭 회귀 검증 추가
- 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_live_card_restore\\ -p:IntermediateOutputPath=obj\\verify_live_card_restore\\경고 0 / 오류 0 - 검증:
dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "ChatWindowSlashPolicyTests" -p:OutputPath=bin\\verify_live_card_restore_tests\\ -p:IntermediateOutputPath=obj\\verify_live_card_restore_tests\\통과 49 업데이트: 2026-04-15 16:30 (KST) - 권한 체계 정리 1차를 반영했습니다. 사내 모드에서는
http_tool과 외부 URI뿐 아니라process,build_run경로의 명백한 네트워크성 명령도 차단하도록 OperationModePolicy.cs, ProcessTool.cs, BuildRunTool.cs, OpenExternalTool.cs를 보강했습니다. 이번 실행 동안 허용은 이제 실제 실행(run) 단위로만 유지됩니다. ChatWindow.xaml.cs는 탭별 실행 시작/종료 시 승인 규칙을 초기화하고, 같은 실행 안에서만 경로 승인 재사용이 일어나도록 정리했습니다.- 권한 설명 문구도 실제 동작과 맞췄습니다. PermissionModePresentationCatalog.cs, ChatWindow.PermissionPresentation.cs, AppStateService.cs는
권한 건너뛰기가 사내 모드의 워크스페이스 외부 접근까지 무조건 자동 허용하는 것은 아니라는 점을 명시합니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_permission_policy_cleanup\\ -p:IntermediateOutputPath=obj\\verify_permission_policy_cleanup\\경고 0 / 오류 0dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "OperationModePolicyTests|OperationModeReadinessTests|AgentLoopE2ETests" -p:OutputPath=bin\\verify_permission_policy_cleanup_tests\\ -p:IntermediateOutputPath=obj\\verify_permission_policy_cleanup_tests\\통과 46dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "LlmOperationModeTests" -p:OutputPath=bin\\verify_permission_policy_llm_tests\\ -p:IntermediateOutputPath=obj\\verify_permission_policy_llm_tests\\통과 3
업데이트: 2026-04-15 16:40 (KST)
- 사내 모드의 외부 LLM 정의를 테스트와 문서로 고정했습니다. 현재 기준 외부 LLM은
Gemini,Claude만 의미하며,Ollama,vLLM은 사내/사외 모드 모두 사용 가능합니다. - LlmOperationModeTests.cs를 UTF-8 기준으로 정리하고, 사내 모드에서
Ollama,vLLM이 외부 LLM 차단 가드에 막히지 않고 다음 단계까지 진행되는 회귀 테스트를 추가했습니다. - 검증:
dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify_internal_llm_scope\\ -p:IntermediateOutputPath=obj\\verify_internal_llm_scope\\경고 0 / 오류 0dotnet test src/AxCopilot.Tests/AxCopilot.Tests.csproj -c Release -v minimal --filter "LlmOperationModeTests" -p:OutputPath=bin\\verify_internal_llm_scope_tests\\ -p:IntermediateOutputPath=obj\\verify_internal_llm_scope_tests\\통과 5