📄 报告导出功能详解
🎯 功能概述
TradingAgents-CN 提供了强大的报告导出功能,支持将股票分析结果导出为多种专业格式,方便用户保存、分享和进一步分析。
📋 支持的导出格式
1. 📝 Markdown格式
- 用途: 在线查看、版本控制、技术文档
- 特点: 轻量级、可编辑、支持版本控制
- 适用场景: 开发者文档、在线分享、技术博客
2. 📄 Word文档 (.docx)
- 用途: 商业报告、正式文档、打印输出
- 特点: 专业格式、易于编辑、广泛兼容
- 适用场景: 投资报告、客户演示、存档备份
3. 📊 PDF文档 (.pdf)
- 用途: 正式发布、打印、长期保存
- 特点: 格式固定、跨平台兼容、专业外观
- 适用场景: 正式报告、监管提交、客户交付
🚀 使用方法
Web界面导出
-
完成股票分析
- 在Web界面输入股票代码
- 选择分析深度和配置
- 等待分析完成
-
选择导出格式
- 在分析结果页面找到导出按钮
- 点击对应格式的导出按钮:
- 📝 导出 Markdown
- 📄 导出 Word
- 📊 导出 PDF
-
下载文件
- 系统自动生成文件
- 浏览器自动下载到本地
- 文件名格式:
{股票代码}_analysis_{时间戳}.{格式}
命令行导出
# 使用CLI进行分析并导出
python main.py --symbol 000001 --export-format word,pdf
📊 报告内容结构
标准报告包含以下章节:
-
📈 股票基本信息
- 股票代码和名称
- 当前价格和涨跌幅
- 市场板块信息
- 分析时间戳
-
🎯 投资决策摘要
- 投资建议(买入/卖出/持有)
- 置信度评分
- 风险评分
- 目标价位
-
📊 详细分析报告
- 市场技术分析
- 基本面分析
- 情绪分析(如启用)
- 新闻分析(如启用)
-
🔬 专家辩论记录
- 看涨分析师观点
- 看跌分析师观点
- 辩论过程记录
-
⚠️ 风险提示
- 市场风险警告
- 投资建议免责声明
- 数据来源说明
-
📝 技术信息
- 使用的LLM模型
- 分析师配置
- 数据源信息
- 生成时间
⚙️ 技术实现
导出引擎
- 核心引擎: Pandoc
- Word转换: pypandoc + python-docx
- PDF生成: wkhtmltopdf / weasyprint
- 格式处理: 自动清理YAML冲突
Docker环境优化
# Docker环境已预装所有依赖
- pandoc: 文档转换核心
- wkhtmltopdf: PDF生成引擎
- python-docx: Word文档处理
- 中文字体支持: 完整中文显示
错误处理机制
-
YAML解析保护
# 自动禁用YAML元数据解析
extra_args = ['--from=markdown-yaml_metadata_block'] -
内容清理
# 清理可能导致冲突的字符
content = content.replace('---', '—') # 表格分隔符保护
content = content.replace('...', '…') # 省略号处理 -
降级策略
# PDF引擎降级顺序
engines = ['wkhtmltopdf', 'weasyprint', 'default']
🔧 配置选项
环境变量配置
# .env 文件配置
EXPORT_ENABLED=true # 启用导出功能
EXPORT_DEFAULT_FORMAT=word,pdf # 默认导出格式
EXPORT_INCLUDE_DEBUG=false # 是否包含调试信息
EXPORT_WATERMARK=false # 是否添加水印
Web界面配置
- 导出格式选择: 用户可选择单个或多个格式
- 文件命名: 自动生成带时间戳的文件名
- 下载管理: 自动触发浏览器下载
📁 文件管理
文件命名规则
格式: {股票代码}_analysis_{YYYYMMDD_HHMMSS}.{扩展名}
示例:
- 000001_analysis_20250113_143022.docx
- AAPL_analysis_20250113_143022.pdf
- 600519_analysis_20250113_143022.md
存储位置
- Web导出: 临时文件,自动下载后清理
- CLI导出: 保存到
./exports/
目录 - Docker环境: 映射到主机目录(如配置)
🚨 故障排除
常见问题
-
Word导出失败
错误: YAML parse exception
解决: 系统已自动修复,重试即可 -
PDF生成失败
错误: wkhtmltopdf not found
解决: Docker环境已预装,本地环境需安装 -
中文显示问题
错误: 中文字符显示为方块
解决: Docker环境已配置中文字体
调试方法
-
查看详细日志
docker logs TradingAgents-web --follow
-
测试转换功能
docker exec TradingAgents-web python test_conversion.py
-
检查依赖
docker exec TradingAgents-web pandoc --version
docker exec TradingAgents-web wkhtmltopdf --version
🎯 最佳实践
使用建议
-
格式选择
- 日常使用: Markdown(轻量、可编辑)
- 商业报告: Word(专业、可编辑)
- 正式发布: PDF(固定格式、专业外观)
-
性能优化
- 大批量导出时使用CLI模式
- 避免同时导出多种格式(按需选择)
- 定期清理导出文件
-
质量保证
- 导出前检查分析结果完整性
- 验证关键数据(价格、建议等)
- 确认时间戳和股票代码正确
🔮 未来规划
计划增强功能
-
📊 图表集成
- 技术指标图表
- 价格走势图
- 风险评估图表
-
🎨 模板定制
- 多种报告模板
- 企业品牌定制
- 个性化样式
-
📧 自动分发
- 邮件自动发送
- 定时报告生成
- 多人协作分享
-
📱 移动优化
- 移动端适配
- 响应式布局
- 触屏操作优化
🙏 致谢
功能贡献者
报告导出功能由社区贡献者 @baiyuxiong (baiyuxiong@163.com) 设计并实现,包括:
- 📄 多格式报告导出系统架构设计
- 🔧 Pandoc集成和格式转换实现
- 📝 Word/PDF导出功能开发
- 🛠️ 错误处理和降级策略设计
- 🧪 完整的测试和验证流程
感谢他的杰出贡献,让TradingAgents-CN拥有了专业级的报告导出能力!
最后更新: 2025-07-13 版本: cn-0.1.7 功能贡献: @baiyuxiong