fix
This commit is contained in:
79
demo_realtime_saving.py
Normal file
79
demo_realtime_saving.py
Normal file
@@ -0,0 +1,79 @@
|
||||
"""
|
||||
实时文件保存演示脚本
|
||||
展示如何在对话过程中实时创建文件
|
||||
"""
|
||||
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()
|
||||
Reference in New Issue
Block a user