news-catcher
SKILL.md
News Catcher 新闻抓取技能
功能概述
使用 Team 模式(主代理 + 子代理) 并行抓取多个网站的新闻内容,每个子代理负责一个网站,提取并总结新闻(50字左右),最后由主代理汇总输出。
工作流程
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐
│ 读取配置 │ --> │ 创建子代理 │ --> │ 并行抓取各网站 │
│ (websites) │ │ (每个网站一个) │ │ (Playwright) │
└─────────────┘ └──────────────┘ └─────────────────┘
│
v
┌─────────────┐ ┌──────────────┐ ┌─────────────────┐
│ 输出结果 | <-- │ 主代理汇总 | <-- │ 子代理返回摘要 |
│ (Markdown) │ │ (整理排序) │ │ (50字总结) |
└─────────────┘ └──────────────┘ └─────────────────┘
使用步骤
按照以下流程执行:
步骤 1: 读取配置
主代理获取网站列表文件websites.txt
步骤 2: 创建子代理并行抓取
为每个网站创建一个子代理,并行执行,每个网站抓取前5个新闻
步骤 3: 子代理工作流程(每个子代理执行)
子代理阅读 agents/news-fetcher.md 后执行:
- 访问网站: 使用 Playwright MCP 访问指定 URL
- 提取新闻: 获取新闻标题、链接、摘要等信息
- 总结内容: 将每条新闻总结为 50字左右 的摘要
- 返回结果: 按指定格式返回抓取结果
步骤 4: 主代理汇总输出
收集所有子代理的结果,整理并输出:
- 收集结果: 汇总所有子代理返回的新闻摘要
- 去重排序: 按时间或重要性排序,去除重复内容
- 格式化输出: 生成 Markdown 格式的汇总报告
- 报告缓存位置:报告缓存在~/.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
Repository
xxxcoffee/shareskillsFirst Seen
9 days ago
Security Audits
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1