|
|
@@ -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))
|