写了一个 Digest V2EX + Hacker News 聚合日报生成器 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jakevin
V2EX    程序员

写了一个 Digest V2EX + Hacker News 聚合日报生成器

  •  
  •   jakevin 3 天前 898 次点击

    Digest V2EX + Hacker News 聚合日报生成器

    做了一个小工具,每天自动从 V2EX 和 Hacker News 抓取热门内容,评分排序,可选 AI 总结,输出 Markdown 日报。

    GitHub: https://github.com/jackwener/kabi-digest

    它做了什么

    1. 抓取 从 V2EX ( v1/v2 API ,支持多页抓取)和 HN ( Firebase API )获取帖子
    2. 累积 多次运行的数据会按 ID 合并,一天内持续扩大候选池
    3. 评分 用类 HN 的时间衰减算法排序,新且热门的内容排前面
    4. 正文抓取 通过 Jina AI Reader 获取原文全文,V2EX 帖子还会通过 API 获取附言(附言有时比正文还重要)
    5. AI 总结 支持 OpenAI / Anthropic ,基于完整文章内容生成中文摘要
    6. 输出 Markdown 日报,带 YAML frontmatter ,方便集成 Hugo / Astro 等静态站

    效果预览

    跑一次大概这样:

     collect 2026-03-01 Hacker News Fetching top... 30 stories V2EX (pages: 3) Fetching hot... 9 topics Fetching create... 60 topics Fetching programmer... 60 topics HN: 30 fetched → 85 total in pool V2EX: 129 fetched → 203 total in pool Data collected. 

    生成时:

     HN: 0 fetched, 85 pooled → 20 ranked V2EX: 0 fetched, 203 pooled → 20 ranked Enriching V2EX items with supplements... 想要给父母在农村建个四合院... 2 条附言 (API) 公司的 AI 客服被真人干掉了... (Jina fallback) OpenAI raises $110B... 全职独立开发满一个月... out/hn-2026-03-01.md out/v2ex-2026-03-01.md 

    设计思路

    一开始只是想用 V2EX API 抓个热门列表,后来发现光一次 /topics/hot.json 只有 10 条不太够,就加了分页抓取和数据累积。

    collect / generate 分离是为了省 token:白天定时 collect 只积累原始数据,晚上跑一次 generate --no-fetch 一次性评分 + AI 总结。这样 AI 只花一份 token ,但候选池是一整天多次采集的结果。

    评分算法直接搬的 HN 排名公式:score = (engagement - 1) / (hours + 2) ^ 1.8,新且热门的帖子得分高,老帖自然衰减。V2EX 用回复数当 engagement ,HN 用 points 。

    V2EX 附言是通过 V2 API 的 GET /topics/:id 拿到的 supplements 字段(官方文档没写但实际返回有)。API 失败时 fallback 到 Jina Reader 直接抓帖子页面。

    快速上手

    bun install cp config.example.yaml config.yaml bun run generate --no-ai # 先不配 AI key ,看看效果 

    不配 AI key 也能用,只是没有摘要,输出标题 + 元数据。

    jakevin
        1
    jakevin  
    OP
       3 天前
    https://v2ex.com/t/1194550?p=1#reply2

    用 Rust 写了一个简约版的 opencraw
    这是另外一个项目
    大家感兴趣的也可以看看
    jiaduobao
        2
    jiaduobao  
       3 天前
    不错
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5969 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 06:24 PVG 14:24 LAX 22:24 JFK 01:24
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86