项目概览
XAUUSD Event Radar 是一个用于监控可能影响黄金(XAU/USD)的公开信息的 headless 事件处理系统。它不预测价格方向,不提供交易指令,也不进行自动交易。它的任务是把噪声很高、碎片化的公开信息整理成结构化、可审计的事件。
系统从多个信息渠道采集公开信号,保存原始记录,先通过规则进行预处理,再使用 AI 辅助完成相关性判断和 claim extraction,生成标准化事件,并将事件路由到私人提醒、公共发布队列和 public-safe website payload。
这是一个由我个人企划、设计、编码、部署并持续维护的系统。news.thetickbase.com 是由这个系统生成的一个下游公共频道;Event Radar 本身则是支撑该频道的 headless pipeline。
产品架构
- Headless service monorepo - 项目由多个独立 Python services 和一个 React operator dashboard 组成。每个 service 都有自己的
settings.py、db.py、models、Dockerfile、tests 与部署边界。 - PostgreSQL 作为 source of truth - 系统使用 PostgreSQL 保存 raw records、processing state、normalized events、claims、route decisions、alert queues、public outbox rows、model usage records、source health 与 public sync state。V1 架构中没有引入 message broker。
- 可靠 work queue pattern -
normalizer-classifier通过 row locking 和 retry metadata 从raw_item_processingclaim 工作,使任务状态可见、可恢复,也方便在 HomeLab 运行时 debug。 - Collector layer -
telegram-collector、rss-collector与 specialized consumers 负责采集公开信息流、标准化 source metadata、去重、更新 source health,并写入 processing rows;collector 不判断事件价值。 - 规则优先的语义层 -
normalizer-classifier负责清洗、语言处理、keyword 与 source-priority 初筛、near-duplicate 处理、摘要生成、相关性评分、事件创建与简化 claim extraction。 - 带成本保护的 AI - 模型调用按职责拆分:低风险翻译与摘要任务和分类推理任务分离。runtime budget caps 可以避免 backfill 或 reset 时意外产生大量付费模型调用。
- 集中式路由 -
event-router是唯一决定事件应进入哪些出口的 service。它写入 private alert queues、public outbox rows 与 per-route audit records;delivery workers 只负责如何发送。 - 多渠道 delivery -
alert-dispatcher处理私人 Telegram 与 Pushover;telegram-channel-publisher、x-publisher与public-syncer则消费 public outbox rows,用于公共频道和网站同步。 - Public/private boundary -
public-syncer只通过 outbound HTTPS 将批准后的 public-safe payload 从私有 HomeLab 系统推送到 VPSpublic-api。公共 stack 使用独立数据库,不保存 raw collector metadata、prompts、私人通知设置、credentials 或内部 debug data。 - Operator dashboard -
dashboard-api与dashboard-web提供私有内部视图,用于查看 timeline、events、sources、processing state、alerts、taxonomy、AI usage 与 public outbox review。
关键功能
- 以事件为中心的监控 - 将碎片化公开信息转换为包含 severity、relevance、confirmation state、tags、source attribution 与 public summaries 的事件记录。
- Source-aware processing - 把 source group、authority level、stance、reliability 与 confirmation requirements 作为 pipeline 的输入,而不是普通文本 metadata。
- 可审计路由 - 每个 route 都可以记录事件为何被 queued 或 skipped,让 delivery policy 可以被审查,而不是隐藏在 publisher code 中。
- 私人与公共出口 - 同一个 normalized event 可以根据 route policy 成为私人提醒、Telegram channel post、未来的 X post 或 public website payload。
- 严格的 public-safe contract - 公共网站 payload 比内部 event schema 更窄,用于保护 raw text、internal metadata、prompts、model outputs、credentials 与 private delivery state。
- HomeLab-first deployment - Production deployment 基于 Docker Compose,images 推送到 GHCR,数据库 migration 由 one-shot job 执行,公共发布功能默认关闭,只有明确启用后才会发送。


