mcpField
D
daily-briefing

daily-briefing

github.com/halanhuang2025-lgtm生产力058 次安装35 周前更新
代码仓库

关于 daily-briefing

一个汇总五类资讯来源并生成每日摘要的技能,适用于需要定时获取科技与社区动态的场景。脚本以 Markdown 输出,可按需运行,也可配置 OpenClaw cron 推送到 Telegram。

主要功能

  1. 01聚合五类新闻与社区来源
  2. 02生成带摘要的 Markdown 简报
  3. 03并发抓取 RSS、HN 和 GitHub
  4. 04可调整各栏目条目数量
  5. 05支持禁用栏目或更换 RSS 列表

适用场景

  1. 01定时向 Telegram 发送每日简报
  2. 02按需汇总科技与社区热点
  3. 03调整各资讯栏目内容与数量

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/halanhuang2025-lgtm/daily-briefing-skill --skill daily-briefing

安装后在 Claude Code 中输入/daily-briefing确认已加载。

附带文件README.mdscripts/daily-briefing.py

详细介绍

每日简报技能

汇总 5 个新闻来源,并生成带摘要的格式化每日简报。专为通过 OpenClaw cron 推送到 Telegram 而设计。

来源

#来源API / 方法
1Readhub 早报https://api.readhub.cn/daily — 中国科技新闻,附完整摘要
2Karpathy RSS92 个 HN 热门博客的 OPML,并发抓取最新文章及描述
3GitHub Trending抓取 github.com/trending,并通过 GitHub API 获取仓库描述和星标数
4Hacker NewsFirebase API hacker-news.firebaseio.com/v0/topstories.json
5V2EX 热帖https://www.v2ex.com/api/topics/hot.json

快速开始

运行一次(按需)
python3 scripts/daily-briefing.py 2>/dev/null

输出为 Markdown 格式,可直接发送到 Telegram。

设置每日 cron(北京时间 08:00)
openclaw cron add \
  --name "每日资讯早报" \
  --cron "0 8 * * *" \
  --session isolated \
  --announce \
  --channel telegram \
  --thinking low \
  --message "运行 python3 <workspace>/scripts/daily-briefing.py 2>/dev/null 并将完整输出分段发送到 Telegram 主群"

将 <workspace> 替换为实际路径(例如 /Users/you/.openclaw/workspace-main)。

将输出发送到 Telegram(按板块拆分)

输出约有 200 行。按板块(📰 / 🔖 / ⭐ / 🔥+💬)拆分为 4 条消息,以避免超过 Telegram 的 4096 字符限制。

脚本详情

文件: scripts/daily-briefing.py

  • 仅使用 Python 标准库,无需 pip 依赖
  • 并发抓取:RSS 源使用 25 个工作线程,HN 条目使用 10 个,GitHub API 使用 8 个
  • 总运行时间:约 25 秒
  • Karpathy OPML 来源:https://gist.githubusercontent.com/emschwartz/e6d2bf860ccc367fe37ff953ba6de66b/raw/hn-popular-blogs-2025.opml

自定义

更改每个板块的条目数量 — 在 main() 中编辑各个 get_*() 调用里的 n= 参数:

readhub  = get_readhub(8)        # default 8
rss      = get_karpathy_rss(10)  # default 10
gh       = get_github_trending(8) # default 8
hn       = get_hn_top(8)         # default 8
v2       = get_v2ex_hot(8)       # default 8

停用某个板块 — 在 main() 中注释掉对应代码块。

更改 RSS 源列表 — 脚本每次运行时都会从 GitHub Gist 动态获取 OPML。若要改用本地静态列表,请将 load_opml_feeds() 的返回值替换为硬编码列表。

评论

支持 Markdown