科研论文追踪雷达
概述
为任意研究主题建立一条可复用的文献追踪流水线:定期从开源学术数据库抓取新论文 → 增量去重 → 综合排序精选 → 下载 PDF → 从严幻觉审计 → 生成中文综述 → 累积到 CSV/HTML → 推送到用户的微信通道 → 建立定时任务。
本技能把"一次性抓几篇论文"升级为"可持续运行、可累积、可推送、防幻觉"的追踪系统。
何时使用
- 用户要求追踪某方向的文献、建立"文献雷达/文献追踪/论文订阅"。
- 用户要求"每天/每周推送新论文并生成中文综述"。
- 用户要求把文献追踪结果推送到微信。
- 用户已有本技能生成的目录,要求"运行今天的追踪"。
首要原则(必须遵守)
-
参数必须由用户输入,不得写死。
主题(topic)、数据源(sources)、每次篇数(max_select)、定时时间与频率、微信 clawbot 工作目录(push.claw_dir)——这几项每台机器/每个用户都可能不同,首次必须逐项向用户采集。不要预设"每天 22:00""AI for Science"或某个固定 Claw 路径。 -
幻觉审计从严:只要有疑问,一律不予采纳。
机器初筛(audit_papers.py)标为suspect的,直接剔除、换选;最终每篇都必须由 agent 用 WebFetch 打开官方来源页逐字比对标题、作者、摘要后才可采信。宁可少推,不可推错。 -
数据源按主题推荐、由用户确认。
先读references/data_sources.md,据主题给出 2~4 个推荐源与理由,请用户确认后再写入配置。 -
不虚构任何论文、作者、单位、数据。 来源未提供的(如 arXiv 作者单位),如实标注,禁止猜测。
首次配置流程(当目录不存在 / 用户首次使用)
按顺序向用户采集以下信息(可用一次 AskUserQuestion 合并提问,但每项都要给出默认建议):
| # | 采集项 | 说明 | 写入 |
|---|---|---|---|
| 1 | 追踪主题 | 如 "AI for Science"、"embodied cognition"、"大模型可解释性" | topic |
| 2 | 数据源 | 据主题推荐(见 references/data_sources.md),由用户确认 |
sources |
| 3 | 每次篇数 | 1~N,宁缺毋滥(默认建议 3) | max_select |
| 4 | 更新频率与时间 | 如"每天 22:00""每周一 9:00" | 用于建自动化(非脚本字段) |
| 5 | 微信推送方式与目录 | claw(需用户提供本机 clawbot 可读目录绝对路径)/ 企业微信 webhook / Server酱 / PushPlus | push |
同时确定工作目录(建议 <当前工作区>/科研文献追踪/),把 scripts/ 下的脚本与 assets/radar_config.example.json 复制过去,按上表生成 radar_config.json。
运行流程(每次追踪)
> 所有命令中的 <PY> 为可用 Python 解释器,<DIR> 为工作目录。
步骤 1 — 抓取与选取
cd <DIR>
<PY> scripts/fetch_papers.py --config radar_config.json
- 产出
_data/selected.json(入选 1~N 篇)、_data/candidates.json(完整候选池)、_data/checkpoint.json(去重基线);下载 PDF 到pdfs/。 - 若
selected为空:本轮无新增,结束,不推送。 - 若自动选取质量不佳(混入离题/低质项):查看
_data/candidates.json,挑选最相关最高质的几篇,用--ids覆盖:
bash <PY> scripts/fetch_papers.py --config radar_config.json --ids "arxiv:2609.30133,doi:10.1234/abc"
首轮建议采用此人工策划模式,确保基线质量。
步骤 2 — 幻觉审计(从严,两级)
<PY> scripts/audit_papers.py --write
- 机器核验:标识符完整性、官方页可解析、标题一致性、日期合理性、摘要非空。标
suspect的一律剔除。 - 人工确认(不可省略):对每篇
verified的文献,用 WebFetch 打开source_link,逐字比对页面上的标题、作者列表、摘要与selected.json是否一致;页面须真实存在、非错误页。任一不符 → 剔除,回到步骤 1 用--ids换选。
步骤 3 — 撰写综述
对每篇通过审计的文献,生成两份文件(模板见 assets/review_template.md):
- reviews/<id替换冒号为下划线>.md:题目、第一作者与单位、摘要原文、来源库、来源链接、本地 PDF 路径、"简要综述"四节(研究目的 / 研究方法 / 主要结果 / 局限性)。局限性为基于摘要的批判性解读,不得编造原文没有的数据。
- reviews/<id>_review.json:purpose/method/results/limitations + audit_status + audit_notes。
步骤 4 — 累积与呈现
<PY> scripts/build_outputs.py --config radar_config.json
- 合并追加到
papers.csv(按 id 去重,绝不重复);重新生成index.html(自包含汇总页,可双击打开,含搜索/来源筛选);生成daily_report_<日期>.md中文日报。
步骤 5 — 推送
<PY> scripts/push_report.py --date <日期> --config radar_config.json
provider=claw:把日报与综述写入用户提供的 Claw 目录,用户在微信里让 clawbot 读取。- 其它 provider:直接调用 webhook/token 推送。
- 未配置则打印提示并跳过(不中断)。
步骤 6 — 汇报
用中文简要汇报:本轮新增几篇、是否全部通过幻觉审计、CSV/HTML 是否更新、推送是否成功。
建立定时任务
用 automation_update 创建 recurring 自动化,频率与时间取自用户输入(不要默认每日)。
- 每日 22:00 → rrule="FREQ=DAILY;BYHOUR=22;BYMINUTE=0"
- 每周一 9:00 → rrule="FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0"
- 自动化 prompt 必须自包含:写明工作目录、Python 路径、上述六步流程、以及"审计从严、存疑不采纳"。cwds 设为工作目录。
目录结构
科研文献追踪/
├── radar_config.json # 用户配置(主题/数据源/篇数/推送)
├── scripts/
│ ├── fetch_papers.py # 抓取+去重+排序+下载PDF
│ ├── audit_papers.py # 幻觉审计(机器初筛)
│ ├── build_outputs.py # CSV+HTML+日报
│ └── push_report.py # 推送(claw/wecom/...)
├── _data/ # selected/candidates/checkpoint
├── pdfs/ # 下载的论文PDF
├── reviews/ # 每篇 *.md + *_review.json
├── papers.csv # 累积文献表
├── index.html # 科研文献追踪数据汇总
└── daily_report_<date>.md # 每日日报
参考文件
references/data_sources.md— 数据源目录,按主题向用户推荐的依据。references/workflow.md— 工作流详解、首次采集参数表、踩坑记录、验收清单。assets/radar_config.example.json— 配置模板。assets/review_template.md— 综述 MD 模板。
常见问题
- 某数据源报错/超时:脚本已做退避重试与单源容错;某源持续不可用(如 PubMed 官方被网络拦截)应改用 OpenAlex。
- 抓取到离题/低质文献:调整
include_terms/exclude_terms,或用--ids人工策划。 - Claw 目录不同:
push.claw_dir必须由用户提供,脚本不预设任何路径。 - 无新增文献:正常现象,直接结束不推送。