| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- """主程序入口"""
- import sys
- from orchestrator import AdvancedColumnWriterOrchestrator
- from exporter import ColumnExporter
- from config import get_settings
- def main():
- """主函数"""
- print("\n" + "="*70)
- print("HelloAgents 专栏编写系统")
- print("="*70)
-
- # 获取配置
- settings = get_settings()
-
- # 获取主题
- if len(sys.argv) > 1:
- main_topic = " ".join(sys.argv[1:])
- else:
- print("\n请输入专栏主题(或直接回车使用默认主题):")
- main_topic = input("> ").strip()
- if not main_topic:
- main_topic = "Python异步编程完全指南"
- print(f"使用默认主题:{main_topic}")
-
- # 选择模式
- print("\n请选择写作模式:")
- print("1. ReActAgent 模式 (默认) - 推理、行动、工具调用")
- print("2. ReflectionAgent 模式 - 自我反思、自动优化")
- mode_choice = input("> ").strip()
- use_reflection = mode_choice == "2"
-
- try:
- # 创建高级编排器
- orchestrator = AdvancedColumnWriterOrchestrator(use_reflection_mode=use_reflection)
-
- # 创建专栏
- result = orchestrator.create_column(main_topic)
-
- # 导出结果
- from datetime import datetime
- output_dir = f"output_{datetime.now().strftime('%Y%m%d_%H%M%S')}"
- ColumnExporter.export_to_files(result, output_dir)
-
- # 打印统计
- print(f"\n{'='*70}")
- print(f"📊 创作统计")
- print(f"{'='*70}")
- stats = result['statistics']
- print(f"文章总数: {stats['total_articles']}")
- print(f"总字数: {stats['total_words']:,}")
- print(f"平均字数: {stats['avg_words_per_article']:,}")
-
- if 'agent_modes' in result:
- print(f"\nAgent 模式:")
- print(f" Planner: {result['agent_modes']['planner']}")
- print(f" Writer: {result['agent_modes']['writer']}")
-
- print(f"\n{'='*70}")
- print(f"✅ 专栏创建完成!")
- print(f" 输出目录: {output_dir}")
- print(f"{'='*70}\n")
-
- except KeyboardInterrupt:
- print("\n\n⏸️ 用户中断,程序退出")
- sys.exit(0)
- except Exception as e:
- print(f"\n❌ 程序出错: {e}")
- import traceback
- traceback.print_exc()
- sys.exit(1)
- if __name__ == "__main__":
- main()
|