AX Agent 진행 표시를 Claude Code 스타일에 가깝게 정리
Some checks failed
Release Gate / gate (push) Has been cancelled

- execution history를 접은 상태에서도 대기/압축/중요 진행 이벤트가 transcript에 계속 노출되도록 필터를 조정함

- 진행 줄 메타를 경과 시간 · 누적 토큰 형식으로 통일하고 일반 진행 이벤트를 평평한 line 스타일로 정리함

- 장기 대기/컨텍스트 압축 상태만 강조 배경과 펄스 마커를 유지해 살아 있는 작업이 더 잘 보이도록 개선함

- README와 DEVELOPMENT 문서에 2026-04-06 23:26 (KST) 기준 이력을 반영함

- 검증: dotnet build src/AxCopilot/AxCopilot.csproj -c Release -v minimal -p:OutputPath=bin\\verify\\ -p:IntermediateOutputPath=obj\\verify\\ (경고 0 / 오류 0)
This commit is contained in:
2026-04-06 23:29:08 +09:00
parent 45dfa70951
commit dc2574bb17
5 changed files with 315 additions and 20 deletions

View File

@@ -6170,7 +6170,7 @@ public partial class ChatWindow : Window
// 그래야 중간 배너 잔상과 최종 재렌더 중복이 줄어듭니다.
var shouldShowExecutionHistory = _currentConversation?.ShowExecutionHistory ?? false;
AppendConversationExecutionEvent(evt, eventTab);
if (shouldShowExecutionHistory
if ((shouldShowExecutionHistory || ShouldRenderProgressEventWhenHistoryCollapsed(evt))
&& string.Equals(eventTab, _activeTab, StringComparison.OrdinalIgnoreCase))
ScheduleExecutionHistoryRender(autoScroll: true);
@@ -6315,6 +6315,24 @@ public partial class ChatWindow : Window
};
}
private static bool ShouldRenderProgressEventWhenHistoryCollapsed(AgentEvent evt)
{
if (evt.Type == AgentEventType.Complete || evt.Type == AgentEventType.Error)
return true;
if (evt.Type == AgentEventType.Thinking)
{
if (string.Equals(evt.ToolName, "agent_wait", StringComparison.OrdinalIgnoreCase)
|| string.Equals(evt.ToolName, "context_compaction", StringComparison.OrdinalIgnoreCase))
return true;
if (!string.IsNullOrWhiteSpace(evt.Summary))
return true;
}
return IsProcessFeedEvent(evt);
}
private void OnSubAgentStatusChanged(SubAgentStatusEvent evt)
{
Dispatcher.Invoke(() =>