Przeglądaj źródła

fix: 关系图谱统一按新逻辑仅渲染后端工具数据

移除模型 `graph 围栏的历史渲染分支;新逻辑下图谱只来自 get_case_graph 的 graph_data,旧模型图不再渲染。历史会话中的新逻辑图谱继续从 tool_events.graphData 还原,查询条件在 tool_events.input 中。
cc 1 dzień temu
rodzic
commit
ad5adcc1d2

+ 5 - 14
ai-electron/frontend/src/ai/components/BlockRenderer.vue

@@ -17,18 +17,12 @@
   />
 
   <!--
-    历史模型图:消息里没有 get_case_graph 工具步骤时仍按模型围栏展示,保证旧会话可复原。
-    有工具步骤时以工具数据为准,忽略模型图,避免两份图并存/模型数据连错关系。
+    模型生成的 ```graph 围栏属于旧逻辑,不再渲染成图谱。
+    新逻辑:关系图谱只来自 get_case_graph 的后端 graph_data,挂在对应工具步骤下。
   -->
-  <GraphAnalysisBlock
-    v-else-if="block.kind === 'graph' && renderModelGraph && block.data"
-    :payload="block.data"
-    :meta="block.data?.title || ''"
-  />
-  <div v-else-if="block.kind === 'graph' && !renderModelGraph" class="ai-graph-ignored">
-    本次图谱已按 get_case_graph 后端原始数据展示,模型生成的图已忽略。
+  <div v-else-if="block.kind === 'graph'" class="ai-graph-ignored">
+    关系图谱已改为按 get_case_graph 后端原始数据展示,请重新查询关系图谱。
   </div>
-  <CodeBlock v-else-if="block.kind === 'graph'" :text="block.text" :lang="block.lang" />
 
   <!-- AI 研判结构化产物(```insight 围栏) -->
   <InsightBlock
@@ -55,7 +49,6 @@
   import CodeBlock from './blocks/CodeBlock.vue';
   import HtmlBlock from './blocks/HtmlBlock.vue';
   import EChartsBlock from './blocks/EChartsBlock.vue';
-  import GraphAnalysisBlock from './graph/GraphAnalysisBlock.vue';
   import InsightBlock from './blocks/InsightBlock.vue';
 
   withDefaults(
@@ -63,10 +56,8 @@
       block: ContentBlock;
       /** 所属消息是否仍在流式输出 */
       streaming?: boolean;
-      /** 是否渲染模型生成的 ```graph 围栏(有工具图谱时传 false) */
-      renderModelGraph?: boolean;
     }>(),
-    { streaming: false, renderModelGraph: true },
+    { streaming: false },
   );
 </script>
 

+ 0 - 5
ai-electron/frontend/src/ai/components/ChatMessageItem.vue

@@ -68,7 +68,6 @@
               :key="block.key"
               :block="block"
               :streaming="!!message.streaming"
-              :render-model-graph="!hasGraphToolStep"
             />
 
             <div v-if="message.streaming && !hasContent" class="ai-msg__skeleton">
@@ -162,10 +161,6 @@
 
   const hasContent = computed(() => !!(props.message.blocks || []).some((b) => b.text?.trim()));
 
-  const hasGraphToolStep = computed(() =>
-    (props.message.toolSteps || []).some((step) => step.toolName === 'get_case_graph' && step.status !== 'error'),
-  );
-
   const timeText = computed(() => {
     const raw = props.message.createAt;
     if (!raw) return '';