我如何用 AI 在 48 小时内把 Python 脚本变成“个人彭博终端”

0. 背景:为什么我要折腾这个?

作为一名同时关注港股和 A 股市场,我每天的信息焦虑很重。我需要盯着 36 氪、彭博社、英为财情等多个源头。

最开始,我只是想要一个简单的功能:有一个机器人帮我盯着这些网站,有新消息就发到我的飞书上。

我没有专业的编程背景,但我知道现在的 AI 能写代码。于是,我找了一位 AI 助手(Gemini),开始了这段为期两天的“结对编程”。

1. 第一阶段:从“消息轰炸”到“聚合卡片”

最早的版本很快就跑通了。AI 给了一段 Python 代码,放在 GitHub Actions 上跑。但是上线第一天我就受不了了——消息太碎了。

每一条新闻都会触发一次弹窗。如果彭博社一下子更新了 5 条新闻,我的手机就会震动 5 次。这完全没法用。

我向 AI 提出了第一个关键需求:

“新闻还是一张卡片一张卡片的跳...能不能点一下折叠,或者聚合一下?”

AI 告诉我不支持“点击交互”,但可以做“聚合发送”。它重写了代码,把 15 分钟内抓到的新闻打包塞进一张飞书卡片里。

这是优化后的效果,清爽多了:

(图注:优化后的飞书卡片,同一个来源的新闻被聚合在一起,不再刷屏)

2. 第二阶段:更大的野心与“网页时光机”

解决了推送问题,我又产生了新的想法:“能不能把它做成一个独立的 App?” 比如双击进入文件夹,或者有一个独立的界面查看历史消息。

AI 很诚实地劝退了我:开发 iOS App 需要每年交 99 美元开发者费用,还需要后端服务器。它给了一个“穷人版”的替代方案:利用 GitHub Pages 生成一个静态网页。

于是,我们的架构变成了:

3. 第三阶段:踩坑与填坑(最折磨的过程)

这个阶段是我们交互最密集的时刻,因为遇到了一系列技术问题:

问题一:网页“裸奔”与文件过大 一开始生成的 index.html 非常简陋,甚至有一次因为没有任何样式(CSS),网页变成了纯文字。更严重的是,因为没有清理机制,HTML 文件很快膨胀到几千条新闻,导致 GitHub 编辑器直接打不开,报错 "File too big"。

解决过程: AI 引入了一个 MAX_ARCHIVE_ITEMS = 800 的限制,只保留最近一周的数据。同时,为了防止样式丢失,它把 CSS 代码直接“焊死”在了 Python 脚本里,每次运行都强制重写网页头尾。

问题二:诡异的“7:50”停摆 就在我觉得一切正常时,我发现机器人突然不工作了。查看 GitHub 后台日志,发现所有的绿色对号在早上 7:50 之后就戛然而止。

(图注:日志显示,之前的运行间隔非常不规律,最终在 7:50 停止)

排查与解决: 我把日志发给 AI,经过分析发现是“免费额度”的问题。

  • 我原本设置每 15 分钟运行一次。

  • 每次运行耗时约 2分30秒。

  • 一天运行 96 次 × 2.5 分钟 ≈ 240 分钟。

  • GitHub 私有仓库每月免费额度只有 2000 分钟。按这个速度,8 天就会用光一个月的额度

为了解决这个问题,我们将策略调整为“省流模式”:只在早 8 点到晚 8 点运行,且频率降低为每 30 分钟一次。

4. 第四阶段:发布 v1.0 与 Release 事故

当代码终于稳定后,我想把这个版本定格下来。AI 建议我使用 GitHub 的 Releases 功能。

结果在发布时,我又卡住了。我填好了标题和内容,点击发布却一直报错:tag name can't be blank

原来,GitHub 发版必须关联一个“标签”(Tag)。在 AI 的截图指引下,我学会了在输入框输入 v1.0.0 后,必须点击那个弹出的 "Create new tag" 按钮,而不是直接跳过。

5. 最终成果

经过 48 小时的调试,这个“个人金融情报站”终于 v1.0 上线了。现在的它:

  1. 飞书端:每 30 分钟聚合推送,英文自动翻译成中文。

  2. 网页端:拥有了类似彭博终端的深色时间轴界面,手机访问也很漂亮。

  3. 零成本:托管在 GitHub,没有服务器开销。

回看整个过程,我并没有真正掌握 Python 的语法,但我学会了如何“精准地描述现象”“向 AI 提需求”。这或许就是 AI 时代,我们每个人都能拥有的能力。

© 2026 约翰祈祷1590 · 独立开发者