第1篇:一个人用AI从零搭了一套AI新闻系统,每天凌晨5点自动运行

这不是一篇教程。这是一个独立开发者真实的搭建过程,包括踩过的坑和凌晨3点的崩溃时刻。


为什么做这件事

每天早上打开手机,铺天盖地的AI新闻。OpenAI发了新模型,Google又搞了个新产品,某个研究论文声称解决了XX问题。

信息太多了,但99%都是噪音。

我想有一个属于自己的AI新闻站——每天自动帮我筛选、翻译、打分、生成深度解读。不需要我动手,早上起来就能看到一份精选的AI日报。

更重要的是,我想用这件事验证一个问题:一个人加上AI助手,到底能做到什么程度?

结果有点出乎我的意料。

最终效果(先看结果)

每天凌晨5点,系统自动执行这些步骤:

05:00  采集:从HackerNews、Reddit、RSS等10+个英文源抓取AI新闻
05:10  翻译:AI将英文内容翻译成中文,提取关键信息
05:20  打分:AI根据影响力、创新性、相关性打分(0-10分)
05:30  生成:AI为TOP 15新闻生成中文摘要和编辑观点
05:40  排版:自动生成漂亮的新闻页面和归档
05:50  同步:同步到服务器,早上7点推送公众号
08:00  深度解读:自动对TOP 1新闻生成2000+字深度分析,发布到博客

全程零人工干预。我已经连续跑了20多天。

最终效果:https://ai.howie.wang


第一步:数据采集(最难的部分)

AI新闻来自哪里?

我选择了一个开源项目Horizon作为基础,它支持从HackerNews、Reddit、arXiv等英文源抓取AI相关内容。

但开源的不够用。我加了:

  • RSS订阅源:The Verge、TechCrunch、Ars Technica的AI频道
  • Twitter/X:跟踪关键AI研究者和公司账号
  • arXiv预印本:直接抓取最新的AI论文

每天采集到的原始数据大约200-300条。

问题来了:数据采集必须在外网服务器上跑。因为HackerNews、Reddit、Twitter这些国内访问不了。

所以我的架构变成了这样:

🇭🇰 香港服务器(能访问外网)
  └─ Horizon采集 → 生成结构化数据
      └─ rsync同步到腾讯云

🇨🇳 腾讯云(备案域名,国内用户访问快)
  └─ AI分析+生成 → 用户访问
      └─ 公众号推送

踩坑 #1:一开始把采集放在腾讯云,跑了一夜,一条数据都没抓到。

原因:腾讯云服务器没有外网权限,HackerNews的API根本连不上。

解决:在香港服务器采集,通过SSH隧道+rsync同步数据到腾讯云。

这个教训让我后来制定了一条铁律:数据采集和外网操作永远放香港,用户服务和备案域名永远放腾讯云


第二步:AI分析(让AI当编辑)

原始数据是英文的,200多条,质量参差不齐。

我需要AI做三件事: 1. 过滤:只保留和AI相关的高质量内容 2. 评分:0-10分,综合影响力、创新性、相关性 3. 翻译+摘要:生成中文标题、摘要、标签

这个逻辑写在一个叫daily_news.py的Python脚本里,大概500行代码。

调用的AI是智谱的GLM系列模型。

踩坑 #2:一开始用的模型经常触发429限流。

原因:每天处理200多条新闻,每条都要调API,请求量太大。

解决: - 准备了5个API key轮换 - 加了指数退避重试(失败一次等30秒,再失败等60秒...) - 批量处理而不是逐条调用

踩坑 #3:AI评分有时会超过10分。

原因:prompt里要求0-10打分,但AI有时"太激动",给了14.4分。

解决:代码里加了一行 score = min(score, 10.0)。简单粗暴,但有效。


第三步:页面生成(从数据到漂亮的页面)

有了分析结果,下一步是生成用户能看的页面。

这里我用了一个Jinja模板引擎,生成纯静态HTML。

每篇新闻自动生成: - 日报页面:https://ai.howie.wang/news/ (今日TOP 15) - 深度解读页面:每条新闻的单独分析页 - PPT速览卡:竖屏幻灯片格式,适合手机分享 - 归档页:所有历史日报的索引

踩坑 #4:归档列表页怎么都显示不出来。

原因:代码里有一个条件写反了——if date_part < today: continue,把所有历史日期都跳过了。

解决:改成 >= 就好了。但这个bug藏了一个多星期才被发现,因为前几天的数据都还是"未来日期"。

这种bug最可怕——代码语法没问题,逻辑错了。


第四步:自动化(让系统自己跑起来)

手动能跑通了,但我不想每天手动触发。

用了Linux的systemd timer,设置每天凌晨5点自动执行:

# 每天早上5点,自动采集+生成+同步+推送
0 5 * * * cd /var/www/ai-news && bash daily_auto.sh

daily_auto.sh脚本做了这些事: 1. 运行Horizon采集(香港) 2. 用AI分析和生成(腾讯云) 3. 生成静态页面 4. rsync同步到香港(供外部访问) 5. 推送到微信公众号

踩坑 #5: cron跑了一周后发现,每天生成的新闻日期都是"今天",但实际应该是"昨天"。

原因:Horizon采集的是"今天发生的事",但采集时间是凌晨5点,采集到的实际是前一天的内容。

解决:统一改成显示前一天的日期。

看起来是个小问题,但如果你在看新闻的时候发现"今天的新闻都是昨天的",就会觉得这个站不靠谱。细节决定可信度。


第五步:深度解读自动生成

这是最新加的功能,也是我最满意的部分。

每天早上8点,系统自动对排名第一的新闻进行深度分析:

  1. 抓取新闻原文
  2. AI生成2000-3000字的深度解读(有观点、有数据、有分析)
  3. 自动保存为Markdown博客文章
  4. 同步到博客,自动出现在文章列表里

比如今天GPT-5.5发布的新闻,系统自动生成了一篇《GPT-5.5深度解读:从"聊天机器人"到"AI超级应用"的跃迁》,7个小节,包含benchmark数据对比和独立观点。

这个过程完全不需要我参与。

唯一需要我做的,是偶尔去博客看看生成的内容质量,确保没有明显的错误。


背后的技术栈

给技术爱好者列一下:

组件 技术
数据采集 Python + Horizon(开源)
AI分析 智谱GLM API
页面生成 Jinja2模板 + 纯静态HTML
后端API FastAPI + SQLite
服务器 腾讯云(用户服务)+ 香港(数据采集)
域名 ai.howie.wang(备案)
自动化 Linux systemd + cron
部署 rsync + Docker + nginx

没有用到任何昂贵的云服务。成本就是一台腾讯云轻量服务器和API调用费。


一些反思

做这个系统前后花了大概3周时间。大部分时间不是在写代码,而是在修各种奇怪的问题。

凌晨3点调试cron,发现数据没同步;早上6点看日志,发现429限流;白天上班前检查页面,发现归档列表又空了。

这种感觉很难描述。不是痛苦,更像是一种"我亲手建了一个活着的系统"的满足感。

每天早上打开手机,看到新的AI日报已经生成好了,深度解读已经发到博客了。这种感觉,比写完代码本身更让人上瘾。

一个人能做到什么程度?

我的答案是:比你想象的多。但前提是——你要学会把AI当成真正的队友,而不是工具。

这20天的搭建过程中,超过一半的代码是我和AI助手一起写的。我负责方向和决策,它负责执行和查bug。我们吵过架(它在用sed全局替换时把所有SSL证书路径都改了),但最终总是能解决问题。

这不是未来。这就是现在。


本文首发于浩哥AI实验室,同步发布于博客、知乎、小红书等平台。 系统地址:https://ai.howie.wang 博客:https://howie.wang/blog

小红书版(提炼5个要点)

一个人用AI搭了套AI新闻系统🤯 全程自动化

第1点:数据采集是最大的坑。必须在有外网的服务器上跑,国内服务器一个数据都抓不到。

第2点:AI评分会"超分"。prompt让它0-10分,它有时给14分。代码里硬限制:超过10就是10。

第3点:凌晨5点自动跑,早上起来新闻已经排版好了。这种"被动收入感"真的很爽。

第4点:最有价值的功能是自动深度解读。每天自动对TOP1新闻写2000字分析文章,完全不需要人工。

第5点:一个人+AI助手=无限可能。代码一半是我写的,一半是AI写的。吵架归吵架,活干完了。

配图建议:系统架构图、每天生成的新闻页面截图、凌晨日志截图、归档页截图