From 94bbbf87bf2658c714172943546653b683186bf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=AC=E6=98=8E?= <83812544+Ed1s0nZ@users.noreply.github.com> Date: Fri, 8 May 2026 16:50:56 +0800 Subject: [PATCH] Add files via upload --- internal/handler/task_manager.go | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/internal/handler/task_manager.go b/internal/handler/task_manager.go index 4609ad52..26fa4125 100644 --- a/internal/handler/task_manager.go +++ b/internal/handler/task_manager.go @@ -15,12 +15,10 @@ var ErrTaskCancelled = errors.New("agent task cancelled by user") var ErrTaskAlreadyRunning = errors.New("agent task already running for conversation") // shouldPersistEinoAgentTraceAfterRunError:Eino 相关 Run 非成功返回时,是否仍写入 last_react_* 供下轮 loadHistoryFromAgentTrace。 -// 用户主动停止(WithCancelCause(ErrTaskCancelled))时不写入半截轨迹,避免下一轮 Plan-Execute 等因损坏/不完整 tool 上下文出现 no tool call 等异常。 +// 当前策略:无论正常结束、异常结束或用户主动停止,都尽量保留最后可用轨迹, +// 以便在同一会话继续时可基于原始上下文续跑,而不是回退到仅消息文本历史。 func shouldPersistEinoAgentTraceAfterRunError(baseCtx context.Context) bool { - if baseCtx == nil { - return true - } - return !errors.Is(context.Cause(baseCtx), ErrTaskCancelled) + return true } // AgentTask 描述正在运行的Agent任务