AX Agent 상단 헤더와 대화 목록 메타를 claw-code 쪽으로 정리
Some checks failed
Release Gate / gate (push) Has been cancelled
Some checks failed
Release Gate / gate (push) Has been cancelled
- 상단 탭 그룹과 사이드바 토글 버튼을 더 얇은 세그먼트형 UI로 조정 - 좌측 대화 목록의 실행 메타와 편집 아이콘을 더 약하게 줄여 제목 중심의 목록 밀도로 재정렬 - 검증: 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:
@@ -22,6 +22,11 @@ Windows 전용 시맨틱 런처 & 워크스페이스 매니저
|
||||
- 메시지 내부 액션 바와 Cowork/Code 실행 배너를 더 `claw-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)
|
||||
- 상단 헤더와 탭 그룹, 좌측 대화 목록 행 메타를 더 `claw-code` 쪽 밀도로 조정했습니다. 상단 탭은 더 얇은 세그먼트형으로 줄였고, 사이드바 토글 버튼도 크기와 선 두께를 낮췄습니다.
|
||||
- 대화 목록은 실행 상태/요약 텍스트와 우측 편집 아이콘을 더 약하게 줄여 제목 중심으로 읽히게 정리했습니다.
|
||||
- 검증 예정: `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` 후속 실행 분기를 `claw-code` 기준으로 다시 보강했습니다. 이제 문서 플래너 출력에서 body 골격과 즉시 실행 지시를 깨진 문자열 비교에 의존하지 않고 안정적으로 추출해, `html_create / document_assemble / docx_create / markdown_create` 후속 호출 유도가 실제로 이어집니다.
|
||||
- 코워크 문서형 작업은 설정이 `planMode=off`여도 내부적으로 `always` 플랜 경로를 타도록 보정했습니다. 그래서 문서/보고서/제안서 요청은 먼저 계획을 세우고, 그 계획을 바탕으로 실제 문서 생성 단계까지 이어가도록 정리했습니다.
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
- Document update: 2026-04-05 17:03 (KST) - Reworked the AX Agent UI skeleton further toward `claw-code`: sidebar width and row heights were tightened, the collapsed icon rail and sidebar header were flattened, status strips were reduced, and the composer shell/input chrome was made slimmer and less card-like.
|
||||
- Document update: 2026-04-05 17:03 (KST) - Re-tuned responsive width calculation for the new shell so the message axis now scales up to `880` and the composer up to `820`, keeping both aligned on the same center line as the window narrows or expands.
|
||||
- Document update: 2026-04-05 17:12 (KST) - Reduced message action chrome and event-banner density further toward `claw-code`. Message actions now use compact icon-only buttons, and Cowork/Code event banners use tighter margins, smaller metadata, and lighter file-path summaries so execution status stays subordinate to the main transcript.
|
||||
- Document update: 2026-04-05 17:19 (KST) - Tightened the top header/tab group and sidebar conversation-row chrome further toward `claw-code`. The top tabs now use a slimmer segmented control, the sidebar toggle button is smaller/lighter, and conversation-row metadata plus the edit affordance were reduced so the title remains the dominant visual anchor.
|
||||
- Document update: 2026-04-05 16:02 (KST) - Fixed the Cowork document execution handoff around `document_plan`. The loop no longer depends on broken localized marker strings to detect the scaffold/body block or the immediate-next-step hint; it now extracts body markers robustly and resolves the correct follow-up tool (`html_create`, `document_assemble`, `docx_create`, `markdown_create`) before re-prompting the model.
|
||||
- Document update: 2026-04-05 16:02 (KST) - Added `ResolveEffectivePlanMode(...)` so Cowork document/content tasks automatically use the `always` plan path even when the persisted plan mode is `off`. This brings Cowork closer to the `claw-code` expectation of plan-first execution for document-heavy work.
|
||||
- Document update: 2026-04-05 16:02 (KST) - Strengthened `BuildCoworkSystemPrompt()` so document/report/proposal/manual requests must produce an execution plan first and are not considered complete until a real output file path has been created or updated.
|
||||
|
||||
@@ -174,15 +174,15 @@
|
||||
<!-- 탭 버튼 -->
|
||||
<Style x:Key="TopTabBtn" TargetType="RadioButton">
|
||||
<Setter Property="Foreground" Value="{DynamicResource SecondaryText}"/>
|
||||
<Setter Property="FontSize" Value="13"/>
|
||||
<Setter Property="FontSize" Value="12"/>
|
||||
<Setter Property="FontWeight" Value="SemiBold"/>
|
||||
<Setter Property="Cursor" Value="Hand"/>
|
||||
<Setter Property="Padding" Value="18,6"/>
|
||||
<Setter Property="Padding" Value="16,5"/>
|
||||
<Setter Property="Template">
|
||||
<Setter.Value>
|
||||
<ControlTemplate TargetType="RadioButton">
|
||||
<Border x:Name="Bd" Background="Transparent"
|
||||
CornerRadius="8" Padding="{TemplateBinding Padding}">
|
||||
CornerRadius="7" Padding="{TemplateBinding Padding}">
|
||||
<ContentPresenter x:Name="Cp" HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
||||
</Border>
|
||||
<ControlTemplate.Triggers>
|
||||
@@ -1037,8 +1037,8 @@
|
||||
<!-- 좌: 사이드바 토글 -->
|
||||
<Button x:Name="BtnToggleSidebar"
|
||||
HorizontalAlignment="Left" VerticalAlignment="Center" Margin="10,0,0,0"
|
||||
Width="30"
|
||||
Height="30"
|
||||
Width="28"
|
||||
Height="28"
|
||||
Background="{DynamicResource HintBackground}"
|
||||
BorderBrush="{DynamicResource BorderColor}"
|
||||
BorderThickness="1"
|
||||
@@ -1051,25 +1051,25 @@
|
||||
Background="{TemplateBinding Background}"
|
||||
BorderBrush="{TemplateBinding BorderBrush}"
|
||||
BorderThickness="{TemplateBinding BorderThickness}"
|
||||
CornerRadius="8">
|
||||
<Grid Width="30" Height="30">
|
||||
CornerRadius="7">
|
||||
<Grid Width="28" Height="28">
|
||||
<StackPanel HorizontalAlignment="Center"
|
||||
VerticalAlignment="Center">
|
||||
<Border x:Name="SidebarLine1"
|
||||
Width="12"
|
||||
Height="1.6"
|
||||
Width="11"
|
||||
Height="1.4"
|
||||
CornerRadius="1"
|
||||
Background="{DynamicResource SecondaryText}"/>
|
||||
<Border x:Name="SidebarLine2"
|
||||
Width="12"
|
||||
Height="1.6"
|
||||
Margin="0,3,0,0"
|
||||
Width="11"
|
||||
Height="1.4"
|
||||
Margin="0,2.5,0,0"
|
||||
CornerRadius="1"
|
||||
Background="{DynamicResource SecondaryText}"/>
|
||||
<Border x:Name="SidebarLine3"
|
||||
Width="12"
|
||||
Height="1.6"
|
||||
Margin="0,3,0,0"
|
||||
Width="11"
|
||||
Height="1.4"
|
||||
Margin="0,2.5,0,0"
|
||||
CornerRadius="1"
|
||||
Background="{DynamicResource SecondaryText}"/>
|
||||
</StackPanel>
|
||||
@@ -1095,7 +1095,7 @@
|
||||
<Border Grid.Column="1"
|
||||
HorizontalAlignment="Center" VerticalAlignment="Center"
|
||||
Background="{DynamicResource HintBackground}"
|
||||
CornerRadius="12" Padding="4"
|
||||
CornerRadius="10" Padding="3"
|
||||
WindowChrome.IsHitTestVisibleInChrome="True">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
<RadioButton x:Name="TabChat" Content="Chat" Style="{StaticResource TopTabBtn}"
|
||||
@@ -1113,7 +1113,7 @@
|
||||
<!-- 우: 최소화 + 최대화 + 닫기 -->
|
||||
<StackPanel Grid.Column="2"
|
||||
Orientation="Horizontal" HorizontalAlignment="Right"
|
||||
VerticalAlignment="Center" Margin="0,0,8,0"
|
||||
VerticalAlignment="Center" Margin="0,0,6,0"
|
||||
WindowChrome.IsHitTestVisibleInChrome="True">
|
||||
<Button Style="{StaticResource TitleBarActionButton}" Click="BtnMinimize_Click" ToolTip="최소화">
|
||||
<TextBlock Text="" FontFamily="Segoe MDL2 Assets" FontSize="12"
|
||||
|
||||
@@ -3291,10 +3291,10 @@ public partial class ChatWindow : Window
|
||||
Text = _appState.ActiveTasks.Count > 0
|
||||
? $"진행 중 {_appState.ActiveTasks.Count}"
|
||||
: "진행 중",
|
||||
FontSize = 8,
|
||||
FontSize = 7.75,
|
||||
FontWeight = FontWeights.Medium,
|
||||
Foreground = BrushFromHex("#4F46E5"),
|
||||
Margin = new Thickness(0, 2, 0, 0),
|
||||
Margin = new Thickness(0, 1.5, 0, 0),
|
||||
});
|
||||
}
|
||||
if (item.AgentRunCount > 0)
|
||||
@@ -3304,11 +3304,11 @@ public partial class ChatWindow : Window
|
||||
Text = item.FailedAgentRunCount > 0
|
||||
? $"실패 {item.FailedAgentRunCount} · {TruncateForStatus(item.LastAgentRunSummary, 26)}"
|
||||
: $"실행 {item.AgentRunCount} · {TruncateForStatus(item.LastAgentRunSummary, 28)}",
|
||||
FontSize = 8.25,
|
||||
FontSize = 7.9,
|
||||
Foreground = item.FailedAgentRunCount > 0
|
||||
? BrushFromHex("#B91C1C")
|
||||
: (TryFindResource("SecondaryText") as Brush ?? Brushes.Gray),
|
||||
Margin = new Thickness(0, 2, 0, 0),
|
||||
Margin = new Thickness(0, 1.5, 0, 0),
|
||||
TextTrimming = TextTrimming.CharacterEllipsis
|
||||
};
|
||||
if (!string.IsNullOrWhiteSpace(item.LastAgentRunSummary))
|
||||
@@ -3329,7 +3329,7 @@ public partial class ChatWindow : Window
|
||||
{
|
||||
Text = "\uE70F", // Edit
|
||||
FontFamily = new FontFamily("Segoe MDL2 Assets"),
|
||||
FontSize = 8.5,
|
||||
FontSize = 8,
|
||||
Foreground = (TryFindResource("SecondaryText") as Brush ?? Brushes.Gray)
|
||||
},
|
||||
Background = Brushes.Transparent,
|
||||
@@ -3337,10 +3337,10 @@ public partial class ChatWindow : Window
|
||||
Cursor = Cursors.Hand,
|
||||
VerticalAlignment = VerticalAlignment.Center,
|
||||
Visibility = Visibility.Collapsed,
|
||||
Width = 22,
|
||||
Height = 22,
|
||||
Width = 20,
|
||||
Height = 20,
|
||||
Padding = new Thickness(0),
|
||||
Opacity = 0.85,
|
||||
Opacity = 0.72,
|
||||
ToolTip = _activeTab == "Cowork" ? "작업 유형" : "대화 주제 변경"
|
||||
};
|
||||
var capturedId = item.Id;
|
||||
|
||||
Reference in New Issue
Block a user