Afuxh

hot-news-aggregator

生成可配置的热点聚合网站,支持30+数据源、智能评分、8维AI价值标签、全量AI评论+行动引导、原出处标注、暗色模式、邮件订阅、多平台部署。当用户说热点网站、热点聚合、news aggregator、生成网站时触发。

Afuxh 0 Updated 1mo ago

Resources

36
GitHub

Install

npx skillscat add afuxh/fuqing-profile

Install via the SkillsCat registry.

SKILL.md

通用热点聚合网站生成器 v3.9

生成可配置的热点聚合网站,支持30+数据源(含博主源+价值标签驱动源)、智能评分(含可靠性加权+价值标签关键词群)、8维AI价值标签、原出处标注、AI视角评论+行动引导(全量覆盖)、邮件订阅、多源去重。

项目结构

hot-news-site/
├── generate_v3.7.py         # 主生成器(含全流程进度条)
├── ops_tool.py              # 运维自检工具
├── config.yaml              # 配置文件
├── ai_content.json          # AI评论内容存储(JSON格式,全量32条)
├── inject_ai_from_json.py   # AI内容注入脚本
├── deploy.py                # 多平台部署管理
├── github_deploy.py         # GitHub部署工具
└── site/hot-news.html       # 生成的网站

触发方式

用户说"帮我生成热点网站"、"创建热点聚合"、"生成 news aggregator"、"热点网站"时触发。

执行流程

第一步:确认最终产物类型

两种产物类型:

产物A:在线网页 产物B:本地文件
部署 Git 推送 → 平台自动部署 生成 HTML 到本地目录
外部链接 ✅ 点击跳转 ❌ file:// 限制
翻译 ✅ 可用 ❌ 浏览器禁止
适用 长期运营、多人访问 一次性分享、内网环境

本地 HTML 须提醒:file:// 协议限制,翻译和外部链接跳转失效。在线网页支持 staging 预览(safety_settings.preview_mode)。

第二步:确认安全设置(强制,不可跳过)

向用户展示 config.yamlsafety_settings

设置项 推荐默认 说明
翻译限频 rate_limit ON (2w/0.5s) 防止 API 封禁
预览确认 preview_mode ON(在线)/ OFF(本地) 防止错误直接上线
失败重试 retry ON (2x) 网络波动容错
严格模式 strict_mode OFF OFF=跳过失败源继续
超时保护 timeout ON 防止慢源卡死

用户必须明确回答「使用默认」或「我要修改 XX」才能继续。

第三步:确认用户定位

引导确认网站标题、副标题、关注领域(AI/科技/金融/设计等)、描述信息。已有 config.yaml 可复用。

第四步:确认数据源

按用户定位推荐数据源组合。完整数据源清单(30+个)见 docs/datasource-reference.md

核心分类:英文科技源(HN/GitHub/TechCrunch 等,默认开启)、中文科技源(36氪/机器之心/量子位等,默认开启)、中文综合源(澎湃/V2EX/微博等,按需开启)、AI热点源(卡兹克)、博主源(阮一峰等4位)、价值标签驱动源(arXiv/HuggingFace 等8个,默认关闭按需开启)。

死源已关闭:Product Hunt、ZDNet、日经亚洲、极客公园、品玩、cnBeta。

第五步:确认评分模式

  • 三档制:精选(80+) / 推荐(70+) / 参考(60+)
  • 四档制:S(90+) / A(80+) / B(70+) / C(60+)
  • 两档制:必读(75+) / 其他
  • 自定义:用户指定档位、名称、阈值、颜色

第六步:确认 AI 评论

  • 不启用:仅原文+中文小结
  • Skill 模式(推荐):AI 对话中手工生成,存 ai_content.json,通过 inject_ai_from_json.py 注入
  • API 模式:调用 LLM API 自动生成
  • 双模式:两者并存

全量覆盖:为所有展示卡片(~32条)生成三层 AI 内容(📝小结 + 💡评论 + 🎯行动引导)。

第七步:确认其他功能

邮件订阅(SMTP)、主题风格、翻译、动画效果。

第八步:准备项目

依赖安装:pip install httpx pyyaml deep-translator

第九步:生成 config.yaml

根据前几步确认生成。

第十步:生成并验证

python generate_v3.7.py -m web        # 标准模式(~30-90秒)
python generate_v3.7.py --quick       # 快速模式(~8-15秒,跳过翻译+AI评论)
python generate_v3.7.py --no-translate # 跳过翻译
python generate_v3.7.py --update-only  # 仅更新内容
python generate_v3.7.py -m local       # 本地HTML
参数 说明 默认
-c/--config 配置文件路径 config.yaml
-m/--mode web/local web
--quick 快速模式 false
--preview 生成staging文件 false
--confirm 确认发布 false

推送前自检(强制):

python ops_tool.py safety   # 安全设置检查
python ops_tool.py check    # 内容完整性检查(必须通过才能 push)
python ops_tool.py diagnose # 全量诊断(可选)

验证清单:主题颜色、档位标签、卡片内容(标题/摘要/小结/评论/引导)、在线跳转/翻译、搜索/收藏/暗色、移动端响应式。

第十一步:运维自检

python ops_tool.py quick     # 综合诊断(推荐,~15秒)
python ops_tool.py fix       # 自动修复
python ops_tool.py history   # 历史分析

第十二步:交付与部署

通过 deploy.py 统一管理多平台:

平台 命令 说明
EdgeOne Pages(首选) python deploy.py edgeone 国内秒开,支持 git push 自动部署
GitHub Pages python deploy.py github https://afuxh.github.io/fuqing-profile/hot-news.html
Cloudflare Pages python deploy.py cloudflare 兜底
全平台 python deploy.py all 同时部署所有
查看状态 python deploy.py status 各平台状态

在线网页预览确认流程:--preview 生成 staging → 查看确认 → --preview --confirm 发布 → ops_tool.py check 验证 → git push。

核心机制速览

  • 多源去重:标题归一化完全匹配 + 编辑距离模糊匹配(阈值0.8)+ 合并显示多来源标签
  • 原出处标注:卡兹克源通过 _extract_domain_source() 解析50+域名映射,博主源自动标注
  • 博主可靠性:4位博主附可靠性评分(1-5星)+ 偏差提示 + 可信度徽章
  • 评分系统:核心关键词+15/标题命中+8、扩展+8、排除-15、热度0-35分、博主源加权2-8分
  • 邮件订阅:S/A级定时推送、SMTP配置、自动+手动双模式

快速模式(8-15秒)

用户只说领域,其余全走默认:python generate_v3.7.py --quick。跳过翻译和AI评论,只执行抓取→评分→渲染。

深入文档

文档 内容
数据源完整参考 30+数据源清单、字段、稳定性、8维价值标签系统
故障排除 5个实战问题及解决方案(Actions崩溃/f-string/Git认证等)
扩展指南 添加新数据源、自定义AI提示词、评分算法、邮件模板
版本历史 v3.3-v3.9 变更记录
验证测试记录 历次端到端验证结果