PanWatch 截图采集能力揭秘:Playwright 自动截取行情图推送到 IM
【免费下载链接】PanWatchPanWatch — AI stock monitoring for A-shares, HK & US markets, powered by TradingAgents. Portfolio insights, real-time alerts & automated reports.|盯盘侠:覆盖 A股/港股/美股的 AI 盯盘、持仓分析、实时提醒与自动报告。项目地址: https://gitcode.com/GitHub_Trending/pa/PanWatch
你有没有想过:每天自动把持仓股票的 K 线图截下来,配上 AI 技术分析报告,直接推送到手机?这正是开源项目PanWatch的核心玩法。作为一款覆盖 A股、港股、美股的 AI 盯盘工具,PanWatch 内置了一套隐藏的「截图采集」能力:用 Playwright 自动截取 K 线图,交给多模态 AI 分析,再把图片与报告推送到微信、钉钉、Telegram 等 IM。本文就带你完整揭秘这条自动化流水线 📸
什么是 PanWatch 截图采集?
截图采集的核心是一个名为ScreenshotCollector的采集器,位于 screenshot_collector.py。它的工作方式是:
- 🌐 用 Playwright 驱动无头 Chromium 浏览器,模拟真实用户访问行情网站
- 📊 默认支持雪球数据源,也兼容东方财富和新浪财经
- 📈 支持 A股与港股,可切换日K / 周K / 月K 周期
- 📁 截图统一存到临时目录,并自动清理 24 小时前的旧图,不占磁盘空间
简单说,它就是一个「不知疲倦的截图机器人」:你只需在配置好自选股,它就能逐只打开行情页、等图表渲染完成、裁出干净的 K 线区域。
四步完成一次自动截图 ✂️
第一步:隐身启动浏览器
采集器会懒加载启动 Playwright,并做了一组「反检测」处理:禁用自动化特征标记、伪装真实 Chrome 的 User-Agent、语言设为中文、注入脚本抹掉webdriver痕迹。这样行情页基本把它当成普通浏览器用户,不易被拦截。
第二步:打开行情页并智能等待
这是最容易翻车的一步——图表加载慢或页面没渲染完,截出来就是一张白图。PanWatch 的策略是层层兜底:
- 等待 DOM 加载完成(30 秒超时)
- 优先等待页面主体元素可见
- 若主体没出现,降级等待「网络空闲」
- 再额外等待 3 秒,确保 K 线图表完成渲染
第三步:关弹窗、切周期、精准裁剪
雪球等页面经常弹出登录框、加群广告,采集器会依次尝试点「跳过」、找关闭按钮、按 ESC、点遮罩层,最多循环 5 轮直到弹窗全部消失。弹窗清空后,它会自动点击「日K」按钮(默认打开的是分时图),需要周K/月K时再切换周期,最后只裁剪 K 线图所在区域,产出干净的纯图表图片。
第四步:批量采集与自动清理
capture_batch支持按自选股列表逐只截图,cleanup_old_screenshots会删掉超过 24 小时的 PNG 文件,实现「用完即弃」的轻量存储。
多模态 AI 读图:从截图到分析报告 🤖
截图只是手段,真正的主角是 chart_analyst.py 中的「技术分析 Agent」。它的执行链路是:
- 批量截取自选股的 K 线图
- 同时拉取结构化信号包(现价、涨跌、趋势、MACD/RSI 状态、支撑压力位),作为提示词增强
- 结合持仓成本与可用资金,生成技术分析 Prompt
- 把截图作为图片一起传给支持 Vision 的 AI 模型,输出趋势判断、形态识别与操作建议
分析要点与输出格式由 chart_analyst.txt 定义:趋势判断、支撑压力、形态识别、量价关系、结合持仓的操作建议,每只股票 200 字以内,并自动附上「AI 生成、不构成投资建议」的免责声明。
一键推送到 IM 📲
分析完成后,PanWatch 会判断「有截图且内容超过 50 字」才触发通知,避免无效打扰。推送逻辑在 notifier.py:
- 📎 截图通过附件机制打包进消息,图片 + 文字报告一起送达
- 📬 一个 Agent 可同时推送到多个 IM 渠道(微信、钉钉、Telegram 等)
- 🤫 支持通知静默时段,深夜不轰炸
- 🔁 发送失败自动指数退避重试
- 🧩 钉钉机器人配置了安全关键字时,会自动在文末追加以通过校验
此外,data_collector.py 还提供了 K线图数据源的连通性测试:点一下「测试」,就会实际截一张图并转成 Base64 在界面上回显,方便你先确认截图链路是通的。
快速启用截图能力 ⚙️
整个过程对新手非常友好,只需要三步:
- 克隆仓库并安装依赖:
git clone https://gitcode.com/GitHub_Trending/pa/PanWatch - 安装 Playwright 及浏览器内核:
pip install playwright然后运行playwright install chromium - 在 watchlist.yaml 中配置你的自选股
之后每次技术分析任务触发,K 线图截图、AI 分析与 IM 推送就会自动完成,全程无需人工干预。
相关文件索引 📁
| 文件 | 说明 |
|---|---|
| screenshot_collector.py | Playwright 截图采集器核心实现 |
| chart_analyst.py | 技术分析 Agent:截图 → AI 分析 → 推送 |
| chart_analyst.txt | 技术分析提示词与分析要点 |
| notifier.py | 多渠道 IM 通知与图片附件推送 |
| data_collector.py | K线图数据源连通性测试 |
| watchlist.yaml | 自选股配置文件 |
一条「截图 → AI 读图 → IM 推送」的自动化链路,让 PanWatch 从「看数据的工具」升级为「会看图的分析师」。如果你也在找能自动截 K 线图并推送到手机的 AI 盯盘方案,不妨从这套截图采集能力开始了解 PanWatch 📈
【免费下载链接】PanWatchPanWatch — AI stock monitoring for A-shares, HK & US markets, powered by TradingAgents. Portfolio insights, real-time alerts & automated reports.|盯盘侠:覆盖 A股/港股/美股的 AI 盯盘、持仓分析、实时提醒与自动报告。项目地址: https://gitcode.com/GitHub_Trending/pa/PanWatch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考