모델 프로파일 기반 Cowork/Code 루프와 진행 UX 고도화 반영

- 등록 모델 실행 프로파일을 검증 게이트, 문서 fallback, post-tool verification까지 확장 적용

- Cowork/Code 진행 카드에 계획/도구/검증/압축/폴백/재시도 단계 메타를 추가해 대기 상태 가시성 강화

- OpenAI/vLLM tool 요청에 병렬 도구 호출 힌트를 추가하고 회귀 프롬프트 문서를 프로파일 기준으로 전면 정리

- 검증: 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-08 13:41:57 +09:00
parent b391dfdfb3
commit a2c952879d
552 changed files with 8094 additions and 13595 deletions

View File

@@ -37,13 +37,14 @@ public partial class ChatWindow
var bubble = new Border
{
Background = userBubbleBg,
BorderBrush = borderBrush,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(12),
Padding = new Thickness(11, 7, 11, 7),
HorizontalAlignment = HorizontalAlignment.Right,
};
// DynamicResource 방식으로 바인딩 — 테마 전환 시 기존 버블도 자동 업데이트
bubble.SetResourceReference(Border.BackgroundProperty, "HintBackground");
if (string.Equals(_activeTab, "Cowork", StringComparison.OrdinalIgnoreCase) ||
string.Equals(_activeTab, "Code", StringComparison.OrdinalIgnoreCase))
@@ -120,6 +121,7 @@ public partial class ChatWindow
if (animate)
ApplyMessageEntryAnimation(wrapper);
if (message?.MsgId != null) _elementCache[$"m_{message.MsgId}"] = wrapper;
MessagePanel.Children.Add(wrapper);
return;
}
@@ -129,6 +131,7 @@ public partial class ChatWindow
var compactCard = CreateCompactionMetaCard(message, primaryText, secondaryText, hintBg, borderBrush, accentBrush);
if (animate)
ApplyMessageEntryAnimation(compactCard);
if (message.MsgId != null) _elementCache[$"m_{message.MsgId}"] = compactCard;
MessagePanel.Children.Add(compactCard);
return;
}
@@ -146,14 +149,7 @@ public partial class ChatWindow
var (agentName, _, _) = GetAgentIdentity();
var header = new StackPanel { Orientation = Orientation.Horizontal, Margin = new Thickness(2, 0, 0, 1.5) };
header.Children.Add(new TextBlock
{
Text = "\uE945",
FontFamily = new FontFamily("Segoe MDL2 Assets"),
FontSize = 10,
Foreground = secondaryText,
VerticalAlignment = VerticalAlignment.Center,
});
header.Children.Add(CreateMiniLauncherIcon(pixelSize: 4.0));
header.Children.Add(new TextBlock
{
Text = agentName,
@@ -167,12 +163,13 @@ public partial class ChatWindow
var contentCard = new Border
{
Background = assistantBubbleBg,
BorderBrush = borderBrush,
BorderThickness = new Thickness(1),
CornerRadius = new CornerRadius(12),
Padding = new Thickness(11, 8, 11, 8),
};
// DynamicResource 방식으로 바인딩 — 테마 전환 시 기존 버블도 자동 업데이트
contentCard.SetResourceReference(Border.BackgroundProperty, "ItemBackground");
var contentStack = new StackPanel();
var app = System.Windows.Application.Current as App;
@@ -337,6 +334,7 @@ public partial class ChatWindow
ShowMessageContextMenu(aiContent, "assistant");
};
if (message?.MsgId != null) _elementCache[$"m_{message.MsgId}"] = container;
MessagePanel.Children.Add(container);
}
}