Procházet zdrojové kódy

fix: 关系图谱只渲染后端工具数据,忽略模型生成的 graph 围栏

模型输出的 `graph 围栏不是接口原始数据,可能出现持卡人/机主连到电话号等错误关系。现统一不再把 graph 围栏渲染成图谱,仅展示 get_case_graph 对应 ToolStep 的 graph_data;历史模型图显示停用提示。
cc před 3 dny
rodič
revize
9e8531c5c0

+ 20 - 8
ai-electron/frontend/src/ai/components/BlockRenderer.vue

@@ -16,13 +16,14 @@
     :error="block.error"
   />
 
-  <!-- 关系图谱:新组件只读渲染;历史 ```graph 围栏也走这里(兼容旧会话) -->
-  <GraphAnalysisBlock
-    v-else-if="block.kind === 'graph' && block.data"
-    :payload="block.data"
-    :meta="block.data?.title || ''"
-  />
-  <CodeBlock v-else-if="block.kind === 'graph'" :text="block.text" :lang="block.lang" />
+  <!--
+    关系图谱不再渲染模型输出的 ```graph 围栏。
+    图谱必须来自 get_case_graph 的后端全量 graph_data,挂在对应工具调用下面;
+    模型生成的图数据不是原始接口数据,可能丢关系/连错端点,统一忽略。
+  -->
+  <div v-else-if="block.kind === 'graph'" class="ai-graph-ignored">
+    该历史图谱来自模型输出,已停用;请重新查询关系图谱以使用后端原始数据。
+  </div>
 
   <!-- AI 研判结构化产物(```insight 围栏) -->
   <InsightBlock
@@ -49,7 +50,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(
@@ -61,3 +61,15 @@
     { streaming: false },
   );
 </script>
+
+<style lang="less" scoped>
+  .ai-graph-ignored {
+    margin: var(--ai-sp-2) 0;
+    padding: 8px 10px;
+    font-size: 12px;
+    color: var(--ai-text-2);
+    background: var(--ai-bg-subtle, #f7f8fa);
+    border: 1px dashed var(--ai-border, #e5e7eb);
+    border-radius: 6px;
+  }
+</style>