nature-ref-verifier — 学术参考文献多源验证技能
需要处理批量差异、反复出现的字段错误、DOI/标题冲突、作者顺序异常、页码漂移或
报告措辞时,读取 references/common-patterns.md。其他任务不要预加载该文件;
manifest.yaml 记录了同一按需路由,新增资源时必须同时在本文件中写明加载条件。
触发词
verify references、校验文献、check references、核对参考文献、文献验证、ref check
适用场景
- 开题报告/论文提交前,对全部参考文献做最终核查
- 收到审稿意见指出引用错误时,精准定位问题
- 从旧项目迁移参考文献到新论文时,批量验证有效性
- Zotero 库定期健康检查
工作流
Step 1: 解析输入
支持三种输入格式:
A. 整篇论文/开题报告
- 提取所有
[N]编号的参考文献列表 - 自动识别每条的 DOI(如有)
B. 单条参考文献
- 用户直接粘贴一条引用文本
- 或传入 Zotero item key
C. BibTeX 文件
- 直接解析
.bib,逐条校验
Step 2: 多源并行查询
Step 2.0(最便宜、最先做):DOI 可解析性检查。 对每条有 DOI 的文献先请求 https://api.crossref.org/works/<DOI>:404 → DOI 本身错误(高度疑似错号);200 → 比对返回记录的标题/作者/卷期页与条目,不一致即"DOI 张冠李戴"。单次请求即可发现实践中最常见的一类错误(一次 35 条核查中 7/9 的错误属于此类)。
对每条文献,并行查询以下来源(可用哪些取决于环境配置):
查询策略: 优先用 DOI 查 Crossref,失败后降级用标题+作者搜 Web。
批量策略: 超过 20 条时按 10–15 条一组拆给并行子代理,每组独立查询后汇总——35 条规模实测 3 个并行子代理即可在一次往返内完成,串行会慢一个数量级。
Step 3: 字段级对比
对每条文献执行以下对比矩阵,按严重程度分为三级:
🔴 Critical(必须修正)
🟡 Warning(建议核对)
🟢 Info(仅供参考)
Step 4: 置信度评估
每条文献最终给出一个综合置信度:
Step 5: 输出报告
支持以下输出格式:
Markdown 摘要报告:
BibTeX Patch: 直接生成修正后的 .bib 文件内容。
Zotero 更新指令: 生成修正指令列表,用于批量修正 Zotero 库。注意写入路径的限制(2026 年实测):
- Zotero 7 本地 HTTP API(localhost:23119)只读——写操作返回 501,zotero-mcp 类集成不稳定多源于此层包装或 Zotero 繁忙,直连 curl 加
--max-time探测即可判断; - 批量写入首选 pyzotero Web 模式(需 userID + API key,全功能 CRUD,自带 429 退避);
- 无 key 时可用本地
/connector/saveItems端点新增条目(不能改已有条目); - 直接改
zotero.sqlite仅在 Zotero 关闭后可行,且需手工维护多表关联与版本号,仅作最后手段; - 修正前先确认条目在库:按标题检索为空则说明 bib 另有来源(如文献管理 CSV),Zotero 侧无需修正。
多来源交叉验证策略
已知局限与应对
环境依赖
以下工具为可选,有则启用、无则降级:
pyzotero[cli]:推荐的 Zotero 读写通道(本地只读 + Web 读写双模式,CLI 可直接被 agent 以 Bash 调用,无常驻进程)zotero-cli/zotero-mcp:Zotero 库读写(本地包装层,实测稳定性较差)kimi-datasource(scholar):学术搜索kimi-webbridge:带登录态的 CNKI 查询- 基础 WebSearch / FetchURL:通用兜底

