为何存在此层
WorldMonitor 主要以 feed 为先:- 精选 RSS feeds
- 摘要聚合
- Google News RSS 回退
- 单一代码高级分析
- 较不显眼的股票代码
- feed 库存中未能充分体现的近期公司特定动态
提供商顺序
当前提供商链为:TavilyBraveSerpAPI- Google News RSS 回退
Bocha 被有意排除,因为当前高级金融方向不聚焦中国。
实现
主要实现: 集成点: 该辅助模块:- 构建规范化的股票新闻查询
- 按优先级顺序尝试提供商
- 在已配置的密钥间轮换
- 在内存中跟踪临时的提供商/密钥失败
- 将提供商响应规范化为
StockAnalysisHeadline - 在 Redis 中缓存搜索结果
- 当提供商搜索不可用时回退到 Google News RSS
查询策略
当前查询结构有意镜像源仓库中针对外国股票的股票新闻风格:<Company Name> <SYMBOL> stock latest news
示例:
Apple AAPL stock latest newsMicrosoft MSFT stock latest news
- 周一:3 天
- 周六/周日:2 天
- 周二至周五:1 天
运行时密钥
搜索层使用运行时管理的密钥,以适配与项目其余部分相同的桌面/Web 密钥模型。 已配置的密钥:TAVILY_API_KEYSBRAVE_API_KEYSSERPAPI_API_KEYS
缓存
搜索结果在 Redis 中以查询派生的 key 缓存。缓存 key 包括:- symbol
- 动态天数窗口
- 结果限制
- 哈希查询
回退行为
如果Tavily 失败,系统会尝试 Brave。
如果 Brave 失败,系统会尝试 SerpAPI。
如果提供商搜索不可用、为空或未配置,系统会回退到 Google News RSS。
这意味着:
- 高级股票分析不硬性依赖付费搜索提供商
- 提供商密钥提升的是覆盖范围,而非功能可用性
为何这是一个独立层
此层不是股票分析引擎本身。 它应被视为:- 定向新闻增强
- 覆盖质量升级
- 基于提供商的精确定位查找层
- 规范的市场/新闻接入架构
- feed 摘要聚合的替代品
- 高级金融持久化的权威数据源
- 核心金融产品逻辑保持稳定
- 基于搜索的增强可独立演进
已知边界
当前实现尚未暴露独立的公共股票新闻搜索 RPC。 目前它是高级股票分析使用的内部后端辅助模块。这是有意为之:- 它保持接口面较小
- 它避免过早添加 UI/API 产品接口
- 它允许提供商行为在冻结为专用外部契约之前演进
