聚焦特朗普动态,对加密与全球股市潜在冲击做实时告警
众所周知,美股和虚拟货币的K线怎么走,川普的至少可以决定一半。而川普的很多重要信息会在其个人社交媒体Truth Social发布,所以通过监控川普推文即可在关键事件发生时取得入场先机。
1. 效果展示
邮件警报
- 当川普发布新推文时,自动抓取并发给AI判断是否会对股市、虚拟货币产生显著的短期影响
- 若判定为真,则发送警报邮件
K线走势
2. 项目介绍:TrumpTracer
一个用于监控 Truth Social 上 @realDonaldTrump 发帖、进行 AI 风险判断并在高波动风险时邮件告警的项目,同时提供 SQLite 数据库的 Tkinter 可视化查看器。
项目地址:TrumpTracer: 川普社媒监控与全球市场预警系统
功能
- 周期性抓取 Truth Social 指定账号最新推文(通过公开 API)。
- 将推文持久化到 SQLite,并用 UUID 去重,避免重复保存/重复处理。
- 对未处理推文调用 OpenRouter 大模型,判断是否可能显著影响虚拟货币或全球股市。
- 当
impact=true时,发送 HTML 邮件告警。 - 邮件正文包含东八区(Asia/Shanghai)时间、原文链接、英文原文、中文翻译、AI reason(含中文翻译)和 confidence置信度。
- 所有日志写入同目录
log.txt,程序不输出到控制台。 - 提供 Tkinter GUI 查看
trump_truths.sqlite3数据库内容。
目录结构
truth_scraper.py:抓取 + 入库 + AI 判断 + 邮件告警(无控制台输出,日志写入log.txt)truth_db_viewer.py:Tkinter 数据库查看器.env:运行配置(与脚本同目录)trump_truths.sqlite3:运行后生成的 SQLite 数据库(默认名)log.txt:运行日志(默认名)
环境要求
- Python 3.10+(推荐 3.11+)
- 依赖:
requestsbeautifulsoup4
安装依赖:
pip install requests beautifulsoup4
配置(.env)
在项目目录下创建/编辑 .env(和 truth_scraper.py 同级)。
必需:
OPENROUTER_API_KEY=你的_openrouter_key
SMTP_PASS=你的_smtp_pass
常用可选(不填会使用脚本内默认值或回退策略):
# AI 模型(判断推文语义的模型)
OPENROUTER_MODEL=openai/gpt-4o-mini
# 翻译模型(独立于判断模型;不填默认复用 OPENROUTER_MODEL)
OPENROUTER_TRANSLATE_MODEL=google/gemini-3-flash-preview
# SMTP 配置(需要前往邮箱设置中开启)
SMTP_HOST=smtp.126.com
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=发件邮箱@126.com
SMTP_PASS=smtp专用密码
SMTP_FROM=发件邮箱@126.com
SMTP_TO=收件邮箱@163.com
SMTP_REJECT_UNAUTHORIZED=true
运行抓取与告警
默认抓取账号为 realDonaldTrump,默认数据库为 trump_truths.sqlite3,默认轮询间隔 60 秒。
python truth_scraper.py
常用参数:
python truth_scraper.py --handle realDonaldTrump --limit 20 --interval 60 --db trump_truths.sqlite3
如果需要代理(常见于 Cloudflare 拦截):
python truth_scraper.py --proxy http://127.0.0.1:7890
只跑一轮抓取 + AI 处理后退出(便于测试):
python truth_scraper.py --once
日志
- 日志文件:
./log.txt - 时间:全部使用东八区(Asia/Shanghai)
- 包含:抓取、入库、OpenRouter 请求、impact=true 的 CRITICAL 记录、邮件发送成功/失败等
数据库说明(trump_truths.sqlite3)
表名:truths
关键字段:
uuid:稳定 UUID(基于 status_id),用于去重status_id:Truth Social 的帖子 ID(唯一)created_at:推文发布时间(东八区字符串)content_text:推文正文纯文本processed:是否已进行 AI 判断(0/1)impact / confidence / reason:AI 判断结果emailed:是否已发送告警邮件(0/1)inserted_at_utc / processed_at_utc / emailed_at_utc:当前实现中存放的是东八区时间字符串(字段名保留历史命名)
可视化查看数据库(Tkinter)
python truth_db_viewer.py
指定数据库路径:
python truth_db_viewer.py --db "C:\path\to\trump_truths.sqlite3"
功能:
- 搜索、筛选(impact / 未处理 / 未发邮件)
- 分页浏览
- 选中查看详情(含正文、AI reason、错误信息等)
- 双击打开原文链接 / 复制链接 / 复制正文