收集claude.ai公司的最新进展情况,包括主要负责人的新闻和产品推广等
自动化的 Claude.ai 与 Anthropic 公司新闻聚合器
每天 11:58 自动收集全球最新动态,整理成精美邮件直达邮箱,支持 Obsidian 笔记导入
如果你像我一样,每天想知道 Claude / Anthropic 有什么新动态,但又不想:
- ❌ 手动刷 Hacker News / Reddit
- ❌ 翻墙看 TechCrunch / The Verge
- ❌ 在微信里搜索零散的公众号文章
- ❌ 错过 Anthropic 官方的重大公告
那这个项目就是为你准备的。
每天早上 11:58,你的邮箱会收到一封精心整理的"Claude.ai 日报",包含:
- 🌟 Anthropic 官方公告(最高优先级)
- 🌍 西方主流媒体报道(纽约时报、WSJ、TechCrunch、The Verge 等)
- 🇨🇳 中文科技媒体(机器之心、36氪、量子位、少数派、InfoQ)
- 💬 社区讨论(Hacker News、Reddit、知乎)
- 🐙 GitHub 热门项目(最近一周高 star 的相关仓库)
而且,已经推送过的内容不会再次出现 —— 每天只看真正的新东西。
| # | 数据源 | 类型 | 说明 |
|---|---|---|---|
| 1 | Anthropic 官方 | 🌟 官方 | 最重要的新品发布和公告 |
| 2 | Google News RSS | 🌍 聚合 | 自动覆盖纽约时报、WSJ、Bloomberg 等所有主流媒体 |
| 3 | 西方媒体 RSS | 🌍 媒体 | TechCrunch、The Verge、Ars Technica、Wired、MIT Tech Review、VentureBeat |
| 4 | 中文媒体 RSS | 🇨🇳 媒体 | 机器之心、36氪、量子位、少数派、InfoQ 中文 |
| 5 | Hacker News | 🟠 社区 | 技术圈最权威的讨论 |
| 6 | 🔴 社区 | r/ClaudeAI + r/Anthropic 高赞帖 | |
| 7 | 知乎 | 🇨🇳 社区 | 中文优质回答和文章 |
| 8 | 搜狗微信 | 🇨🇳 公众号 | 微信公众号文章(反爬严格,仅供尝试) |
| 9 | GitHub | 🐙 项目 | 最近一周活跃的 Claude 相关项目 |
- 去重:基于 Jaccard 相似度算法,自动合并多家媒体报道的同一新闻
- 过滤:只保留最近 7 天的内容,自动过滤无关信息
- 排序:官方优先 + 时间倒序,重要内容置顶
- 分组:按"今天 / 昨天 / 本周早些时候"清晰分组
- 14 天滚动窗口:已推送过的内容不再重复
- 持久化存储:历史记录自动 commit 回仓库
- 智能补充:新内容不足时自动补充优质历史,避免邮件太空
- 自动清理:14 天前的过期记录自动删除
- HTML 邮件:精美的视觉设计,响应式布局,手机电脑都好看
- Markdown 附件:标准 Frontmatter,可直接拖入 Obsidian 知识库
- ✅
fast-xml-parser处理各种 RSS/Atom 格式 - ✅
p-limit控制并发,对外网友好 - ✅
AbortController标准超时处理 - ✅ 指数退避重试机制
- ✅ 时区统一为
Asia/Shanghai - ✅ 完善的错误捕获和日志输出
- 一个 GitHub 账户(免费)
- 一个 Gmail 邮箱(用于发送和接收)
- 访问 Google 账号安全设置
- 启用 "2 步验证"
- 进入 "应用专用密码"
- 生成一个新密码(16 位,格式如
xxxx xxxx xxxx xxxx) - 复制保存好
方式 A:Fork 本仓库(推荐)
点击右上角 Fork 按钮即可。
方式 B:新建仓库
- 访问 github.com/new
- Repository name:
claudenews - Visibility:Public
- 创建后,把本项目的代码复制进去
进入仓库的 Settings → Secrets and variables → Actions
添加 3 个 Secrets:
| Secret 名 | 值 | 说明 |
|---|---|---|
GMAIL_USER |
your-email@gmail.com |
你的 Gmail 地址 |
GMAIL_APP_PASSWORD |
xxxx xxxx xxxx xxxx |
上一步获取的 16 位应用密码 |
EMAIL_RECIPIENT |
your-email@gmail.com |
收件人地址(可以和 GMAIL_USER 相同) |
确保 .gitignore 中没有 cache/ 这一行(v5 需要持久化历史到仓库)。
如果有,请删除。
- 进入仓库的 Actions 标签
- 选择 "Claude News Collector"
- 点击 Run workflow → Run workflow
- 等待约 30 秒
- 检查 Gmail 收件箱 ✅
之后每天上午 11:58(北京时间)会自动运行。
claudenews/
├── .github/
│ └── workflows/
│ └── claude-news.yml # GitHub Actions 工作流
├── cache/
│ └── history.json # 历史记录(自动管理,请勿手动修改)
├── 01-claudenews-main.js # 主程序(单文件,分 9 个 section)
├── package.json # Node.js 依赖
├── .gitignore # Git 忽略规则
└── README.md # 本文件
01-claudenews-main.js 虽然是单文件,但内部清晰分为 9 个 section:
// §1 常量配置 - 所有可调参数集中管理
// §2 工具层 - logger / time / text / fetch with retry
// §3 解析层 - XML/RSS / Google News URL decoder
// §4 缓存层 - history.json 读写与清理
// §5 采集层 - 9 个数据源的采集函数
// §6 处理层 - 去重 / 过滤 / 排序 / 分组
// §7 渲染层 - HTML / Markdown 双格式
// §8 邮件层 - Gmail SMTP 发送
// §9 主流程 - 串起整个 pipeline编辑 .github/workflows/claude-news.yml:
schedule:
- cron: '58 03 * * *' # UTC 时间,即北京时间 11:58Cron 表达式参考:
'00 02 * * *'= 北京时间 10:00'00 12 * * *'= 北京时间 20:00'00 0 * * 1'= 每周一北京时间 8:00
工具:crontab.guru
编辑 01-claudenews-main.js 顶部的 CONFIG:
const CONFIG = {
daysToKeep: 7, // 显示最近几天的新闻
historyDays: 14, // 历史记录保留几天
maxNewsItems: 50, // 邮件最多展示几条
concurrency: 4, // 同时并发请求数
};每个数据源都是独立的 fetchXxx() 函数,在 §5 采集层。
禁用某个源:在主流程 main() 里把对应函数注释掉。
添加新源:参考现有函数的格式,新增一个 fetchXxx() 并加入 Promise.allSettled 数组。
§7 渲染层 的 renderHTML() 函数。
颜色定义在 getBorderColor():
function getBorderColor(item) {
if (item.isOfficial) return '#f59e0b'; // 橙色 - 官方
if (item.category === 'chinese_media') return '#ef4444'; // 红色 - 中文
if (item.category === 'western_media') return '#3b82f6'; // 蓝色 - 西方
return '#667eea'; // 紫色 - 其他
}每天收到的邮件大致是这个结构:
═══════════════════════════════════════════
📰 Claude.ai 日报
2026-05-20 · 15 条 (已自动去除历史推送)
🌟 官方:2 🌍 西方:5 🇨🇳 中文:3
🟠 HN:4 🔴 Reddit:1 🐙 GitHub:0
═══════════════════════════════════════════
🌟 Anthropic 官方 (2)
─────────────────────────────────────────
1. Introducing Claude Opus 4.7
🌟 Anthropic Official · 05-20 11:30
→ 查看详情
2. Claude for Small Business
🌟 Anthropic Official · 05-20 09:00
→ 查看详情
📅 今天 (6)
─────────────────────────────────────────
3. Andrej Karpathy joins Anthropic
🌍 The New York Times · 05-20 10:15
...
📆 昨天 (4)
─────────────────────────────────────────
...
📋 本周早些时候 (3)
─────────────────────────────────────────
...
进入 Actions → 最近一次运行 → 展开 Run Claude News Collector:
首次运行:
ℹ️ 首次运行, 未找到历史记录
第二次运行起:
✓ 已加载历史记录: 35 条
ℹ️ 历史去重: 42 → 7 新 + 35 重复
仓库根目录会自动出现 cache/history.json 文件,内容示例:
{
"items": {
"abc123def456": {
"firstSeen": 1716198000000,
"lastSeen": 1716284400000,
"count": 2,
"title": "Andrej Karpathy joins Anthropic..."
}
},
"lastRun": "2026-05-20T05:00:00.000Z"
}连续几天的邮件,同一新闻不会重复出现。即使该新闻在 Hacker News 和 Reddit 同时被讨论好几天,你也只会看到一次。
Q: 为什么 GitHub Actions 一直显示警告 "Node.js 20 is deprecated"?
工作流文件已使用 actions/checkout@v6 和 actions/setup-node@v6,这是 2026 年 1 月发布的最新稳定版,原生支持 Node.js 24。如果还看到警告,可能是缓存问题,重新触发一次即可。
Q: 报错 "Process completed with exit code 1"
查看 Actions 详细日志:
- 若提示
Cannot find module:检查仓库里的 JS 文件名是否和 workflow 中一致 - 若提示
Authentication failed:检查 Gmail 应用密码是否正确(16 位) - 若提示
paths are ignored by .gitignore:检查.gitignore中是否还有cache/,需要删除
Q: 收到的邮件里中文媒体内容很少?
正常现象。中文 RSS 源对 Claude/Anthropic 的相关报道频率本身就低于英文媒体。如果某天完全没有,程序会自动从历史中补充优质内容。
如果想增加中文比例,可以:
- 在
fetchChineseMediaRSS中添加更多中文媒体的 RSS 链接 - 把过滤关键词加上更多中文别名(如"克劳德")
Q: 微信公众号经常 0 条?
是的,搜狗微信反爬非常严格,GitHub Actions 的 IP 经常被拦截。这是已知限制,不影响其他数据源。
机器之心、量子位、36 氪 等中文媒体已经覆盖了 90% 的优质中文内容(公众号好文章通常也会在这些平台发布)。
如果你真的需要稳定的微信公众号内容,可以考虑:
- 自建 RSSHub(开源免费,可部署在 Vercel)
- 使用 WeRSS 等付费工具(¥10-30/月)
Q: 想清空历史重新开始?
在 GitHub Web 上删除 cache/history.json 文件即可。下次运行时会自动重新创建。
Q: 想接收到多个邮箱?
修改 EMAIL_RECIPIENT Secret 为逗号分隔的多个地址:
user1@gmail.com,user2@example.com
注意:nodemailer 默认支持,无需改代码。
Q: 可以加 AI 摘要吗?
当前 v5 没有 AI 摘要功能。如果需要,可以基于 v5 扩展:
- 在 GitHub Secrets 添加
ANTHROPIC_API_KEY - 在
processNews之后调用 Claude Haiku API 给每条新闻生成 1-2 句摘要 - 预估成本:每天约 ¥0.5-1,每月 ¥15-30
| 技术 | 用途 | 版本 |
|---|---|---|
| Node.js | 运行环境 | 20+ |
| GitHub Actions | 自动化调度 | actions/checkout@v6, setup-node@v6 |
| Gmail SMTP | 邮件发送 | via nodemailer |
| fast-xml-parser | RSS/Atom 解析 | ^4.4.0 |
| node-fetch | HTTP 请求 | ^2.7.0 |
| nodemailer | 邮件发送 | ^6.9.13 |
| p-limit | 并发控制 | ^3.1.0 |
| 版本 | 重点 | 状态 |
|---|---|---|
| v1.0 | 基础雏形:HN + 邮件 | 历史版本 |
| v2.0 | 修复脚本崩溃,添加错误处理 | 历史版本 |
| v3.0 | 时间过滤 + 时间分组 | 历史版本 |
| v4.0 | 西方媒体 + 中文媒体(9 数据源) | 历史版本 |
| v5.0 | 工程化 + 历史去重缓存 | 当前 ⭐ |
| v6.0 | AI 摘要 + 智能分类(未开发) | 规划中 |
⚠️ 搜狗微信:反爬严格,结果常为 0 条⚠️ 首次运行:历史为空,所有内容都是"新"的,从第二天起去重生效⚠️ Google News URL:部分链接是重定向链接,点击会跳转到真实媒体⚠️ GitHub Actions 时间:cron 调度有 0-15 分钟延迟,11:58 设置实际可能 12:00 左右运行⚠️ 节假日:GitHub 偶尔有维护,可能影响某天的运行
- ✅ 所有敏感信息(Gmail 密码)通过 GitHub Secrets 加密存储
- ✅ 使用 Gmail 应用专用密码,可随时撤销,不影响主账户
- ✅ 代码完全开源,可审计
- ✅ 不收集任何用户数据
- ✅ 所有网络请求都是公开 API,不涉及登录爬取
可以自由使用、修改、分发。
欢迎提 Issue 或 Pull Request:
- 🐛 报告 Bug
- 💡 提出新数据源建议
- ✨ 贡献代码改进
- 📖 改进文档
- 感谢 Anthropic 创造了 Claude
- 感谢所有提供 RSS / 公开 API 的媒体和社区
- 项目本身就是用 Claude Code 辅助开发的 🤖(ChatGPT也提供了宝贵的意见和建议)