yangxiaohui пре 1 месец
родитељ
комит
67ccd185db
1 измењених фајлова са 32 додато и 3 уклоњено
  1. 32 3
      sug_v6_1_2_5.py

+ 32 - 3
sug_v6_1_2_5.py

@@ -1474,9 +1474,9 @@ async def main(input_dir: str, max_iterations: int = 20, visualize: bool = False
         output_html = os.path.join(run_context.log_dir, "visualization.html")
         print(f"\n🎨 生成可视化HTML...")
         result = subprocess.run([
-            "python", "sug_v6_1_2_3.visualize.py",
-            steps_file_path,
-            "-o", output_html
+            "node", "visualize_v2.js",
+            query_graph_file_path,
+            output_html
         ])
         if result.returncode == 0:
             print(f"✅ 可视化已生成: {output_html}")
@@ -1504,6 +1504,35 @@ if __name__ == "__main__":
         default=False,
         help="运行完成后自动生成可视化HTML"
     )
+    parser.add_argument(
+        "--visualize-only",
+        type=str,
+        help="仅生成可视化,指定query_graph.json文件路径"
+    )
     args = parser.parse_args()
 
+    # 如果只是生成可视化
+    if args.visualize_only:
+        import subprocess
+        query_graph_path = args.visualize_only
+        output_html = os.path.splitext(query_graph_path)[0].replace("query_graph", "visualization") + ".html"
+        if not output_html.endswith(".html"):
+            output_html = os.path.join(os.path.dirname(query_graph_path), "visualization.html")
+
+        print(f"🎨 生成可视化HTML...")
+        print(f"输入: {query_graph_path}")
+        print(f"输出: {output_html}")
+
+        result = subprocess.run([
+            "node", "visualize_v2.js",
+            query_graph_path,
+            output_html
+        ])
+
+        if result.returncode == 0:
+            print(f"✅ 可视化已生成: {output_html}")
+        else:
+            print(f"❌ 可视化生成失败")
+        sys.exit(result.returncode)
+
     asyncio.run(main(args.input_dir, max_iterations=args.max_iterations, visualize=args.visualize))