体验地址:http://115.190.159.13/?tab=realtime
① 摘要
10分钟 SOLO MTC在很短时间内搭建了一个「SOLO 挑战赛专区」实时/昨日双榜仪表盘:自动抓取论坛公开数据,生成 投票榜 TOP5 + 互动榜 TOP5(评论数)
它把运营/评审每天“刷帖看热度、手工统计榜单”的重复劳动,变成了一个可自动更新、可直接截图转发的“排行榜大屏”。
② 背景
过去的方式非常“人工”——在论坛里来回翻页、对照投票/评论、再手动整理榜单与链接,信息更新快的时候经常要反复校对,既耗时又容易漏掉关键帖子。
③ 实践过程
1)任务拆解(我让 SOLO 先给出可落地方案)
我把目标拆成四块,让 SOLO 逐块给出实现路径:
榜单口径定义:
实时榜单:最近 24h 滚动窗口
昨日榜单:按中国时间自然日 00:00~24:00
聚合算法:投票榜按累计票数,互动榜按评论数(排除主题首帖,并让口径尽量贴近论坛 UI)。
交付形态:网页仪表盘 + 自动刷新
2)用到的 SOLO 能力
方案设计 & API 调研:公开 JSON 的抓取方式(分类 topics、posts 流、topic detail),以及不可用的登录态页面。
代码生成:直接生成可运行的 FastAPI 服务、聚合逻辑、前端页面与视觉样式。
3)关键 Prompt
Prompt 1:
“为论坛指定分类页制作仪表盘,首版要今日双榜 TOP:投票榜 TOP5 + 互动榜 TOP3(评论数),只用公开抓取,不登录。并给出可落地实现方案。”
4)踩坑与解决(非常真实)
坑 1:unread 链接需要登录
一开始想直接用 …/l/unread,但 Discourse 对未读视图会返回 not_logged_in。
解决:坚持“纯公开抓取”,改用公开 JSON(posts.json + t/{id}.json)自己计算 24h 窗口。
坑 2:互动榜评论数口径不一致
我最初按 posts.json 统计了所有 post_number>1 的楼层,会把楼主自回也算进去,导致和论坛列表里看到的回复数不同。
解决:拿到 topic 的 created_by 后,把楼主在窗口内的回复从评论数里扣除,使口径更贴近 UI。
坑 3:官方帖需要剔除
比赛榜单里若混入官方帖,会影响参赛作品展示。
④ 成果展示
仪表盘(实时/昨日页签切换):
⑤ 效果与总结
1)效率提升
以前:手动刷帖 + 统计投票/评论 + 整理链接 + 输出榜单,往往要反复核对,耗时且容易漏。
现在:打开仪表盘即可看到实时/昨日榜单
2)SOLO 在流程中的价值
把“不确定的 API/口径”变成明确的实现方案
把复杂多文件的工程工作(后端抓取、聚合、前端展示、定时任务)快速落成可运行版本
在反馈迭代时(口径/范围/UI)能快速定位问题并给出修改点
3)可复用的方法
如果你也想做类似“论坛/社区榜单”的自动化,我的复用套路是:
先定义口径(实时窗口 vs 自然日)
优先找公开事件流(像 posts.json 这种“事实发生记录”)来做统计
再用详情接口补齐展示字段(标题、作者、票数、链接)
最后把“截图/推送”做成定时任务,让产出可以直接在群里复用
*最后:我将迭代更新直接飞书实现每日定点推送战报!*等我消息!






