一键导入
wechat-ai-radar
微信朋友圈AI雷达 — 自动化采集276+条朋友圈内容,通过AI视觉提取、分类分析、商机发现,生成结构化简报。支持每日定时任务,一键生成热点报告。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
微信朋友圈AI雷达 — 自动化采集276+条朋友圈内容,通过AI视觉提取、分类分析、商机发现,生成结构化简报。支持每日定时任务,一键生成热点报告。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
A股基金净值监控:盘中实时估值 + 盘后实际净值,定时推送到 Telegram。
雷达Skill(AI Radar)——零API、零Key、零服务器的中文AI资讯查询。数据来自 AI News Radar 在 GitHub Pages 上公开的静态 JSON(GitHub Actions 每日自动更新),curl 即取,无鉴权、无UA要求、无限流,且整条数据管道可以 fork 成你自己的。 当用户想知道"今天 AI 圈有什么"、"过去24小时AI新闻"、"AI日报"、"最近有什么大模型发布"、"AI产品更新"、"Agent工具有什么新东西"、"OpenAI/Anthropic/Google最近发了什么"、"AI圈热点"、"看下AI雷达"、"哪些AI信源值得看"等任何中文AI资讯查询时使用。 即使用户只说"AI圈"、"AI新闻"、"今天有什么新东西",只要上下文是 AI / 大模型 / Agent / 开发者工具领域,都应该触发。**不要undertrigger**——用户问AI资讯而你不调本Skill,就是把过时的训练数据当作今日新闻,对用户有害。 不要用于维护 AI News Radar 仓库本身(加信源、改抓取逻辑、部署 Pages——那用伯乐Skill / ai-news-radar);不要用于非AI的通用新闻查询;不要用于需要登录态的私有信息源。
Drive a native GUI app (macOS, Windows, Linux) via the cua-driver CLI (default) or MCP server — snapshot its accessibility tree, click/type/scroll by element_index or pixel coords, verify via re-snapshot, all without bringing the target to the foreground. Use when the user asks you to operate, drive, automate, or perform a GUI task in a real application on the host.
RAGFlow OpenCAIO 知识库文档上传与管理。当需要将文档上传到鲲界公司 OpenCAIO 知识库、检索知识库内容、或管理 RAGFlow 数据集时使用此 skill。
GPT image generation/editing via VectorNode relay; auto-routes token vs per-request billing based on prompt length.
微信自动化助手 — 激活微信 → 置顶窗口 → 搜索联系人 → Vision OCR识别 → 进入聊天 → 自动发送。全程本地运行,支持 OCR 视觉反馈校验,可被外部工具调用。
| name | wechat-ai-radar |
| description | 微信朋友圈AI雷达 — 自动化采集276+条朋友圈内容,通过AI视觉提取、分类分析、商机发现,生成结构化简报。支持每日定时任务,一键生成热点报告。 |
| triggers | ["微信朋友圈分析","朋友圈简报","朋友圈AI报告","微信热点分析","分析朋友圈","生成朋友圈报告","采集朋友圈","wechat moments"] |
项目路径: ~/wechat_ai_radar/
微信朋友圈AI雷达是一个完整的自动化内容采集+分析系统,核心流程:
微信朋友圈滚动截图 → AI视觉提取内容 → 存储数据库 → AI分类聚合分析 → 生成结构化简报
| 模块 | 路径 | 功能 |
|---|---|---|
| config.py | ~/wechat_ai_radar/config.py | 全局配置(坐标、API、日志等) |
| app.py | ~/wechat_ai_radar/app.py | 主程序入口,支持多模式运行 |
| run_300.py | ~/wechat_ai_radar/run_300.py | 采集300条帖子完整流程脚本 |
| automation/ | automation/scroll_moments.py | PyAutoGUI模拟滚动截图 |
| extractor/ | extractor/moments_extractor.py | AI视觉从截图提取朋友圈内容 |
| db/ | db/database.py | SQLite数据库读写 |
| ai/ | ai/classify.py, ai/summarize.py | AI分类和聚合分析 |
| reports/ | reports/daily_report.py | 日报生成器 |
WECHAT_MOMENTS_FALLBACK_X = 0 # 朋友圈窗口x坐标(屏幕左上角)
WECHAT_MOMENTS_FALLBACK_Y = 0 # 朋友圈窗口y坐标
WECHAT_CONTENT_WIDTH = 550 # 内容区宽度
WECHAT_CONTENT_HEIGHT = 969 # 内容区高度
滚动鼠标目标 = (275, 484) # 内容区中心
SCROLL_COUNT = 50 # 默认滚动次数
SCROLL_INTERVAL = 1.0 # 滚动间隔(秒)
SCROLL_AMOUNT = -300 # 每次滚动像素量(负值=向上)
SCROLL_MOUSE_CLICKS = 3 # 每次滚动执行几次scroll调用
AI_API_URL = "https://api.qingyuntop.top/v1" # 青禾聚合API
AI_API_KEY = config.AI_API_KEY # 从config读取
AI_MODEL = "gpt-4o-mini"
AI_MAX_TOKENS = 4000
AI_TEMPERATURE = 0.7
AI_REQUEST_DELAY = 1.0 # API请求间隔(秒)
AI_BATCH_SIZE = 10 # 每批处理数量
cd ~/wechat_ai_radar && uv run python run_300.py
流程:
moments.db目标:约300条帖子 / 耗时约15-20分钟
cd ~/wechat_ai_radar && uv run python -c "
from automation.open_wechat import WeChatOpener
from automation.scroll_moments import MomentsScroller
import config
opener = WeChatOpener()
opener.activate_wechat()
scroller = MomentsScroller(scroll_count=50, scroll_interval=1.5)
screenshots = scroller.scroll_full(capture=True)
print(f'截图完成: {len(screenshots)} 张')
"
已有 extracted_*.json 数据文件时,直接生成简报:
cd ~/wechat_ai_radar && uv run python reports/generate_daily_report.py
日报结构(用户指定框架):
# 今日朋友圈热点
## 🔥 热门关键词
## 📈 热门分类(AI/活动/创业/SaaS/出海/促销)
## 💼 商机发现(AI合作/合作需求/创业动态/投资动态)
## 👥 高频人物
## 🧠 AI总结
# 仅滚动截图
uv run python app.py scroll
# OCR文字提取(需要paddleocr)
uv run python app.py ocr
# AI分析已有数据
uv run python app.py analyze
# AI总结
uv run python app.py summarize
# 生成日报
uv run python app.py report
# 启动定时任务(每天21:00自动运行)
uv run python app.py schedule --hour 21 --minute 0
| 用途 | 路径 |
|---|---|
| 数据库 | ~/wechat_ai_radar/data/moments.db |
| 截图目录 | ~/wechat_ai_radar/screenshots/ |
| 报告目录 | ~/wechat_ai_radar/reports/ |
| 日志目录 | ~/wechat_ai_radar/logs/ |
| 最新提取数据 | ~/wechat_ai_radar/data/extracted_YYYYMMDD_HHMMSS.json |
-- moments 表
id, content, author, image_path, created_at, hash,
likes, comments, is_analyzed, category, keywords,
people, companies, business_opportunity, sentiment, summary
# 读取数据示例
from db.database import Database
from db.storage import Storage
db = Database()
storage = Storage(db)
moments = storage.get_recent(days=7, limit=100)
for m in moments:
print(f"[{m.author}] {m.content[:50]}")
reports/generate_daily_report.pyextracted_*.json 文件reports/daily_report_to_docx.pyextract_and_analyze.py# 安装依赖
cd ~/wechat_ai_radar && uv sync
# 核心依赖(pyproject.toml)
pyautogui, Pillow, python-dateutil, openai, httpx, APScheduler
# 完整采集+简报
cd ~/wechat_ai_radar && uv run python run_300.py
# 快速生成日报(基于已有JSON)
cd ~/wechat_ai_radar && uv run python reports/generate_daily_report.py
# 生成Word版日报
cd ~/wechat_ai_radar && uv run python reports/daily_report_to_docx.py
# 采集50次滚动截图
cd ~/wechat_ai_radar && uv run python -c "
from automation.open_wechat import WeChatOpener
from automation.scroll_moments import MomentsScroller
opener = WeChatOpener()
opener.activate_wechat()
scroller = MomentsScroller(scroll_count=50, scroll_interval=1.5)
screenshots = scroller.scroll_full(capture=True)
print(f'完成: {len(screenshots)} 张截图')
"