FINANCIAL AGENT · SYSTEM ARCHITECTURE

从监控到推送
完整流程解析

自动监控 → AI 分析 → HTML 生成 → 发布 → Telegram 通知

8
监控公司
5
流水线步骤
2
AI 调用步骤
10–12
每份分析观点数
LAYER 1 · 触发层
🔭
monitor.py 定时轮询
SEC EDGAR RSS HKEX API 20-F 6-K 年报 / 季报
发现新文件 → 尝试下载 PDF → 触发 pipeline.py
每小时检查一次 · python monitor.py --loop
🏢
监控范围 8 家公司
新能源车(美股 ADR)
NIO 蔚来 XPEV 小鹏 LI 理想
中概互联网
BABA 阿里 NTES 网易 PDD 拼多多 BILI 哔哩哔哩 0700.HK 腾讯
PDF 下载成功 → 触发分析流程
LAYER 2 · 分析流水线(pipeline.py 调度)
5-STEP PIPELINE
STEP 01 step1_extractor 纯代码
📄 文本提取
pdfplumber 逐页提取 PDF,解析 PR 新闻稿和电话会文字
PDF / PR.txt / call.txt
raw_data.json
pdf_pages · pr_statements · call_statements · extracted_texts
STEP 02 step2_calculator 纯代码
🧮 计算校验
正则+表格提取 10 类财务指标,计算毛利率 / YoY / QoQ,附公式
raw_data.json
calc_verified.json
extracted_metrics · calculated · formula · verified=true
STEP 03 step3_judgment ✦ AI
⚖️ 观点判断
Claude Sonnet 4.6 做态度判断,识别 PR 公关话术 vs 官方数据差异
raw + calc
judgment.json
10–12 个分析点 · overall_verdict · pr_spin_score
✅ 真 🔍 不完整 ❌ 误导 ≥3 个 comparison ≥3 个 qoq_comparison
STEP 04 step4_copywriter ✦ AI
✍️ 文案撰写
Claude Sonnet 4.6 把判断转化为幻灯片文案,不再做数字分析
judgment.json
copy.json
metric · evidence_label · body[ ] · special_card · takeaway
封面 每张幻灯片 总览页 结束页
STEP 05 step5_renderer 纯代码
🎨 HTML 渲染 + 上传
把 copy.json 渲染成滚动幻灯片 HTML,SFTP 上传到服务器
copy.json
*.html
🌐 r.bubuaihub.com/xxx.html
深色 / 浅色双主题 · 滚动幻灯片 · 响应式 · 键盘导航
发布成功 → 更新目录 + 重建首页
LAYER 3 · 发布层
📋
reports_catalog.json
全局报告目录,单一数据源。每次发布后更新,同公司同季度只保留最新一条。
company · ticker · quarter overall_verdict url · published_at
🏠
index_generator.py
读取 catalog,重新生成首页 HTML,SFTP 上传覆盖。
r.bubuaihub.com/index.html 报告卡片列表 监控状态芯片
📱
Telegram 通知
发布成功推送:公司 · 季度 · 核心判断 · PR公关分 · 亮点隐忧 · 报告链接。
✅ 成功通知 ❌ 各步骤失败报警 手动重试命令
LAYER 4 · 故障处理策略
任意步骤失败时
❌ Step 1 → Telegram 报警 + 完整重试命令
❌ Step 2 → 附 raw_data.json 路径
❌ Step 3 → 附 calc_verified.json + 单步重试
❌ Step 4 → 附 judgment.json + 单步重试
❌ Step 5 → 附 copy.json + 单步重试
⚠️ 目录/首页更新失败 → 不中断,报告已上线
ALERT
收到报警后,你可以
🔧 从任意步骤单独重跑,无需重来
📄 PDF 下载失败 → 手动下载后执行
python pipeline.py --pdf <路径> --company "公司" --ticker XX --quarter 2025Q4
DATA FLOW · 数据文件链
📄 PDF
raw_data.json
calc_verified.json
judgment.json
copy.json
*.html
🌐 URL
所有中间文件保存在 analysis_output/ 目录 · 任意步骤均可单独重跑
纯代码步骤
AI 步骤(Claude Sonnet 4.6 · OpenRouter)
发布 / 持久化
故障 / 报警
Telegram 通知