news-catcher

SKILL.md

News Catcher 新闻抓取技能

功能概述

使用 Team 模式(主代理 + 子代理) 并行抓取多个网站的新闻内容,每个子代理负责一个网站,提取并总结新闻(50字左右),最后由主代理汇总输出。

工作流程

┌─────────────┐     ┌──────────────┐     ┌─────────────────┐
│  读取配置    │ --> │ 创建子代理    │ --> │ 并行抓取各网站   │
│ (websites)  │     │ (每个网站一个) │     │ (Playwright)    │
└─────────────┘     └──────────────┘     └─────────────────┘
                                                v
┌─────────────┐     ┌──────────────┐     ┌─────────────────┐
│  输出结果    | <-- │  主代理汇总   | <-- │  子代理返回摘要  |
│  (Markdown) │     │  (整理排序)   │     │  (50字总结)     |
└─────────────┘     └──────────────┘     └─────────────────┘

使用步骤

按照以下流程执行:

步骤 1: 读取配置

主代理获取网站列表文件websites.txt

步骤 2: 创建子代理并行抓取

为每个网站创建一个子代理,并行执行,每个网站抓取前5个新闻

步骤 3: 子代理工作流程(每个子代理执行)

子代理阅读 agents/news-fetcher.md 后执行:

  1. 访问网站: 使用 Playwright MCP 访问指定 URL
  2. 提取新闻: 获取新闻标题、链接、摘要等信息
  3. 总结内容: 将每条新闻总结为 50字左右 的摘要
  4. 返回结果: 按指定格式返回抓取结果

步骤 4: 主代理汇总输出

收集所有子代理的结果,整理并输出:

  1. 收集结果: 汇总所有子代理返回的新闻摘要
  2. 去重排序: 按时间或重要性排序,去除重复内容
  3. 格式化输出: 生成 Markdown 格式的汇总报告
  4. 报告缓存位置:报告缓存在~/.local/newsCache下

输出格式

主代理输出的 Markdown 格式:

# 新闻汇总报告

生成时间:2024-01-15 14:30

## 汇总概览

共抓取 3 个网站,获取 15 条新闻

---

## Hacker News (news.ycombinator.com)

1.标题 - 摘要总结(50字)
2.标题2 - 摘要总结(50字)

## TechCrunch (techcrunch.com)

1.标题 - 摘要总结(50字)
2.标题2 - 摘要总结(50字)

---

*由 News Catcher 自动生成*

子代理输出格式

每个子代理返回的 JSON 格式:

{
  "domain": "news.ycombinator.com",
  "url": "https://news.ycombinator.com",
  "fetch_time": "2024-01-15 14:30",
  "articles": [
    {
      "title": "新闻标题",
      "link": "https://example.com/article",
      "summary": "50字左右的新闻摘要...",
      "time": "2024-01-15 10:00"
    }
  ],
  "count": 5
}

依赖安装

pip install playwright
playwright install chromium

注意事项

  • 请遵守目标网站的 robots.txt 和爬虫政策
  • 子代理并行执行提高效率,但注意控制并发数量
  • 部分网站可能需要额外的等待时间让 JavaScript 渲染完成
  • 新闻摘要控制在 50 字左右,保持简洁
Weekly Installs
1
First Seen
9 days ago
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1