Files
autogen/demo_realtime_saving.py
2026-03-12 17:58:15 +08:00

80 lines
2.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
实时文件保存演示脚本
展示如何在对话过程中实时创建文件
"""
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()