mcpField
N
news-monitor

news-monitor

github.com/cyranob生产力1064 次安装3 周前更新
代码仓库

关于 news-monitor

这项 Skill 用于整理近期新闻并生成按时间排序的简报,流程涵盖搜索不同事件、核对日期及阅读每条入选新闻的来源。它还规定了备用工具的用法,并要求说明覆盖缺口。

主要功能

  1. 01搜索新闻并补足报道缺口
  2. 02设定主题与时间范围
  3. 03合并重复事件并核对日期
  4. 04为每条发布的事件阅读来源
  5. 05说明工具不可用或覆盖不完整

适用场景

  1. 01整理当前主题的新闻简报
  2. 02追踪指定时间段内的进展
  3. 03核实每条入选事件的来源
  4. 04说明搜索或网页访问失败造成的缺口

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cyranob/web-forager --skill news-monitor

安装后在 Claude Code 中输入/news-monitor确认已加载。

附带文件source-access.md

详细介绍

新闻监测

寻找近期发生的不同事件,为每个已发布事件阅读来源,并按时间顺序提供简报。

工具

使用工具前,请完整阅读 source-access.md。

使用可用的新闻搜索工具,并优先选择名称以 duckduckgo_news_search 结尾的工具。仅在填补覆盖缺口时使用名称以 duckduckgo_search 结尾的常规搜索工具。使用以 web_fetch 结尾的抓取工具阅读网页。 客户端添加的前缀各不相同,因此请检查本次会话中的工具。

如果会话中没有工具,请在隔离环境中运行打包的 CLI:

uvx --python '>=3.10,<3.14' web-forager news "your query" --max-results 10 --output-format json
uvx --python '>=3.10,<3.14' web-forager fetch "https://example.com" --format markdown

如果 uvx 无法运行打包的新闻搜索,请使用 ddgs,且不要触碰当前项目环境:

uv run --no-project --python '>=3.10,<3.14' --with 'ddgs>=9.5.2' python - <<'PY'
from ddgs import DDGS
results = DDGS().news(query="your query", max_results=10)
for r in results:
    print(r["date"], r["title"], r["url"], r["source"])
PY

如果打包的网页抓取失败,请使用 Jina Reader:

curl -s "https://r.jina.ai/https://example.com"

如果 YouTube 字幕抓取失败,请说明访问缺口,不要转发视频 URL。

此工作流要求同时进行搜索和抓取;若其中任何一项不可用,请说明缺少什么。

工作流

1. 设定时间范围

明确主题、时间范围和角度。用户指定了时间范围时,按其要求执行;否则覆盖过去 2–4 周。只有在尚未解决的歧义会实质性改变搜索时才提问。

完成条件: 明确纳入范围的时间窗口和主题边界。

2. 搜索事件

先进行 1–2 次角度不同的新闻搜索,并在适当时加入 [current year]。选定报道前,先合并搜索结果。检查结果在所请求时间段内的分布、相关子主题以及独立媒体来源。如果结果集中在同一日期、媒体或子主题,则使用更窄的时间段、针对性查询和一手公告扩展搜索。使用常规搜索弥补覆盖缺口,包括新闻搜索服务提供商故障造成的缺口。将失败的搜索与成功但无匹配结果的搜索分开记录。事件数量是呈现目标,并不能证明发现工作已完成。

完成条件: 已搜索相关子时段和子主题,后续查询大多重复已知事件,并明确说明任何剩余覆盖缺口或工具故障。只有在能够证明某个狭窄主题已被穷尽时,一次查询才足够。

3. 去重与筛选

将有关同一事件的报道归为一组,并记录事件日期和发布日期。根据实际进展日期筛选,再为每个事件选出最佳候选来源。近期转载或回顾报道不会使旧事件成为新事件。只有当披露本身是在时间窗口内发生的重大进展时,才纳入新近披露的历史事件;并将其标为新披露,区分披露日期与相关事件的发生日期。目标为 3–7 个不同事件。

完成条件: 每个保留条目都代表一个在时间窗口内发生的不同事件,并列出进展日期、单独的发布日期和候选来源。未知日期应明确标注;没有证据支持其在时间窗口内发生进展的条目,应保留为候选项,直到阅读来源后确认日期,或将其省略并记录覆盖缺口。

4. 阅读每个已发布事件的来源

为简报中纳入的每个事件至少抓取并阅读一个权威来源,包括标题和单行补充进展。优先选择一手公告和直接报道。搜索摘要只能用于发现标题,不能作为解释性主张的证据。如果某个事件的来源无法阅读,请替换该事件,或将其省略并记录覆盖缺口。

完成条件: 每个已发布事件至少有一个已抓取的来源,可支持其发生了什么、进展日期、重要性以及任何已说明的下一步。在保留事件前,根据已阅读的来源重新核对其是否符合时间窗口。

5. 撰写简报

按发展日期从近到远排列;对于新近报道的历史事件,使用披露日期,并注明事件实际发生日期或其不确定性。 默认简报使用单一事件列表:

  • 覆盖时段、当前更新日期,以及一句话总结;
  • 3–5 个优先事件,每个事件包含标题和 1–2 句带引用的说明,涵盖发生了什么以及为何重要;
  • 如有其他重要事件,以附带引用的一行补充进展呈现;
  • 简短的“关注事项”部分,内容依据有来源支持的后续事件或未解决线索。

仅当用户要求全面覆盖,或某个事件需要更多细节才能避免误导性摘要时,才使用扩展简报,为每个事件撰写 2–4 句。每个事件标题同时作为导航标题和详情标题,因此每个事件只出现一次。

如果成功发现并筛选后没有重要进展,请说明这一点并给出搜索时段。如果存在失败或未读取的来源,导致无法充分覆盖,请说明覆盖不完整,而不要断言该时段没有重要进展。

**完成标准:**所有事件均各不相同且处于覆盖时段内;每个事件及解释性陈述均引用已读取的来源;日期明确;推断均有标注。

评论

支持 Markdown