News Fetch
用于一次性抓取“最近7天”的重大国际事件/政策/AI Agent 动态,并落库到 news 模块。
工作流(保持简洁)
- •
动态日期锚定
- •以系统当前日期为 T,窗口为 T-7 至 T(含首尾)
- •
确认范围
- •默认范围:国际冲突、贸易政策、中国政策、AI/Agent(含公司/实验室/论文)
- •默认关注实体:OpenAI、Google/DeepMind、阿里、字节、腾讯、智谱、清华相关实验室、幻方量化
- •若用户指定主题(例如“Agent 论文”),以用户主题为主,并加入
scope.topics - •任务结束后将新增主题写回本技能的默认 topics 清单(保证下次可复用)
- •
多路并行检索(按 Topic 拆分 Query)
- •必须使用
web.run,时间窗限定最近 7 天 - •每个 topic 单独构建查询,避免热点霸屏
- •AI 领域优先:公司官方博客/研究发布 + arXiv
- •政策领域优先:政府官网/央行/监管机构/权威媒体
- •必须使用
- •
候选列表 → 精选集合(List + Set)
- •先将检索结果放入“待看 list”(仅收集标题/日期/来源链接)
- •逐条阅读并判断是否纳入“提炼 set”
- •set 采用语义去重(AI 判定是否同一事件)
- •
语义去重(Smart Dedupe)
- •读取
workspace/records/news/news.jsonl历史记录 - •由 AI 判断是否为同一事件(允许标题/日期轻微差异)
- •来源权威度更高者优先保留
- •写入
dedupe字段(策略+剔除数量)
- •读取
- •
原子化写入(Atomic Storage)
- •每条新闻单独写一条
news记录(便于检索/RAG) - •不写
news_digest,仅保留原子化条目 - •使用
recorder脚本:record_jsonl.py --record-type news - •推荐通过
--extra写入结构化内容
- •每条新闻单独写一条
- •
News Fetch 自用 TODO
- •每次调用 News Fetch,都先基于模板更新
workspace/records/news/news-fetch_todo_list.md - •清单至少包含:分 Topic 检索、去重、写入 news、补充 coverage_gap、产出摘要
- •完成后将 TODO 归档到
workspace/records/news/news_archive/YYYY/MM/DD/news-fetch_todo.md
- •每次调用 News Fetch,都先基于模板更新
- •
List / Set 文件位置
- •待看 list:
workspace/records/news/staging_candidates.jsonl - •提炼 set:
workspace/records/news/curated_set.jsonl
- •待看 list:
- •
归档 List / Set(完成任务后)
- •将
staging_candidates.jsonl与curated_set.jsonl归档到:- •
workspace/records/news/news_archive/YYYY/MM/DD/staging_candidates.jsonl - •
workspace/records/news/news_archive/YYYY/MM/DD/curated_set.jsonl
- •
- •归档完成后再重置两个文件为空白(保留文件)。
- •将
最小可执行步骤(PowerShell)
powershell
# 1) 初始化/清空 list 与 set "" | Set-Content -Path "workspace/records/news/staging_candidates.jsonl" -Encoding utf8 "" | Set-Content -Path "workspace/records/news/curated_set.jsonl" -Encoding utf8 # 2) 初始化 TODO @' # News Fetch TODO - 分 Topic 检索 - 语义去重 - 写入 news(原子化) - 补充 coverage_gap - 产出摘要(可选) '@ | Set-Content -Path "workspace/records/news/news-fetch_todo_list.md" -Encoding utf8
推荐记录结构(news)
json
{
"date": "YYYY-MM-DD",
"category": "AI 自动判定(可随主题变化)",
"summary": "...",
"tags": ["news", "ai", "agent"],
"sources": [{"name":"...","url":"..."}],
"entities": ["..."],
"source_rank": "official|media|preprint"
}
记录示例(PowerShell)
powershell
$extra = @'
{"time_window":{"start":"2026-01-13","end":"2026-01-19","timezone":"local"},"scope":{"topics":["国际冲突","贸易政策","中国政策","AI与Agent"],"entities_watch":["OpenAI","Google/DeepMind","阿里","字节","腾讯","智谱","清华相关实验室","幻方量化"]},"dedupe":{"strategy":"title+source+date","dropped":0}}
'@
python .\\.codex\\skills\\recorder\\scripts\\record_jsonl.py --record-type news --title "单条新闻标题" --summary "单条新闻摘要" --tags "news,ai,agent" --module "news" --source "web" --extra $extra