""" 实时文件保存演示脚本 展示如何在对话过程中实时创建文件 """ import os import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent)) from autogen_sdls_system import AutoGenSDLCSystem def demo_realtime_saving(): """演示实时文件保存功能""" print("=" * 70) print("🚀 AutoGen SDLC - 实时文件保存演示") print("=" * 70) # 检查 API Key api_key = os.getenv("DASHSCOPE_API_KEY") if not api_key: print("\n❌ 错误:未设置 DASHSCOPE_API_KEY 环境变量") print("请运行:$env:DASHSCOPE_API_KEY='your_api_key' (PowerShell)") print("或:export DASHSCOPE_API_KEY='your_api_key' (Linux/Mac)") return # 创建系统实例,使用独立的工作目录 workspace = "workspace_realtime_demo" print(f"\n📂 工作目录:{Path(workspace).absolute()}") system = AutoGenSDLCSystem( api_key=api_key, workspace_dir=workspace ) # 简单需求用于快速演示 requirement = """ 我需要一个 Python 工具函数库,包含以下功能: 1. factorial(n): 计算阶乘 2. is_prime(n): 判断质数 3. fibonacci(n): 生成斐波那契数列前 n 项 要求:每个函数都有类型注解和完整文档字符串 """ print(f"\n📋 需求:{requirement}") print("\n💡 提示:您会看到文件在对话过程中被实时创建...\n") # 运行工作流 result = system.run_workflow(requirement, max_round=15) # 显示结果 print("\n" + "=" * 70) if result["success"]: print("✅ 工作流成功完成!") print(f"\n📄 摘要:\n{result['summary'][:500]}...") # 显示生成的文件 print(f"\n📁 已保存 {len(result['saved_files'])} 个文件:") for file in result["saved_files"]: exists = "✓" if Path(file).exists() else "✗" print(f" {exists} {file}") # 显示工作目录内容 print(f"\n📂 工作目录内容:") workspace_path = Path(workspace) if workspace_path.exists(): for item in workspace_path.iterdir(): if item.is_file(): size = f"({item.stat().st_size} bytes)" print(f" 📄 {item.name} {size}") else: print(f"❌ 工作流失败:{result.get('error', '未知错误')}") print("\n" + "=" * 70) if __name__ == "__main__": demo_realtime_saving()