- AX Agent 내부 설정 오버레이에서 Plan Mode 도구 저장/노출 경로를 false 고정으로 정리 - 메인 설정에 남아 있던 플랜 모드 및 Plan Mode 도구 UI를 숨기고 카드 상태를 off 고정으로 정리 - Cowork/Code 상태바가 debug가 아닐 때 ToolCall/SkillCall/Paused/Resumed 이벤트로 과하게 흔들리지 않도록 조정 - claw-code parity 계획 문서와 README, DEVELOPMENT 이력을 현재 정책과 진척율 기준으로 갱신 - 검증: 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:
@@ -14327,7 +14327,7 @@ public partial class ChatWindow : Window
|
||||
llm.EnableParallelTools = ChkOverlayEnableParallelTools?.IsChecked == true;
|
||||
llm.EnableProjectRules = ChkOverlayEnableProjectRules?.IsChecked == true;
|
||||
llm.EnableAgentMemory = ChkOverlayEnableAgentMemory?.IsChecked == true;
|
||||
llm.Code.EnablePlanModeTools = ChkOverlayEnablePlanModeTools?.IsChecked == true;
|
||||
llm.Code.EnablePlanModeTools = false;
|
||||
llm.Code.EnableWorktreeTools = ChkOverlayEnableWorktreeTools?.IsChecked == true;
|
||||
llm.Code.EnableTeamTools = ChkOverlayEnableTeamTools?.IsChecked == true;
|
||||
llm.Code.EnableCronTools = ChkOverlayEnableCronTools?.IsChecked == true;
|
||||
@@ -14528,7 +14528,7 @@ public partial class ChatWindow : Window
|
||||
if (ChkOverlayEnableAgentMemory != null)
|
||||
ChkOverlayEnableAgentMemory.IsChecked = llm.EnableAgentMemory;
|
||||
if (ChkOverlayEnablePlanModeTools != null)
|
||||
ChkOverlayEnablePlanModeTools.IsChecked = llm.Code.EnablePlanModeTools;
|
||||
ChkOverlayEnablePlanModeTools.IsChecked = false;
|
||||
if (ChkOverlayEnableWorktreeTools != null)
|
||||
ChkOverlayEnableWorktreeTools.IsChecked = llm.Code.EnableWorktreeTools;
|
||||
if (ChkOverlayEnableTeamTools != null)
|
||||
@@ -15287,7 +15287,7 @@ public partial class ChatWindow : Window
|
||||
if (OverlayToggleAgentMemory != null)
|
||||
OverlayToggleAgentMemory.Visibility = showDev ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (OverlayTogglePlanModeTools != null)
|
||||
OverlayTogglePlanModeTools.Visibility = showCode ? Visibility.Visible : Visibility.Collapsed;
|
||||
OverlayTogglePlanModeTools.Visibility = Visibility.Collapsed;
|
||||
if (OverlayToggleWorktreeTools != null)
|
||||
OverlayToggleWorktreeTools.Visibility = showCode ? Visibility.Visible : Visibility.Collapsed;
|
||||
if (OverlayToggleTeamTools != null)
|
||||
@@ -17913,6 +17913,8 @@ public partial class ChatWindow : Window
|
||||
|
||||
private void UpdateAgentProgressBar(AgentEvent evt)
|
||||
{
|
||||
var isDebugLogLevel = string.Equals(_settings.Settings.Llm.AgentLogLevel, "debug", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
switch (evt.Type)
|
||||
{
|
||||
case AgentEventType.Planning when evt.Steps is { Count: > 0 }:
|
||||
@@ -18372,6 +18374,8 @@ public partial class ChatWindow : Window
|
||||
_ => evt.ToolName,
|
||||
};
|
||||
|
||||
var isDebugLogLevel = string.Equals(_settings.Settings.Llm.AgentLogLevel, "debug", StringComparison.OrdinalIgnoreCase);
|
||||
|
||||
switch (evt.Type)
|
||||
{
|
||||
case AgentEventType.Thinking:
|
||||
@@ -18394,6 +18398,8 @@ public partial class ChatWindow : Window
|
||||
SetStatus(GetDecisionStatusText(evt.Summary), spinning: IsDecisionPending(evt.Summary));
|
||||
break;
|
||||
case AgentEventType.ToolCall:
|
||||
if (!isDebugLogLevel)
|
||||
break;
|
||||
SetStatus($"{toolLabel} 실행 중...", spinning: true);
|
||||
break;
|
||||
case AgentEventType.ToolResult:
|
||||
@@ -18406,6 +18412,8 @@ public partial class ChatWindow : Window
|
||||
SetStatus($"[{evt.StepCurrent}/{evt.StepTotal}] 단계 완료", spinning: true);
|
||||
break;
|
||||
case AgentEventType.SkillCall:
|
||||
if (!isDebugLogLevel)
|
||||
break;
|
||||
SetStatus($"스킬 실행 중: {TruncateForStatus(evt.Summary)}", spinning: true);
|
||||
break;
|
||||
case AgentEventType.Complete:
|
||||
@@ -18417,9 +18425,13 @@ public partial class ChatWindow : Window
|
||||
StopStatusAnimation();
|
||||
break;
|
||||
case AgentEventType.Paused:
|
||||
if (!isDebugLogLevel)
|
||||
break;
|
||||
SetStatus("⏸ 일시정지", spinning: false);
|
||||
break;
|
||||
case AgentEventType.Resumed:
|
||||
if (!isDebugLogLevel)
|
||||
break;
|
||||
SetStatus("▶ 재개됨", spinning: true);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4697,7 +4697,7 @@
|
||||
</WrapPanel>
|
||||
</Grid>
|
||||
</Border>
|
||||
<Border Style="{StaticResource AgentSettingsRow}">
|
||||
<Border Style="{StaticResource AgentSettingsRow}" Visibility="Collapsed">
|
||||
<Grid>
|
||||
<StackPanel HorizontalAlignment="Left" Margin="0,0,180,0">
|
||||
<StackPanel Orientation="Horizontal">
|
||||
@@ -5154,7 +5154,7 @@
|
||||
|
||||
<!-- ── Agentic 도구 설정 ── -->
|
||||
<TextBlock Style="{StaticResource SectionHeader}" Text="Agentic 도구"/>
|
||||
<Border Style="{StaticResource SettingsRow}">
|
||||
<Border Style="{StaticResource SettingsRow}" Visibility="Collapsed">
|
||||
<Grid>
|
||||
<StackPanel HorizontalAlignment="Left" Margin="0,0,60,0">
|
||||
<TextBlock Style="{StaticResource RowLabel}" Text="Plan Mode 도구"/>
|
||||
|
||||
@@ -126,10 +126,9 @@ public partial class SettingsWindow : Window
|
||||
if (AgentDecisionCardNormal != null) AgentDecisionCardNormal.IsChecked = decision == "normal";
|
||||
if (AgentDecisionCardDetailed != null) AgentDecisionCardDetailed.IsChecked = decision == "detailed";
|
||||
|
||||
var planMode = (_vm.PlanMode ?? "off").Trim().ToLowerInvariant();
|
||||
if (AgentPlanModeCardOff != null) AgentPlanModeCardOff.IsChecked = planMode == "off";
|
||||
if (AgentPlanModeCardAlways != null) AgentPlanModeCardAlways.IsChecked = planMode == "always";
|
||||
if (AgentPlanModeCardAuto != null) AgentPlanModeCardAuto.IsChecked = planMode == "auto";
|
||||
if (AgentPlanModeCardOff != null) AgentPlanModeCardOff.IsChecked = true;
|
||||
if (AgentPlanModeCardAlways != null) AgentPlanModeCardAlways.IsChecked = false;
|
||||
if (AgentPlanModeCardAuto != null) AgentPlanModeCardAuto.IsChecked = false;
|
||||
|
||||
var operationMode = OperationModePolicy.Normalize(_vm.OperationMode);
|
||||
if (AgentOperationModeInternal != null) AgentOperationModeInternal.IsChecked = operationMode == OperationModePolicy.InternalMode;
|
||||
@@ -2217,12 +2216,7 @@ public partial class SettingsWindow : Window
|
||||
private void AgentPlanModeCard_Checked(object sender, RoutedEventArgs e)
|
||||
{
|
||||
if (!IsLoaded || sender is not RadioButton rb || rb.IsChecked != true) return;
|
||||
_vm.PlanMode = rb.Name switch
|
||||
{
|
||||
"AgentPlanModeCardAlways" => "always",
|
||||
"AgentPlanModeCardAuto" => "auto",
|
||||
_ => "off",
|
||||
};
|
||||
_vm.PlanMode = "off";
|
||||
}
|
||||
|
||||
private void AgentOperationModeCard_Checked(object sender, RoutedEventArgs e)
|
||||
|
||||
Reference in New Issue
Block a user