Files
autogen/demo_realtime_saving.py

80 lines
2.5 KiB
Python
Raw Permalink Normal View History

2026-03-12 17:58:15 +08:00
"""
实时文件保存演示脚本
展示如何在对话过程中实时创建文件
"""
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()