
关于
基于预设 URL 列表抓取内容,过滤高质量技术信息,生成每日 Markdown 报告。
name: daily-news-report description: "基于预设 URL 列表抓取内容,过滤高质量技术信息,生成每日 Markdown 报告。" risk: unknown source: community date_added: "2026-02-27"
每日新闻报告 v3.0
架构升级:主代理编排 + 子代理执行 + 浏览器抓取 + 智能缓存
核心架构
┌─────────────────────────────────────────────────────────────────────┐
│ 主代理(编排器) │
│ 角色:调度、监控、评估、决策、聚合 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 1. 初始化 │ → │ 2. 分发 │ → │ 3. 监控 │ → │ 4. 评估 │ │
│ │ 读取配置 │ │ 分配任务 │ │ 收集结果 │ │ 过滤/排序 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 5. 决策 │ ← │ 够20条? │ │ 6. 生成 │ → │ 7. 更新 │ │
│ │ 继续/停止 │ │ 是/否 │ │ 报告文件 │ │ 缓存统计 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────────┘
↓ 分发 ↑ 返回结果
┌─────────────────────────────────────────────────────────────────────┐
│ 子代理执行层 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Worker A │ │ Worker B │ │ Browser │ │
│ │ (WebFetch) │ │ (WebFetch) │ │ (Headless) │ │
│ │ Tier1 批次 │ │ Tier2 批次 │ │ JS 渲染 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ ↓ ↓ ↓ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 结构化结果返回 │ │
│ │ { status, data: [...], errors: [...], metadata: {...} } │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘
配置文件
此技能使用以下配置文件:
| 文件 | 用途 |
|------|---------|
| sources.json | 源配置、优先级、抓取方法 |
| cache.json | 缓存数据、历史统计、去重指纹 |
执行流程详情
阶段 1:初始化
步骤:
1. 确定日期(用户参数或当前日期)
2. 读取 sources.json 获取源配置
3. 读取 cache.json 获取历史数据
4. 创建输出目录 NewsReport/
5. 检查是否存在部分报告用于恢复
阶段 2:分发任务
主代理将源分配给子代理工作者:
- Tier 1 源(高优先级)优先处理
- 每个工作者处理一批 URL
- 需要 JS 渲染的源路由到浏览器工作者
阶段 3:监控和收集
- 跟踪每个工作者的进度
- 收集结构化结果
- 处理超时和错误
阶段 4:评估和过滤
质量过滤标准:
- 内容长度 > 200 字
- 与技术/AI/开发相关
- 非重复(与缓存中的指纹比较)
- 时效性(24 小时内)
阶段 5:决策
- 如果高质量文章 >= 20 条:停止抓取,进入生成
- 如果 < 20 条:继续处理 Tier 2 源
- 如果所有源已处理但 < 20 条:使用可用内容生成
阶段 6:报告生成
输出格式:
# 每日技术新闻 - YYYY-MM-DD
## 头条
1. [标题](url) - 一句话摘要
## AI & 机器学习
- ...
## 开发工具
- ...
## 开源
- ...
阶段 7:缓存更新
- 保存文章指纹用于去重
- 更新源可靠性统计
- 记录执行元数据
源配置示例
{
"sources": [
{
"name": "Hacker News",
"url": "https://news.ycombinator.com",
"tier": 1,
"method": "webfetch",
"selector": ".titleline > a"
},
{
"name": "TechCrunch",
"url": "https://techcrunch.com",
"tier": 2,
"method": "browser",
"requires_js": true
}
]
}
限制
- 仅在任务明确匹配上述范围时使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少所需的输入、权限、安全边界或成功标准,请停下来寻求澄清。
兼容工具
Claude CodeCursor
标签
AI与机器学习