Skill: yan1sanjin/ai-news-digest-cn (version 1.2.0)

--- name: ai-news-digest description: 抓取主流中外 AI 资讯源生成中文 markdown 日报。用户说"生成今日 AI 日报"/"今天有什么 AI 新闻"等指令时启用。 allowed-tools: WebFetch, WebSearch, Read, Write, Bash(mkdir *), Bash(date *), Bash(ls *) --- # AI News Digest Skill You are generating today's AI industry news digest in Chinese-friendly format. --- ## ⚠️ 核心原则(v3.1 新增 · 高于一切其他规则) **信源真实性 > 信号广度。宁可漏报,不要错报。** WebSearch 的二手报道可能有 3 类污染: 1. 媒体夸张标题(如"全面换装""彻底颠覆"等营销语) 2. SEO 投毒 / 虚构页面(看似官方域名但实际是仿冒/虚构内容) 3. AI 生成的虚假新闻被搜索引擎索引 **任何 T+1 信号在写入最终报告前必须通过 Step 6.5 事实核查**。无法 verify 的内容 → 标⚠️或剔除,不要为了凑条数硬上。 --- ## Step 1: Parse parameters & determine output path ### 1.1 解析用户调用 prompt 里的可选参数 **`path=<路径>`**: 覆盖默认输出位置 **`mode=<模式>`**: 同日文件冲突时的行为, 详见 Step 1.6: - `mode=update` (别名: `u` / `合并` / `merge`): 更新累积模式 (A) - `mode=snapshot` (别名: `s` / `快照`): 新建独立副本 (B) - `mode=skip`: 跳过本次, 不抓取 **自然语言推断** (用户没显式带 `mode=` 但表达了意图也能识别): - "不要覆盖" / "另存一份" / "保留原版" / "保留之前的" → 等价 `mode=snapshot` - "更新到最新" / "合并今天新增" / "拿最新版本" → 等价 `mode=update` - "看看上次的就行" / "别跑" / "我先不抓" → 等价 `mode=skip` **`region=<地区>`**: 网络环境, 决定抓取源清单 - `region=intl` (默认, 别名: `international` / `global` / `海外`): 抓全部 Tier 1+2+3 源 (原版行为) - `region=cn` (别名: `china` / `国内` / `大陆`): **跳过中国大陆 GFW 阻断的国际源** (Anthropic / OpenAI WebFetch / HuggingFace / Google AI Blog), 只抓 HN + Latent Space + 全部 Tier 2 中文源 + TechCrunch / The Verge / One Useful Thing **自然语言推断**: - "我没 VPN" / "国内网络" / "中国大陆裸连" / "不要墙外源" / "用国内源就行" → 等价 `region=cn` - 默认 `region=intl` (海外用户 / 已开 VPN 环境) 注: WebSearch (Step 5) 走 Anthropic backend, 不受 region 影响, 两个 region 都跑。WebFetch 受目标站本地可访问性影响, region=cn 跳过被墙源。 ### 1.2 确定输出路径 Default path: `~/Desktop/ai-news/YYYY-MM-DD.md`,使用今天的日期 (YYYY-MM-DD 格式)。 如果用户用 `path=` 指定, 使用用户路径。 **如果目标路径已存在文件 → 进入 Step 1.6 同日冲突处理, 不要直接覆盖也不要直接 -second.md**。 **确保父目录存在** (无论是默认路径还是 `path=` 自定义路径, 父目录不存在都先创建)。先判断当前 OS 用对应命令: **macOS / Linux / WSL / Git Bash** (bash): ```bash mkdir -p "$(dirname <最终目标路径>)" ``` **Windows PowerShell**: ```powershell New-Item -ItemType Directory -Force -Path (Split-Path -Path "<最终目标路径>" -Parent) | Out-Null ``` 具体例子: - 默认 Unix: `mkdir -p ~/Desktop/ai-news/` - 默认 Windows: `New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\Desktop\ai-news"` - 自定义 Unix `path=~/Documents/digests/today.md` → `mkdir -p ~/Documents/digests/` - 自定义 Windows `path=$env:USERPROFILE\Documents\digests\today.md` → `New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\Documents\digests"` **Windows 默认输出路径用 `$env:USERPROFILE\Desktop\ai-news\YYYY-MM-DD.md`** (PowerShell 也支持 `~` 但 `$env:USERPROFILE` 更明确稳定)。 获取今天日期 (`YYYY-MM-DD` 格式): **Unix**: ```bash date +%Y-%m-%d ``` **Windows PowerShell**: ```powershell Get-Date -Format "yyyy-MM-dd" ``` **配置说明**: - 默认输出目录可在 SKILL.md 顶部自行替换 (例如改为 `~/Documents/ai-news/`),改完后下面 Step 1.5 / Step 6.7 的路径要同步改 - 运行时通过 `path=` 参数可临时覆盖默认值 - 日期基于运行机器的本地时区, 跨时区团队请注意 --- ## Step 1.6: Same-day file conflict handling (Step 1.2 检测到目标文件已存在时执行本步) ### 1.6.1 判断当前 runtime 是否交互式 你 (执行本 skill 的 LLM) 需要判断当前 agent runtime 是否能即时收到用户回复: **交互式 runtime** (可问用户): - Claude Code REPL — 用户在终端等回答 - Cursor chat — 用户在 IDE chat 框等回答 - 其他原生 chat 界面的 agent **非交互式 runtime** (不能问 / 不该问): - Codex CLI 任务执行模式 — 一次性命令, 跑完返回, 无人值守 - cron 定时任务 — 完全后台 - API / SDK 后台调用 — 程序在用, 没有人类用户 - 桥接 chat (Discord/Slack bot 转发) — latency 高, 不建议问 ### 1.6.2 决策树 1. **用户 trigger 带了 `mode=` 参数 / 等价自然语言意图** → 直接按参数走, 跳过询问 + 跳过 runtime 检测 2. **没显式 mode + 交互式 runtime** → 询问用户三选一 (A/B/C), 等用户回答后再继续 Step 2 3. **没显式 mode + 非交互式 runtime** → **默认走 A** (更新累积), 不询问 ### 1.6.3 询问模板 (交互式 runtime + 没显式 mode 时使用) 向用户说一段大致如下的话, 然后**等用户回答, 不要开始 Step 2 抓取**: ``` 检测到今天已经生成过 ~/Desktop/ai-news/YYYY-MM-DD.md (上次 HH:MM 生成)。 要怎么处理? A · 更新到最新累积版本 (推荐): 旧版自动归档到 .archive/, 新版包含当日全部抓取 B · 新建独立副本: 写到 -second.md, 不影响原文件 C · 跳过本次: 不抓取, 看上次的就行 请回答 A/B/C, 或直接说想要的行为 (例如"更新" / "另存一份" / "别跑")。 ``` ### 1.6.4 三种模式的具体执行 **A · 更新累积模式 (`mode=update`)**: 1. 把现有 `YYYY-MM-DD.md` 移动到归档目录, 文件名带时间戳: `~/Desktop/ai-news/.archive/YYYY-MM-DD-HHMMSS.md` (例: `2026-05-24-080012.md`) 2. 归档目录不存在则先创建 (`mkdir -p ~/Desktop/ai-news/.archive/` 或对应 Windows 命令) 3. **Step 1.5 收集 baseline 时, 把这份归档旧版本也读进来** (同日已收录的内容必须去重) 4. Step 2-9 正常执行, 写新版本到 `YYYY-MM-DD.md` 5. Step 9 输出末尾追加一行: `**Updated at HH:MM** · +N new items since previous run (archived: .archive/YYYY-MM-DD-HHMMSS.md)` **B · 新建独立副本 (`mode=snapshot`)**: 1. 检测 `YYYY-MM-DD-second.md` 是否存在, 不存在用这个; 存在用 `YYYY-MM-DD-third.md` (依次类推) 2. Step 1.5 baseline 不读同日的其它副本 (各副本互相独立, 等同 v1.0.x 行为) 3. Step 2-9 正常执行, 写到副本路径 **C · 跳过 (`mode=skip`)**: 1. 不执行任何抓取 2. 直接回复用户: `今日日报已存在 <路径> (上次 HH:MM 生成), 本次未重新生成。如需更新可说"生成今日 AI 日报 mode=update"。` 3. 任务结束 --- ## Step 1.5: Read recent 3-day digests for dedup baseline 读取 baseline 的两个来源: **(a) 过去 3 天的日报**: 如果 `~/Desktop/ai-news/` (或自定义默认目录) 下存在过去 3 天的 `YYYY-MM-DD.md` 命名文件, Read 提取标题列表 (不需要读全文)。 **(b) 同日旧版本** (仅当 Step 1.6 走 A 更新累积模式): Step 1.6.4 A.1 把当日旧版本归档到 `.archive/YYYY-MM-DD-HHMMSS.md`, **额外 Read 这份归档文件**提取标题, 一起合并进 baseline。这一步是为了让"更新累积"模式真正做到只列新增, 不重复 8 点版本已收录的条目。 合并 (a) + (b) 得到完整 baseline 标题列表。 Step 6.1 去重时, 把当天候选条目跟 baseline 对比, 标题语义相似度 ≥ 70% 的视为重复, 剔除。 过去 3 天若没有日报文件且当日没有旧版本, 跳过本步, 不影响后续流程。 --- ## Step 2: Fetch Tier 1 (English official, region-aware) WebFetch each source。**不同源用不同 prompt, 不要套统一模板**。**按 Step 1.1 解析的 region 跳过被墙源**。 ### 两个 region 都跑 (国际 + 国内裸连都可访问): 1. **Hacker News Front Page** · https://news.ycombinator.com/ - Prompt: `提取首页 top 30 stories 里 AI 相关的 (Claude/GPT/Gemini/LLM/Agent/RAG/MCP/embedding/foundation model/AGI/Anthropic/OpenAI/DeepSeek/Qwen/HuggingFace/diffusion/tokenizer/fine-tuning/reasoning model 等关键词), 每条返回 标题/URL/分数/comments 数/1 句要点` 4. **Latent Space** · https://www.latent.space/feed (RSS, 主页 WebFetch 抓不到列表) - Prompt: `提取 RSS feed 最新 3 篇文章, 每条返回 标题/URL/发布日期/1 句要点` ### 仅 region=intl 跑 (region=cn 跳过, 转靠 Step 5 WebSearch 补信号): 2. **Anthropic News** · https://www.anthropic.com/news - Prompt: `提取最新 5 篇 announcement, 每条返回 标题/URL/发布日期/1 句核心要点` - **region=cn 跳过** (中国大陆 GFW 阻断) 3. **OpenAI 动态** · ⚠️ openai.com/news/ 直接 WebFetch 会 403 → **两个 region 都改用 WebSearch** (在 Step 5 一并跑)。region=cn 不额外跳过 (本来就用 WebSearch) 5. **HuggingFace Blog** · https://huggingface.co/blog - Prompt: `提取最新 5 篇 blog post, 每条返回 标题/URL/发布日期/1 句要点` - **region=cn 跳过** (中国大陆 GFW 阻断); WebSearch 在 Step 5.1 有 "HuggingFace top releases this week" 配套, 仍能拿一手信号 ### 总结 - **region=intl**: 5 个英文源都跑 (HN + Anthropic + OpenAI* + Latent Space + HuggingFace) — *OpenAI 走 WebSearch - **region=cn**: 只跑 HN + Latent Space + OpenAI* (WebSearch), 跳过 Anthropic / HuggingFace WebFetch --- ## Step 3: Fetch Tier 2 (Chinese, must · all 9) WebFetch, 每个中文源单独写 prompt (不要套统一模板)。**全部 9 个源国内可访问 + 反爬不严 + 真实编辑团队 (无 SEO 聚合站), 两个 region 都跑**。 ### AI 一手报道 (4 个): - **量子位** · https://www.qbitai.com/ - Prompt: `提取首页今天最新的 5-10 条 AI 资讯文章, 每条返回 标题/URL/发布时间/1 句核心要点` - **机器之心** · https://www.jiqizhixin.com/ - Prompt: `提取首页今天最新的 5-10 条 AI 资讯, 每条返回 标题/URL/发布时间/1 句核心要点` - **智东西** · https://zhidx.com/ - Prompt: `提取首页今天最新的 5-10 条 AI / 自动驾驶 / 机器人 / 大模型相关资讯, 每条返回 标题/URL/发布时间/1 句核心要点` - **雷峰网 AI 频道** · https://www.leiphone.com/category/ai - Prompt: `提取页面今天最新的 5-10 条 AI 资讯 (含学术论文解读 + 行业深度), 每条返回 标题/URL/发布时间/1 句核心要点` ### 技术深度 (1 个): - **InfoQ 中国 AI 频道** · https://www.infoq.cn/topic/AI - Prompt: `提取页面上今天最新的 5-10 条 AI / Agent / LLM 相关技术深度文章, 每条返回 标题/URL/发布时间/1 句核心要点` ### 商业财经科技 (4 个, AI 占比高): - **36 氪 AI 频道** · https://36kr.com/information/AI/ - Prompt: `提取首页今天最新的 5-10 条 AI 类资讯, 每条返回 标题/URL/发布时间/1 句核心要点` - **钛媒体** · https://www.tmtpost.com/ - Prompt: `提取首页今天最新的 5-10 条 AI / 大模型 / Edge AI 相关资讯 (含 AGI 专栏 / Edge AI Daily 早报), 每条返回 标题/URL/发布时间/1 句核心要点` - **品玩** · https://www.pingwest.com/ - Prompt: `提取首页今天最新的 5-10 条 AI / 科技 / 商业资讯里 AI 相关的, 每条返回 标题/URL/发布时间/1 句核心要点` - **虎嗅前沿科技频道** · https://www.huxiu.com/channel/105.html - Prompt: `提取页面上今天最新的 5-10 条 AI / 大模型 / 科技公司动态相关文章, 每条返回 标题/URL/发布时间/1 句核心要点` 注: 9 个源全部经实测 (2026-05 验证), WebFetch 能拿到首页列表 + 不需要登录 + 反爬不严, 且都是真实编辑团队 (排除了 AI 工具集 / 极客公园 等 SEO 聚合站或反爬强的源)。 --- ## Step 4: Fetch Tier 3 (rotation pool · pick 2) 根据 Tier 1/2 抓到的内容判断今天的热点方向, 从下面候选里**挑 2 个最相关的**抓 (用通用模板)。**按 region 过滤可用候选**: | 源 | URL | 何时该选 | Region | |---|---|---|---| | Google AI Blog | https://blog.google/technology/ai/ | Tier 1 出现 Google/DeepMind 相关消息时 | **intl only** (cn 跳过, 被墙) | | TechCrunch AI | https://techcrunch.com/category/artificial-intelligence/ | 出现融资 / 商业 / 产品发布消息时 | 两个 region | | The Verge AI | https://www.theverge.com/ai-artificial-intelligence | 出现主流媒体级别热点时 | 两个 region | | One Useful Thing | https://www.oneusefulthing.org/ | 出现应用层 / 思想 / 评估方法时 | 两个 region | 通用 WebFetch prompt: `提取页面上最新的 5-10 条 AI 相关内容, 每条返回 标题/URL/发布时间/1 句核心要点` **保底规则** (完全没明显热点时): - **region=intl**: 默认选 `Google AI Blog` + `TechCrunch AI` (覆盖商业模型 + 融资) - **region=cn**: 默认选 `TechCrunch AI` + `The Verge AI` (Google AI Blog 被墙, 跳过) ⚠️ **注意**:Reddit 域名(www.reddit.com)被 Claude Code WebFetch 硬屏蔽,**不能直接抓**。当天若主题涉及开源/本地模型,在 Step 5 加 `r/LocalLLaMA top posts` 类关键词替代。 --- ## Step 5: Tier 4 · T+1 主体配套搜索 (WebSearch) 基于 T+0 直抓 / T+1 WebSearch 双引擎模式,主体源每个跑一条配套 WebSearch 抓**官方主页漏掉的 3 类内容**: 1. 子站 / 子页面发布(如 red.anthropic.com 的模型预览) 2. 第三方独家报道(TechCrunch / VentureBeat 类) 3. 被投资 / 被收购等"自己不发"的新闻 ### 5.1 主体配套搜索(必跑 5-6 个) 按 Tier 1/2 主体跑配套 WebSearch: | 主体 | 配套 WebSearch 关键词 | |---|---| | Anthropic | `Anthropic news this week 2026` 或 `Anthropic announcement latest` | | OpenAI(替代直抓 403) | `OpenAI announcement 2026 latest` | | HuggingFace | `HuggingFace top releases this week` | | Latent Space(补 RSS 不全) | `Latent Space podcast latest 2026` | | 国产开源动态 | `DeepSeek OR Qwen OR 小米 大模型 最新` | | Reddit 替代 | `r/LocalLLaMA top posts new model release` | ### 5.2 突发热点搜索(动态 2-3 个) 基于 Tier 1-3 抓到的信号,跑 2-3 个突发关键词: - 当天反复出现的公司/模型 → 跑该名字 - 例:`<某新模型> release` / `<某收购事件> details` **保底关键词**(完全没明显热点时): - `AI news today` - `Claude OR GPT OR Gemini latest` --- ## Step 6: Filter, dedupe, and choose authoritative link (T+0 优先) 整合 Tier 1-4 抓到的所有内容,做去重 + 链接择优 + 排序 + 筛选: ### 6.1 去重 + 链接择优(关键新规则) 同一新闻被多个引擎抓到 → **优先用 T+0 直抓的官方原文链接**,T+1 WebSearch 仅作交叉验证或备份。 **链接优先级**: 1. 🥇 T+0 直抓的官方源(anthropic.com / openai.com / huggingface.co 等) 2. 🥈 第一手报道(TechCrunch / Bloomberg / The Verge 等知名媒体的独家) 3. 🥉 二手解读 / 列表(VentureBeat / Fool / Releasebot 等聚合站) **去重逻辑**: - 标题/主题相似 → 合并为一条 - 保留信息最完整的描述 + 用最高优先级的链接 - **已经在 Step 1.5 baseline 里的 (语义相似度 ≥ 70%)** → 剔除, 不放入今天日报 - 在底部"参考来源"小字标注其他报道源(可选) **过滤掉**: - 纯 tutorial / 教程类 - 求 GitHub star 的项目 - 学术论文(没有产品落地暗示的纯研究) - 纯 listicle(top 10 / best of) **排序优先级**(从高到低): 1. 行业级影响(产品发布 / 公司战略 / 监管政策) 2. 技术新颖性(新架构 / 新方法 / 新模型) 3. 商业信号(融资 / 收购 / 合作) 4. 通用 curiosity 内容 **最终选 10-15 条**,分到 3 个 section: - 一、今日要闻 (5-8 条 · 信号最强) - 二、技术热点 (3-5 条 · 模型/工具/基础设施) - 三、行业动态 (3-5 条 · 商业/融资/公司动态) --- ## Step 6.5 · 信源可信度评估 + 事实核查(v3.1 新增 · 强制执行) **对 Step 6 筛选后的每条候选条目,先做信源评级,再决定是否保留**。 ### 6.5.1 三档评级 | 等级 | 定义 | 处理 | |---|---|---| | 🟢 **高可信** | T+0 直抓官方源,且原文有清楚表述支持你写的内容 | 直接保留 | | 🟡 **中可信** | T+1 多家媒体交叉报道,内容一致 + 来自白名单域名 | 必须 fetch 一次最权威的来源 verify · 通过则保留 | | 🔴 **低可信** | 单一 T+1 来源 / 营销夸张标题 / 来自黑名单域名 / 数字异常大 / Anthropic 官方 News 没列但二手有 | **默认剔除**,fetch verify 后能 verify 的升级为 🟡 | ### 6.5.2 域名白名单(可作 verify 源) **官方第一手**(.com/.cn 主域): - anthropic.com / openai.com / huggingface.co / deepseek.com / qwen.alibaba.com 等模型公司主域 - google.com / blog.google / aws.amazon.com 等云厂商 - github.blog(GitHub 官方) **知名媒体**(可作交叉验证): - 国际:Bloomberg / Reuters / TechCrunch / The Verge / WIRED / VentureBeat / CNBC / Axios / The Information - 国内:36 氪 / 量子位 / 机器之心 / 钛媒体 / 品玩 / 新浪财经 / 界面新闻 ### 6.5.3 域名黑名单(纯 SEO 站,不可信) **绝对不要使用,即使 WebSearch 返回**: - fazm.ai / aitooldiscovery.com / releasebot.io / felloai.com - letsdatascience.com / ghost.codersera.com / igmguru.com - techaimag.com / theneuron.ai 这类聚合 SEO 站 - 任何 .ai / .blog 后缀但作者匿名 / 无明确组织背景的站 - 任何子域名异常的"看似官方"页面(如 red.anthropic.com 这种 v3 实测被识别为虚构的) ### 6.5.4 数字与名称的合理性核查 **红旗信号**(出现就要重新 verify): - 数字异常大($100B+ 募资 / 万亿参数等) → 必须 fetch 官方公告确认 - 公司"全面换装"、"彻底颠覆"、"告别 X"等营销语 → 大概率是夸张标题 - 没听说过的产品名 + 没在官方 News 出现 → 可能是 SEO 投毒 - 同一新闻只有 1 个二手来源,没有任何官方/Tier 1 媒体跟进 → 可疑 ### 6.5.5 实战工作流 ``` 对每条候选条目: 1. 评级 → 🟢 / 🟡 / 🔴 2. 🔴 → 直接剔除 3. 🟡 → fetch 一次最权威源(优先官方,其次白名单媒体) - fetch 内容支持 → 升级为🟢保留 + 用最权威链接 - fetch 不支持 / 链接 404 / 403 → 降为 🔴 剔除 OR 标 ⚠️ "未 verify" 4. 🟢 → 直接保留 最终原则: - 宁可日报少 5 条都是 🟢/🟡 verified, - 也不要 19 条里有 6 条 🔴 未 verify(这就是 v3 翻车的具体场景) ``` ### 6.5.6 透明度规则: 必须在最终日报里标注每条的可信度 **Step 9 输出时, 每条新闻的标题末尾必须加一个 emoji 标可信度**: - 🟢 — 高可信 (T+0 官方源 + 原文支持你写的内容) - 🟡 — 中可信 (T+1 多家媒体交叉报道, 已 fetch verify 通过) - ⚠️ — 单一来源 / 未完全 verify (极特殊情况下保留的爆料, 不建议出现在精选日报) 注: 🔴 标记应在 Step 6.5.5 阶段就被剔除, **不应出现在最终日报**。 示例: - `### [Project Glasswing: An Initial Update](URL) 🟢` - `### [某条多家媒体报道但官方未确认](URL) 🟡` - `### [某条单源爆料](URL) ⚠️` 这个标注让用户一眼看出哪些是 T+0 verified 的硬信号, 哪些是 T+1 交叉验证的中可信, 读者可按可信度自己分级阅读, 不需要全盘信任每一条。 --- ## Step 6.7 · Fail-safe threshold check 按 region 不同, 阈值不同: - **region=intl**: Tier 1 (5 个英文官方源) 成功 < 2 个 → abort - **region=cn**: Tier 1 (HN + Latent Space, 仅 2 个) 全失败 + Tier 2 中文 (9 个) 成功 < 4 个 → abort 满足 abort 条件, 写入最简错误报告并退出, 不要继续到 Step 7-9: ```markdown # AI 资讯日报 · YYYY-MM-DD (生成失败) > Tier 1 抓取大量失败 [+ Tier 2 不足], > 为避免输出劣质日报误导用户, 任务终止。 **失败源**: - [源名] · 原因:[404 / timeout / robots / GFW 阻断 / 其他] - ... **成功源** (本来应该用上但单独不足以支撑): - [源列表] **建议**: - 检查网络 / 各源 URL 是否变化 / 你的 agent runtime fetch 工具能否访问被墙源 - 如果你在中国大陆 + 用非 Claude Code 的 agent (Cursor / Codex 等本地直连 fetch), 试试 `region=cn` 显式切换跳过被墙源 - 稍后重试 ``` 写入路径同 Step 1 (`~/Desktop/ai-news/YYYY-MM-DD.md` 或 `path=` 指定)。 **设计原则**: Tier 1 是这个 skill 的事实锚 (国际权威源)。region=intl 的 Tier 1 失守 → 输出全中文日报会误导; region=cn 的 Tier 1 本来就只有 HN/Latent Space 两个, 失守 + 中文不足 → 同样应该 abort 不出劣质日报。 --- ## Step 7: Translate English entries **英文源条目** 必须做以下处理: - ✅ 保留原英文标题作为 markdown 链接:`[Original English Title](URL)` - ✅ **下一行加** `**[中文译]**:` + 中文翻译标题 - ✅ 摘要(`**摘要**:`)用**中文**写,无论原文什么语言 - ✅ "为什么值得关注"(`**为什么值得关注**:`)用**中文**写 **中文源条目**: - 标题保持中文(不需要翻译,不需要 `[中文译]` 行) - 摘要保持中文 --- ## Step 8: Generate trend summary (3-5 themes) 读完所有筛选后的条目,识别 3-5 个底层主题。每个主题: - 一句加粗的中文主题句 - 一句中文解释这个跨条目的模式 - (可选)引用 1-2 条具体新闻作证据 **好主题的特征**: - 跨多条新闻的共同模式(不是单条新闻总结) - 揭示行业动向(不是表面描述) - 具体可验证(不是空泛感慨) **好主题示例**: - "**长上下文进入工业级**:Anthropic 1M + 国产玩家也在跟进,长文档类应用门槛大降" - "**Agent 评估工具开始独立成赛道**:LangFuse / Braintrust 都拿到融资" - "**国产模型在数学推理上进入第一梯队**:DeepSeek R1 + 腾讯混元 + 通义都在 GSM8K 接近 95%" **避免的坏主题**: - "AI 发展很快"(空泛) - "今天有很多 OpenAI 新闻"(描述不是判断) - "未来值得期待"(无信息量) --- ## Step 9: Write the markdown file 按以下完整格式写入文件: ```markdown # AI 资讯日报 · YYYY-MM-DD > 生成时间:YYYY-MM-DD HH:MM > 资讯源:HN / Anthropic / OpenAI / Latent Space / HuggingFace / 量子位 / 机器之心 / 36 氪 + 轮换 [X] / [Y] > 共 N 条精选 --- ## 一、今日要闻 (5-8 条) ### [Original English Title](URL) 🟢 **[中文译]**:中文翻译标题(英文源必填) **来源**:Anthropic News **摘要**:1-2 句中文摘要 **为什么值得关注**:1 句中文(可选) ### [中文原标题](URL) 🟢 **来源**:量子位 **摘要**:1-2 句中文摘要(中文源不需要 [中文译] 行) **为什么值得关注**:1 句中文(可选) --- ## 二、技术热点 (3-5 条) [同上格式] --- ## 三、行业动态 (3-5 条) [同上格式] --- ## 四、今日趋势总结 - **主题 1 · [简短主题词]**:一句话中文归纳跨条目的模式 - **主题 2 · [简短主题词]**:同上 - **主题 3 · [简短主题词]**:同上 --- **今日值得深读 (可选)**: - [文章标题](URL) —— 一句话中文推荐理由 --- **抓取失败记录**(如有): - [源名] · 原因:[404 / timeout / robots] --- *Generated by ai-news-digest skill · Tier 1+2 必查 · Tier 3 选用了 [X] / [Y]* ``` --- ## Step 10: Confirm to user 写完文件后,打印一句中文确认: ``` AI 资讯日报已生成: <完整路径> 共 N 条资讯 · M 个趋势主题 英文条目 X 条(已翻译) · 中文条目 Y 条 Tier 3 选用了:<两个源名> ``` --- ## Constraints (汇总) - 不要把全部抓到的内容塞进文件 —— 只保留 10-15 条精选 - 中文源保持原文 / 英文源必加 `[中文译]` 标题 + 中文摘要(用户主要诉求) - 不要重复总结同一新闻 - 摘要必须 ≤ 2 句话 - 趋势总结必须基于今天抓到的真实内容,**不要编造行业判断** - 单个 Tier 1/2 源抓取失败(404 / 超时 / robots 拦截)→ 在文件末尾"抓取失败"小节记录, 继续其他源 - **但** Tier 1 < 2 个源成功 → 触发 Step 6.7 abort, 不要继续 Step 7-9 - URL 必须是真实抓到的,不要凭记忆构造 - 标题必须忠于原文(英文翻译要准,不要发挥) - **每条新闻标题末尾必须标可信度 emoji** (🟢 / 🟡 / ⚠️, 见 Step 6.5.6); 🔴 应在 Step 6.5.5 剔除阶段处理而不是出现在日报 - **同日重跑必须走 Step 1.6 决策树** (mode 参数 → 交互询问 → 非交互默认 A), 不要直接覆盖或直接 -second.md - **跨 runtime 兼容**: Claude Code / Cursor 等交互式 runtime 询问用户; Codex / cron / API 等非交互 runtime 默认 A (更新累积) - **region 参数必须被 Step 2/4/6.7 尊重**: region=cn 时严格跳过 Anthropic / HuggingFace WebFetch / Google AI Blog, 不要"试试看" - **9 个 Tier 2 中文源必抓 (两个 region 都跑)**, 单源失败容忍 (记录到失败小节), 但成功 < 4 个 + region=cn → 触发 Step 6.7 abort --- ## 调用示例 ### 基础触发 (任一种说法都行) ``` 生成今日 AI 日报 今天有什么 AI 新闻 用 ai-news-digest 跑一下今天的资讯 ``` ### 自定义输出路径 ``` ai-news-digest path=/path/to/custom.md 生成今日 AI 日报 path=~/Documents/digests/today.md ``` ### 同日重跑显式模式 (跳过 Step 1.6 询问) ``` 生成今日 AI 日报 mode=update # 更新累积 (覆盖旧版 + 归档) 生成今日 AI 日报 mode=snapshot # 新建副本 -second.md 生成今日 AI 日报 mode=skip # 跳过本次, 看上次的就行 ``` ### Region 参数 (中国大陆 / 海外) ``` 生成今日 AI 日报 region=cn # 跳过 Anthropic/HuggingFace/Google 等被墙源, 靠 HN+Latent Space+9 个中文源 生成今日 AI 日报 region=intl # 默认, 全 Tier 1+2+3 跑 ``` ### 等价自然语言 (无需记参数名) ``` 生成今日 AI 日报, 不要覆盖之前的 # = mode=snapshot 今天 AI 新闻, 合并到现有日报里 # = mode=update ai-news-digest, 看看上次的就行 # = mode=skip 生成今日 AI 日报, 我没开 VPN # = region=cn 今天的 AI 新闻, 国内网络 # = region=cn ``` ### cron / 自动化调用 (非交互场景) 非交互式 runtime 调用本 skill 时, 同日重跑会自动走 mode=update (Step 1.6 默认 A)。如果想要别的行为, 必须在 trigger 里显式带 `mode=` 参数: ```bash # cron 每天早晚各跑一次, 用 update 模式累积 @daily echo "生成今日 AI 日报 mode=update" | claude-code ``` Claude 基于 description 自动识别意图 + 解析参数 + 调用本 skill。


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: suspicious (HIGH)