SuperAPI AI 工具集

github-trending-spider

数据与分析

查看项目

更新于 10-16 08:18

技能介绍

用途

github-trending-spider(又称 AI Daily Frontier / 每日AI前沿)是一个多源 AI 资讯聚合爬虫项目,用于汇总 GitHub Trending、Hacker News、TLDR AI、V2EX、Linux.do、OpenAI、Anthropic、InfoQ 等来源的内容,形成每日 AI 新闻摘要与中文 AI 摘要流。本条目是 Hermes 对该本地外部仓库的封装说明,适用于用户询问 github-trending-spider、AI Daily Frontier、每日AI前沿、AI资讯聚合或 GitHub Trending 日报,或需要检查、配置、适配、安全运行该爬虫的场景。

主要能力

  • 多源抓取:GitHub Trending、Hacker News、TLDR AI、V2EX、Linux.do、OpenAI、Anthropic、InfoQ。
  • 内容归一化与持久化:将抓取内容标准化后写入 JSON 快照,并支持 Redis 快照缓存。
  • 读取接口:提供 FastAPI 读取 API。
  • 前端展示:Vue 新闻前端。
  • 可选邮件推送:通过 SMTP 发送每日摘要。
  • 调度:支持定时采集(SPIDER_SCHEDULER_ENABLED)。
  • 摘要生成:读取 GITHUB_TOKEN 用于 GitHub Models 摘要。

使用方式

项目为应用仓库而非纯 markdown 技能。默认安全操作包括:阅读源码与文档、解释架构与配置、在正常仓库审查后修补源码、运行离线语法检查(如 Python 编译检查)。

离线检查示例:

cd ~/.hermes/external-repos/github-trending-spider
python3 -m py_compile main.py config.py github_trending.py hacker_news.py tldr_ai.py official_ai_sources.py content_items.py content_store.py redis_client.py scheduler.py source_registry.py api.py access_log.py email_builder.py email_sender.py

前端语法检查在未安装依赖时仅限文件检查,除非依赖已存在。

以下操作需用户显式要求运行时启动并确认范围后才可执行:

  • pip install -r requirements.txt
  • npm install、npm run serve 或前端构建命令
  • python3 main.py
  • python3 -m uvicorn api:app ...
  • bash scripts/start_backend.sh、bash scripts/start_frontend.sh 或 bash scripts/start_all.sh
  • SMTP 发送测试或任何 SEND_EMAIL_ENABLED=true 的操作
  • SPIDER_SCHEDULER_ENABLED=true 的定时采集

经明确批准后的受限本地运行模式:

cd ~/.hermes/external-repos/github-trending-spider
export LOG_FILE=/tmp/github-trending-spider.log
export OUTPUT_JSON_PATH=/tmp/github-trending-spider-latest.json
export OUTPUT_ARCHIVE_DIR=/tmp/github-trending-spider-output
export SPIDER_SCHEDULER_ENABLED=false
export SPIDER_RUN_ON_STARTUP=false
export SEND_EMAIL_ENABLED=false
python3 -m uvicorn api:app --host 127.0.0.1 --port 8000

一次性采集需确认可访问哪些外部来源以及是否使用 GITHUB_TOKEN;除非邮件发送是明确任务,否则保持 SEND_EMAIL_ENABLED=false。

适用场景

  • 需要每日 AI 新闻摘要或中文 AI 摘要流。
  • 需要 FastAPI 读取 API、Vue 新闻前端、Redis 快照缓存或可选邮件推送。
  • 需要检查、配置、适配或安全运行该多源 AI 新闻爬虫。

限制与风险

  • 运行时风险:读取 GITHUB_TOKEN;可读取 SMTP 变量并通过 SMTP_USER / SMTP_PASSWORD 发送邮件;抓取外部站点;写入日志与 JSON 快照,默认日志路径为 /root/logs/github-python/trending.log,本地运行应覆盖 LOG_FILE。
  • scripts/start_backend.sh 会安装 Python 依赖、加载 shell/env 文件、终止已有 uvicorn api:app 进程、创建 /root/logs/github-python,并默认将后端绑定到 0.0.0.0。
  • API 启动可能启动进程内调度器,除非 SPIDER_SCHEDULER_ENABLED=false。
  • 响应规则:需说明当前是源码审查、离线验证还是已批准的运行时执行;绝不打印 token、SMTP 密码或邮箱授权码值;涉及密钥时仅报告已设置/未设置及大致长度;临时运行优先使用本地 /tmp 日志与输出路径;保持仓库模块边界(来源抓取、内容归一化、持久化、API、调度器、邮件、前端相互独立)。

来源信息

  • 来源根目录:~/.hermes/external-repos/github-trending-spider
  • 上游:https://github.com/wenbochang888/github-trending-spider
  • 已审查提交:22d2605a2ba9d88bfcb59552af677d2e279ded5b