马一丁

Ensure log cleanup in multiple modes

... ... @@ -53,6 +53,7 @@ from .graphrag.prompts import (
SYSTEM_PROMPT_CHAPTER_GRAPH_ENHANCEMENT,
format_graph_results_for_prompt
)
from utils.knowledge_logger import init_knowledge_log
class StageOutputFormatError(ValueError):
... ... @@ -470,6 +471,8 @@ class ReportAgent:
self.state.query = query
self.state.metadata.query = query
self.state.mark_processing()
# 新一轮任务开始时重置知识查询日志,避免跨任务残留
init_knowledge_log(force_reset=True)
normalized_reports = self._normalize_reports(reports)
... ...
... ... @@ -656,7 +656,8 @@
let data = await fetchGraph(reportId);
let usedFallback = false;
if ((!data || !data.graph) && allowFallback) {
const allowLatestFallback = allowFallback && !reportId;
if ((!data || !data.graph) && allowLatestFallback) {
data = await fetchGraph(null);
usedFallback = !!(data && data.graph);
}
... ... @@ -684,9 +685,25 @@
showToast(usedFallback ? '未找到指定图谱,已切换至最新版本' : '已刷新最新图谱');
}
} else {
if (!graphReady) {
showEmpty(true);
showEmpty(true);
graphReady = false;
allNodes = [];
allEdges = [];
resetGraphSearchState();
updateStats({
total_nodes: 0,
total_edges: 0,
topic: 0,
engine: 0,
section: 0,
search_query: 0,
source: 0
});
if (network) {
network.destroy();
network = null;
}
hideNodeDetail();
showLoading(false);
if (fromManual) {
showToast('未找到图谱数据');
... ...
... ... @@ -5589,13 +5589,14 @@ function getConsoleContainer() {
try {
const targetTaskId = graphPanelTaskId || (lastCompletedReportTask ? lastCompletedReportTask.task_id : null);
const allowLatestFallback = allowFallback && !targetTaskId;
let data = null;
let usedFallback = false;
if (targetTaskId) {
data = await fetchGraphData(targetTaskId);
}
if ((!data || !data.graph) && allowFallback) {
if ((!data || !data.graph) && allowLatestFallback) {
data = await fetchGraphData(null);
usedFallback = !!(data && data.graph);
}
... ... @@ -5616,8 +5617,19 @@ function getConsoleContainer() {
setGraphPanelPlaceholder('面板已收起,点击“展示详情”查看');
}
} else {
graphPanelData = { nodes: [], edges: [] };
resetGraphSearchState();
if (graphPanelNetwork) {
graphPanelNetwork.destroy();
graphPanelNetwork = null;
}
const innerCanvas = document.getElementById('graphPanelCanvasInner');
if (innerCanvas) {
innerCanvas.innerHTML = '';
}
updateGraphStats({ nodes: [], edges: [] });
setGraphPanelState('idle', '暂未找到知识图谱,请生成报告后刷新');
setGraphPanelState('idle', targetTaskId ? '当前任务的知识图谱尚未生成,请稍后刷新' : '暂未找到知识图谱,请生成报告后刷新');
setGraphPanelPlaceholder(targetTaskId ? '等待当前任务生成新的知识图谱...' : '暂未找到知识图谱,请生成报告后刷新');
}
} catch (error) {
console.warn('刷新知识图谱失败:', error);
... ... @@ -5636,6 +5648,16 @@ function getConsoleContainer() {
if (!panel) return;
panel.style.display = 'flex';
bindGraphPanelEvents();
graphPanelData = { nodes: [], edges: [] };
resetGraphSearchState();
if (graphPanelNetwork) {
graphPanelNetwork.destroy();
graphPanelNetwork = null;
}
const innerCanvas = document.getElementById('graphPanelCanvasInner');
if (innerCanvas) {
innerCanvas.innerHTML = '';
}
updateGraphStats({ nodes: [], edges: [] });
setGraphPanelState('loading', '报告生成中,知识图谱生成后自动刷新');
setGraphPanelPlaceholder('正在生成知识图谱...');
... ...