导语:每天被海量信息淹没,却找不到真正关心的那几条?一位日本开发者用 GitHub 刚发布的 Issue Artifacts 功能,结合 Claude Skills 与定时任务,搭建了一套完全运行在云端的个人新闻配送系统——每天早晨自动收到定制化 HTML 简报,无需自建服务器,也无需手动整理。本文将从架构设计、关键实现到生产避坑,完整还原这条 AI 情报流水线的构建思路。

一、背景:为什么是 Issue Artifacts?
GitHub 于 2026 年 10 月 28 日发布 Issue Artifacts 公开预览,允许在 Issue 中附加 HTML 等文件并直接可视化渲染。这一特性恰好解决了 AI 生成内容持久化与分发之间的核心矛盾:
- Claude Artifacts 访问方便,但成果物整理必须经过 Claude 界面,无法自动化归档;
- 仓库中的 HTML 文件 需要下载后才能预览,无法直接分享链接;
- Issue Artifacts 则兼具持久化存储、链接直达、浏览器直接渲染三大优势,且天然支持版本管理与协作。
对于需要每日生成并推送个性化简报的场景,Issue Artifacts 提供了一个近乎零成本的“静态站点托管 + 内容管理”二合一方案。
选择 Issue Artifacts 作为输出载体,本质上是将 GitHub Issue 当作一个轻量级 CMS:每个 Issue 对应一期简报,Artifact 即渲染页面,Issue 列表即归档目录。这避免了引入额外数据库或静态站点生成器,极大降低了运维复杂度。
二、整体架构:从信息采集到邮件推送
整个系统由四个核心模块组成,全部运行在云端,不依赖本地机器状态:
- 采集调度层:Claude 的定时任务(Scheduled Tasks)每日触发,按预设时间执行;
- 技能执行层:Claude Skills 以 GitHub 仓库形式管理,定义信息源、抓取规则、摘要模板与输出格式;
- 内容生成层:Claude 根据技能指令抓取指定站点(含海外源自动翻译),生成结构化 HTML 简报;
- 发布与通知层:通过 GitHub API 创建 Issue 并附加 HTML Artifact,同时触发邮件通知,用户点击邮件链接即可直接阅读。
| 模块 | 传统方案 | 本方案 | 架构收益 |
|---|---|---|---|
| 内容存储 | 自建数据库或静态站点 | GitHub Issue + Artifact | 零运维、自带版本管理 |
| 内容渲染 | 前端框架 + 构建部署 | 浏览器直接渲染 HTML | 无需构建、链接直达 |
| 任务调度 | Cron + 服务器 | Claude 定时任务 | 全托管、免运维 |
| 采集逻辑 | 硬编码爬虫 | Claude Skills 仓库管理 | 可版本化、易迭代 |
三、关键实现步骤
3.1 用 GitHub 仓库管理 Claude Skills
将采集规则、Prompt 模板、输出格式定义全部以文件形式存放在 GitHub 仓库中,Claude 定时任务每次执行时从仓库拉取最新技能定义。这样做的好处是:技能变更可追溯、可回滚,且团队协作时无需口头传递配置。
# 每日新闻采集技能 ## 信息源 - 全国天气(生活向) - パ・リーグ选手 offseason 动向 - 海外科技媒体(自动翻译为日文) ## 输出要求 - 生成完整 HTML 页面,包含标题、日期、分区、引用链接 - 每个条目附原文链接,便于 fact-check - 样式简洁,适配移动端阅读
3.2 配置 Claude 定时任务
在 Claude 界面中创建 Scheduled Task,设定每日清晨执行,并绑定上述技能仓库。任务执行时,Claude 会依次完成:抓取信息源 → 筛选与摘要 → 生成 HTML → 调用 GitHub API 创建 Issue 并上传 Artifact。
import requests
import os
GITHUB_TOKEN = os.environ["GITHUB_TOKEN"]
REPO = "yourname/daily-news"
def create_issue_with_artifact(html_content, title):
# 1. 创建 Issue
issue_resp = requests.post(
f"https://api.github.com/repos/{REPO}/issues",
headers={"Authorization": f"Bearer {GITHUB_TOKEN}"},
json={"title": title, "body": "今日简报已生成,请查看 Artifact。"}
)
issue_number = issue_resp.json()["number"]
# 2. 上传 HTML 作为 Artifact(具体 API 依官方文档)
# ... 上传逻辑 ...
return issue_number
3.3 邮件通知与阅读闭环
Issue 创建后,通过 GitHub 的邮件通知或自定义 Webhook 发送提醒。用户收到邮件后点击链接,直接打开带 Artifact 的 Issue 页面,HTML 内容即时渲染,无需下载任何文件。
Issue Artifacts 目前处于公开预览阶段,API 可能变动;建议将上传逻辑封装为独立模块,并关注官方 Changelog。另外,HTML 中若包含外部脚本或敏感信息,需确保仓库权限设置得当,避免公开泄露。
四、使用体验与效果
作者反馈,每天早晨手机收到邮件,点击即可阅读定制简报。内容涵盖生活信息与御宅族兴趣(如全国天气、棒球选手动向),海外文章自动翻译,模板固定所以格式稳定,引用链接齐全便于核查。原本担心信息源分散难以整合,实际效果超出预期。
五、团队化扩展与未来展望
作者指出,这套模式完全可以迁移到企业场景:为团队创建专用仓库,定制行业情报采集技能,每日自动生成竞品动态、技术趋势等简报,通过 Issue 共享给全员。未来可进一步优化:
- 增加多语言支持与情感分析;
- 利用 Issue 标签实现分类归档与搜索;
- 结合 GitHub Actions 实现更复杂的后处理流水线。
将 AI 生成内容锚定在开发者日常工具链(GitHub)中,而非另起炉灶,是降低采纳成本的关键。Issue Artifacts 的出现,让“AI 生成 → 人工审阅 → 分发消费”的闭环在同一个平台内完成,这可能是未来轻量级 AI 应用的主流形态。
