deepdive-xiaohongshu
把专题深度成稿转换为小红书图文卡(封面+知识卡 1080×1440)+ 笔记文案,复用本仓渲染/发布栈。触发词「发小红书 / 转小红书图文 / 深度内容小红书」。
Generate and publish a daily AI-vendor news card digest. Fetches the latest Anthropic (and later OpenAI, etc.) official announcements, curates them into concise Chinese summaries, renders editorial 小红书 (1080×1440) and 微信公众号 cards, updates a GitHub Pages review page, and can push
$ npx -y skills add yinjialu/ai-frontier-daily --skill ai-daily-digest --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/ai-daily-digestContext preview
The summary Claude sees to decide when to auto-load this skill.
Generate and publish a daily AI-vendor news card digest. Fetches the latest Anthropic (and later OpenAI, etc.) official announcements, curates them into concise Chinese summaries, renders editorial 小红书 (1080×1440) and 微信公众号 cards, updates a GitHub Pages review page, and can push
name: ai-daily-digest description: >- Generate and publish a daily AI-vendor news card digest. Fetches the latest Anthropic (and later OpenAI, etc.) official announcements, curates them into concise Chinese summaries, renders editorial 小红书 (1080×1440) and 微信公众号 cards, updates a GitHub Pages review page, and can push a mobile notification. Use when the user wants to "做今天的 AI 日报 / Anthropic 动态卡片", "抓取最新 Anthropic 新闻并生成小红书图", "更新每日 AI 速递", refresh the gh-pages review page, or run the daily digest pipeline.
抓取 AI 大厂(当前 **Anthropic + OpenAI**,可继续扩展)官方动态 → 中文策展 → 渲染 小红书 / 公众号卡片 → 更新 GitHub Pages 展示页 → 推送移动端通知。发布到平台的 最后一步由人工完成(符合各平台规则)。
每个厂商一条独立轨道,用 `--vendor <id>`(缺省 `anthropic`)贯穿全流程:
`output/<vendor>/latest.json`;展示页索引 `output/index.json` 汇总所有厂商(每天一条带 `vendor`)。
默认(Anthropic)暖陶土色,`.v-openai` 深墨黑 + 青绿。`cards.js` 的 `VENDORS` 注册表决定品牌文案。
国内厂商分散、单家更新低频,故**合成一条聚合轨**:一条 `cn` 轨汇集 DeepSeek / 通义千问 / 智谱 GLM / Kimi / 豆包 / 文心 / 混元 / MiniMax / 阶跃星辰 / 百川 / 零一万物 / 蚂蚁百灵 等多家。与单品牌轨的差别:
单品牌轨不带 `company`,徽标自动不显示。
文心/智谱/MiniMax/DeepSeek 等)对 `WebFetch` 普遍返回 **403**(反爬 + 海外 IP 限制),不可靠。 故 cn 的发现路径**反过来**: 1. **首选 `WebSearch`** 按 `daily-search-matrix.json` 逐家公司查近 1~3 天动态(如「智谱 GLM 发布 2026年6月」「MiniMax 新模型」), 这是 cn 唯一稳定可达的路径(国外四家用 WebFetch RSS,cn 用 WebSearch)。 2. **`WebFetch` 仅作补充**:搜到具体文章 URL 后可试抓细节,403 就退回用搜索摘要,**不要因抓不到就编造**。 3. **`sources.yaml` 的 `vendors.cn.rss`(GitHub releases.atom)**可正常抓,但多为 CLI/SDK 线, 作为「有动静」弱信号兜底,不是模型发布主信号。
能找到官方原文/官方引述的写实,单一媒体源的加「据报道/据梳理」限定词,**不编造版本号与跑分**。 某家今天没有可靠近 1~3 天动态就跳过它(聚合轨满刊靠跨公司汇总,不靠给每家硬凑)。
| 方式 | 适用 | 摘要来源 | | --- | --- | --- | | **A. Claude 驱动**(推荐给 routine / 交互) | Claude Code / 定时 agent | 由 Claude 直接用 web 工具抓取并策展,质量最高 | | **B. 纯 Python**(GitHub Actions 无人值守) | CI | `run.py --live`:抓 RSS + 调 Claude API |
两种方式产出同一套 `data/<date>.json` 与 `output/<date>/*.png`,由同一渲染器 (`render.js` + `cards.js` + `cards.css`,唯一真源)渲染,风格一致。
在仓库根目录执行以下步骤(`output/`、`data/` 写到当前工作目录)。 **厂商列表动态读取,不要写死数量或名字。**
1. **日期与刊号**:按 Asia/Shanghai(UTC+8) 取 `DATE=YYYY-MM-DD`(云端 runner 多为 UTC, 直接 `date` 会差一天,用 `TZ=Asia/Shanghai date +%F`);`edition` 用年内第几天 VOL.NNN(`TZ=Asia/Shanghai date +%j`)。 1.5 **发布链路 doctor(前置健康检查)**:正式抓取/渲染前先跑只读 preflight,提前暴露 Python/Node/Playwright/Pages 索引等环境问题:
python3 scripts/doctor_publish.py --stage daily --stage pages
2. **取厂商清单**:运行 `python3 skills/ai-daily-digest/run.py --vendors`,得到 JSON 数组, 每项含 `{id, name, brand, sources:[抓取URL]}`,遍历其中每一个厂商(数量与名字以输出为准)。 若某项 `sources` 为空(环境缺 pyyaml),改读 `sources.yaml` 的 `vendors.<id>` 下 rss/webfetch 的 url。 **先建立本次抓取覆盖记录**(这是提交 guard 的硬前置,不是可选笔记):
python3 scripts/validate_daily_coverage.py --init --date <DATE>
抓取完成后,把每个厂商的官方搜索 query/来源 URL、`firsthand.query` 的候选数量填入 `output/daily-research/<DATE>.json`,并运行 `python3 scripts/validate_daily_coverage.py --check --date <DATE>`。 `cn` 聚合轨必须逐一记录 `daily-search-matrix.json` 中的每家公司,即使搜索无结果也要写 `sources: ["none-found"]`;缺任何一家,后续 guard 会拒绝提交。这样“没有结果”与“没有搜索”不再混淆。 3. **抓取真实最新动态**(对每个厂商 V):依次 `WebFetch` V.sources 的 URL——RSS/Atom/网页 都可直接 WebFetch,Google 系 RSS 也能抓;需要细节再 `WebSearch`。厂商特例:Anthropic 主站 JS 渲染、无官方 RSS(抓 `anthropic.com/news` 顶部条目);`openai.com/news` 网页对 WebFetch 返回 403,用其 RSS `https://openai.com/news/rss.xml`。 3.5 **补内参(本机抓取,补云端盲区——重要)**:云端 Routine 是数据中心 IP,`anthropic.com/news`、 `claude.com/blog` 等 Cloudflare/JS 站常被拦(早报因此会漏 news/blog 内容,只剩 GitHub releases)。 本机内参监控用住宅 IP 已抓好这些,导出在 `data/firsthand/index.json`。对每个厂商 V,**额外读内参近 1~2 天条目作候选**:
python3 -m scripts.firsthand.query --vendor <anthropic|openai|gemini|cn> --days 2 --json --include-open-prs
把这些条目**并入候选池**,与 WebFetch/WebSearch 结果一起去重策展(同一事件只留一条,优先内参的官方一手 + 真实发布日期)。内参覆盖:anthropic(claude-blog/news/research/engineering/transformer-circuits)、openai、gemini(deepmind/google)、cn(qwen/蚂蚁百灵);nvidia 暂无内参源,仍走 WebFetch。 `--include-open-prs` 会只读 open / 已拉取的 `firsthand/*` PR 中 `data/firsthand/**/*.md` 的 OKF 内容, 让「已发现但尚未合入 main」的一手官方动态也能进入当天早报候选池;它不读取 PR 里的代码改动。 JSON 输出会给这类候选加 `candidate_origin: "open-pr"` 与 `candidate_ref: "firsthand/<date>"`, 日报 Issue/最终回复里要保留这个来源标注,便于 review 时知道该候选尚未进入 main。
4. **去重(Claude 链路)**:看 `data/<V.id>/` 里最近的 *.json,只挑近 1~3 天的「新」条目, 避免与已发布重复;若今天 `data/<V.id>/<DATE>.json` 已存在且已覆盖当日要点,则该厂商 跳过、不覆写。(B 链路的 `seen.db` 去重不适用于本链路。) 5. **价值筛选 + 中文策展**。只保留对中文 AI 从业者有价值的条目(模型发布、能力 更新、重要研究、重大合作、定价/政策),过滤纯招聘/办公室开设/人事任命等。 每条:选一个标签【模型发布/开发者/企业/研究/生态/政策/安全】,写 50–80 字 客观中文摘要(说清「变了什么 + 对用户意味着什么」,不夸张不编造),按重要性 降序,最多 6 条。
字段(来源公司中文名,如「DeepSeek」「通义千问」「智谱」「Kimi」「豆包」「文心」「混元」 「MiniMax」「阶跃星辰」「百川」「零一万物」「百灵」),用于渲染公司徽标。
`anthropic.com/news` 与 `claude.com/blog`,或内参 + web 抓到同一条)时,**合并成一条**, 不要重复占用名额。择优规则:优先**官方一手**来源作主链接、取**真实发布日期**(内参的 `published`); 正文可点明"多家/多源报道"。判据:标题/主体指向同一事件(同一产品名、同一公告)。聚合轨 `cn` 同理——同一新闻被多家媒体转载只算一条,`company` 取最权威来源。 摘要必须保留对应中文限定词(「可能」「据报道」「疑似」),不得改写为断言。
须区分是官方 postmortem/Status Dashboard 确认,还是媒体推测或用户反馈; 若官方仅承认故障存在但未给出根因,摘要只写「官方确认」,不写未经证实的技术原因。 6. **写当天数据**到 `data/<vendor>/<YYYY-MM-DD>.json`(必含 `"vendor"` 字段),字段见下面 schema。 该厂商今天无值得发的内容则跳过它、不写文件。 渲染默认输出 **JPEG**(移动端优先:1080×1440、`deviceScaleFactor:1`、质量 86, 单张约 100–300KB,低于公众号在文图片 1MB 上限,省去后压缩)。可
服务器主流程:Hermes 定时巡检 → 官方原文核验与中文策展 → 飞书通知 → 小红书/公众号卡片 ZIP。见 服务器部署 与 官方信源校准。 以下保留原 GitHub Pages / 本机流程作为兼容参考。 抓取 AI 大厂官方动态(Anthropic + OpenAI,可继续扩展)→ 中文策展 → 渲染小红书 / 公众号卡片 → GitHub Pages 可视化展示页 → Codex Automation 每天自动更新。 整条流程封装为可安装的 Agent
Repo: yinjialu/ai-frontier-daily
把专题深度成稿转换为小红书图文卡(封面+知识卡 1080×1440)+ 笔记文案,复用本仓渲染/发布栈。触发词「发小红书 / 转小红书图文 / 深度内容小红书」。
专题深度线——对一个值得深挖的功能点(如 Claude Tag)生成深度文章草稿。从内参索引列「值得深挖」候选→用户选→抓官方素材生成五段骨架 draft→交 article-harness 打磨。用户说「深挖 X / 做个 X 的专题 / 专题深度」时使用。
查询一手信源内参库「最近有什么新动态」。读 ai-frontier-daily 的 OKF 内参库(data/firsthand/),按时间窗汇总 AI 大厂官方最新动态。用户问「最近有什么新动态 / 内参最近有啥 / Anthropic/OpenAI 最近发了什么 / 这周 AI 大厂动态」时使用。
维护 ai-frontier-daily 的一手信源清单 firsthand-sources.yaml。新增信源(探测订阅方式并写入)、列出信源健康状态。用户说"帮我监控这个网页 / 加个信源 / 看看信源健康度"时使用。
一手信源订阅适配器。给定信源 URL,探测最稳的订阅方式(RSS / HTML 链接提取),返回统一的文章列表 [{url,title}]。用于 ai-frontier-daily 内参监控的新增信源探测与抓取。