# 可视化脚本 Step3 集成补丁 ## 需要修改的部分 ### 1. 修改 `load_inspiration_points_data()` 函数 **位置**: line 14-45 **当前代码**: ```python def load_inspiration_points_data(inspiration_dir: str) -> List[Dict[str, Any]]: inspiration_path = Path(inspiration_dir) results = [] for subdir in inspiration_path.iterdir(): if subdir.is_dir(): step1_files = list(subdir.glob("all_step1_*.json")) if step1_files: try: with open(step1_files[0], 'r', encoding='utf-8') as f: step1_data = json.load(f) results.append({ "step1": step1_data, "inspiration_name": subdir.name }) except Exception as e: print(f"警告: 读取 {step1_files[0]} 失败: {e}") return results ``` **修改为**: ```python def load_inspiration_points_data(inspiration_dir: str) -> List[Dict[str, Any]]: """ 加载所有灵感点的分析结果(包含 step1 和 step3) Args: inspiration_dir: 灵感点目录路径 Returns: 灵感点分析结果列表 """ inspiration_path = Path(inspiration_dir) results = [] # 遍历所有子目录 for subdir in inspiration_path.iterdir(): if subdir.is_dir(): # 查找 step1 文件 step1_files = list(subdir.glob("all_step1_*.json")) # 查找 step3 文件 step3_files = list(subdir.glob("all_step3_*.json")) if step1_files: try: # 读取 step1 with open(step1_files[0], 'r', encoding='utf-8') as f: step1_data = json.load(f) # 尝试读取 step3 step3_data = None if step3_files: try: with open(step3_files[0], 'r', encoding='utf-8') as f: step3_data = json.load(f) except Exception as e: print(f"警告: 读取 {step3_files[0]} 失败: {e}") results.append({ "step1": step1_data, "step3": step3_data, "inspiration_name": subdir.name }) except Exception as e: print(f"警告: 读取 {step1_files[0]} 失败: {e}") return results ``` --- ### 2. 修改 `generate_inspiration_card_html()` 函数 **位置**: line 74-183 在 score-section 之后添加 step3 预览部分: **在 line 177 (step1_match_preview 之后) 添加**: ```python # 获取 Step3 生成的灵感点(简要展示) step3_preview = "" step3 = inspiration_data.get("step3") if step3: step3_inspirations = step3.get("灵感点列表", []) if step3_inspirations: preview_items = [] for idx, item in enumerate(step3_inspirations[:3]): path = item.get("推理路径", "") insp_point = item.get("灵感点", "") preview_items.append(f'''