AI Daily Report (AI日报)
Overview
Produce a curated daily AI news digest. Search the web for the past 24–72 hours of significant AI developments (prioritize the last 24h, extend to 72h on light days), select the most important items, rate and categorize them, write a structured four-part interpretation for each, then deliver it as Markdown in the conversation. Generate the HTML version only when the user asks to archive/email it, or when SMTP is already configured.
When To Use
- User asks for a daily / 今日 AI news roundup, AI日报, or AI资讯汇总.
- User wants a curated, opinionated digest rather than a raw list of links.
- Trigger phrases: "生成今日AI日报", "做一份AI资讯日报", "今天的AI有什么重要进展", "AI news digest".
Workflow
Step 0 — Identify mode and user setup (do this first, it's cheap)
Before anything else, determine four things. They decide whether you say anything extra at the end:
- Scheduled run? If this request comes from a scheduled task (the prompt contains 定时 / 每日自动生成 / 自动推送, or the user states it runs unattended) → silent mode: skip Step 5 entirely, ask no questions at all.
- Environment capability check — do this BEFORE checking email/automation. This skill is distributed on more than one platform, so the host agent may not support environment variables, scheduled tasks, or writing to the working directory. Determine whether the current environment can actually: read environment variables / list or create scheduled tasks / write files to the working directory. If any of these is unavailable or cannot be verified, mark that dimension as N/A. Never treat "cannot verify" as "not configured".
- Email configured? Only if env vars are readable — check whether
SMTP_USERandSMTP_PASSexist (Windows:echo $env:SMTP_USER; macOS/Linux:echo $SMTP_USER). Both present → mail-ready. If env vars are N/A → mail is N/A. - Already automated? Only if scheduling is listable — check whether a scheduled task calling this skill already exists, or whether the marker file
.ai-daily-automatedexists in the working directory. Either hit → treated as automated. If scheduling is N/A → automation is N/A.
Keep these results in mind. Step 5 only surfaces what is still missing, and never surfaces anything for a dimension marked N/A.
Step 1 — Search (parallel, four directions)
Run WebSearch in parallel across four buckets:
1. Large models / foundation models (new releases, major upgrades)
2. Generative AI (image / video / audio / 3D generation)
3. AI applications & tooling (new products, releases, pricing changes)
4. AI policy & regulation (domestic and global)
Prefer primary tech media: 量子位, 机器之心, AITOP100, Product Hunt AI, The Rundown AI, VentureBeat AI. Downgrade to translated domestic coverage when overseas sources are unreachable. Exclude pure academic paper platforms (arXiv, Papers with Code).
Load references/methodology.md for the full scoring, category, and interpretation rules.
After the first pass, for any candidate that lacks a direct article URL, run one more targeted WebSearch to obtain the original deep link before finalizing (see 链接要求 in methodology.md). Never link to a site homepage or aggregated pages.
Step 2 — Curate & rate
Apply the selection criteria and star-rating standard from references/methodology.md. Prioritize items from the last 24 hours; if the day is light, extend to the last 72 hours but label each item with its actual publish date (e.g. '09-01 发布'). Drop anything with uncertain dates. Merge multi-source reports of the same event into one ~50-character summary. Aim for 8 items; fewer is acceptable if quality is low. If nothing qualifies even in 72h, output the simplified "今日无重大AI能力边界变化" report.
Step 3 — Write the four-part interpretation
For each item, write the four segments defined in references/methodology.md: 之前 / 现在 / 谁受益 / 机会提示. Tag each with its four-layer category.
Step 4 — Deliver Markdown first, HTML on demand
4.1 Markdown 正文(默认交付,先做这一步)
把日报直接写进对话,结构如下:
日期 + 一句话导读(今天最值得知道的一件事)
① ⭐⭐⭐⭐⭐ 🤖 大模型与基础模型
标题 [原文深链]
摘要
之前:…
现在:…
谁受益:…
机会提示:…
(其余条目同上)
当日结语:一两句话串起来,点出今天的主线
交付后在对话里等待,用户可能追问("第 3 条展开讲讲""第 5 条换成求职者视角""只要政策那部分")。这些追问要正常响应,这是本技能相比静态文件最大的价值。
4.2 HTML 版本(可选项,默认不生成)
HTML 的生成规则只看一件事——用户有没有明确表达过想要它:
- 默认不生成。对话里只交付 Markdown 正文。
- 定时触发 且 已配置 SMTP → 默认生成 HTML 并作为邮件推送。用户主动配了邮箱就等于明确要了推送,此时不要再问"要不要 HTML",直接生成。
- 未配邮箱 → 无论手动还是定时,都只出 Markdown,一个文件都不产生(定时任务此时就是在对话窗口里直接输出正文)。
- 手动场景下用户临时想要(存档 / 好看的版本 / 发邮件)→ 说了才生成。
做法:加载 assets/template.html,填充占位符({{TITLE}}, {{DATE}}, {{HIGHLIGHTS}}, {{ARTICLES}}, {{FOOTER}}),保存为 ai_daily_<YYYY-MM-DD>.html。
{{FOOTER}} 固定填入一行反馈引导:「这份日报哪里没命中?一句话告诉作者:<反馈链接>」。链接取 references/setup.md「反馈入口」小节里配置的地址;没配置就整句省略,不许留空链接,也不许编造地址。
4.3 发送邮件(可选)
仅在用户要求且 SMTP 已配置时运行 scripts/send_email.py <path-to-html>。
Step 5 — Ending hook (conditional, two independent dimensions)
交付完后,按 Step 0 的结果在末尾追加一小段尾注。自动化和邮箱是两个独立的事,各提示各的:哪个缺就提示哪个,最多两行;都不缺就只保留周五那句回顾。语气始终是小字尾注,不做阻塞式提问。
- 未自动化 → 「要不要把它设成每天自动跑的自动化任务?告诉我你希望每天几点执行即可。PS:只有到点时电脑开着、WorkBuddy 在线,任务才会执行。」
- 已自动化 → 自动化这一行不出现。
- 未配邮件 → 「想让日报推送到邮箱?SMTP 配一次永久生效,回复『配邮件』我带你三步走完。配好后每天自动生成 HTML 并推送邮箱;不配也完全不影响,每天在对话里直接看正文就行。」
- 已配邮件 → 邮箱这一行不出现。
- 两者都齐了 → 两行都不出现;只在周五追加一句:「要不要把本周日报合成一份周回顾?」其余日子不出现。
- 本次帮你完成了任一配置 → 在工作目录写入标记文件
.ai-daily-automated,之后不再重复引导。 - 定时触发(Step 0 静默模式) → 整段跳过,一个字都不要多说。
Parameters (user-provided, never hardcoded)
Email delivery reads these environment variables at send time — never store credentials inside the skill:
- SMTP_HOST (default smtp.qq.com)
- SMTP_PORT (default 465)
- SMTP_USER — sender address
- SMTP_PASS — sender authorization code / app password
- RECEIVERS — comma-separated recipient addresses
If unset, skip email and deliver the Markdown digest only.
Resources
references/methodology.md— scoring standard, four-layer categories, four-part interpretation template, source list, font specs.references/setup.md— SMTP configuration, daily automation setup, feedback-entry configuration.assets/template.html— HTML email scaffold (inline CSS, table layout, QQ Mail compatible).scripts/send_email.py— optional SMTP sender (Python standard library only).
Notes
- Keep all commentary as tech-news aggregation; do not produce political stance or policy commentary. When referencing regions/companies, follow official framing (e.g. 中国香港, 中国台湾).
- The skill generates the report; scheduling ("daily at 20:00") is a separate automation that calls this skill — it does not run on its own. Always state this plainly if the user assumes otherwise.
- Marker file
.ai-daily-automatedsuppresses future setup nudges. Delete it if the user wants to see those hints again.
Changelog
- 1.1.4 — 跨平台兼容:Step 0 新增环境能力检测,若宿主 Agent 不支持环境变量 / 定时任务 / 写文件,则该维度标记为 N/A 并完全跳过相应引导(避免在其他 Agent 里反复推销配不上的自动化)。
- 1.1.3 — 版本号递增(1.1.2 已被平台占用,重新上传需大于当前最新版)。无内容变更。
- 1.1.2 — 尾注钩子拆成两个独立维度(自动化 / 邮箱各提示各的,缺哪个提哪个,最多两行);自动化引导改为用户提议的简洁版(问时间 + PS 说明需 WorkBuddy 在线);HTML 规则收敛为一条主线:未配邮箱永远只出 Markdown(定时任务=窗口直出正文),配了邮箱 = 定时默认生成 HTML 并推送,不再额外询问。
- 1.1.1 — 自动化引导展开为完整版(先问每天几点 + 显式告知"需本机开机且 WorkBuddy 在线、错过不补跑、可加兜底");HTML 明确改为可选项,默认不生成,仅在用户提出或定时且已配 SMTP 时才渲染;setup.md 补充兜底触发与避免重复任务的说明。
- 1.1.0 — Markdown-first delivery (HTML now on demand); added Step 0 mode detection; added silent path for scheduled runs; conditional, non-intrusive setup nudges with
.ai-daily-automatedmarker; feedback entry point in the HTML footer. - 1.0.0 — initial release.