fix: 工作流完整性和协调性修复
修复 6 个问题: 1. 新一轮对话清理上轮工具卡片和终端输出(避免越积越多) 2. 中止 Agent Loop 时保留已执行的工具记录(不再丢失) 3. 切换历史会话时清理工作空间状态 4. handleRetry 保存 think 内容(之前丢失) 5. 中止流程统一:agent-engine 抛出 AbortError 由消费方处理(消除重复消息风险) 6. 导出 clearToolCardsExternal/clearTerminalExternal 供外部调用
This commit is contained in:
@@ -63,6 +63,25 @@ const IDLE_TIPS = [
|
||||
let tipIndex = Math.floor(Math.random() * IDLE_TIPS.length);
|
||||
let tipTimer: ReturnType<typeof setInterval> | null = null;
|
||||
|
||||
/** 清空工具卡片(供外部调用) */
|
||||
export function clearToolCardsExternal(): void {
|
||||
toolCards = [];
|
||||
if (activeTab === 'tools') renderToolCalls();
|
||||
updateToolsHint();
|
||||
}
|
||||
|
||||
/** 清空终端(供外部调用) */
|
||||
export function clearTerminalExternal(): void {
|
||||
if (terminal) {
|
||||
terminal.lines = [];
|
||||
terminal.running = false;
|
||||
}
|
||||
currentAiCommand = null;
|
||||
if (activeTab === 'terminal') renderTerminal();
|
||||
updateStopBtnState();
|
||||
updateHint();
|
||||
}
|
||||
|
||||
/** 工具调用卡片列表 */
|
||||
let toolCards: ToolCallRecord[] = [];
|
||||
let toolAutoScroll = true;
|
||||
|
||||
Reference in New Issue
Block a user