mcpField
W
wos-export

wos-export

github.com/cookjohn生产力13054 次安装33 周前更新
代码仓库

关于 wos-export

wos-export 是用于处理 Web of Science 论文记录的技能,可将记录推送到 Zotero,或导出为文件。它会映射 WoS 元数据;Zotero 不可用或需要文件时,也支持通过浏览器导出。

主要功能

  1. 01将记录推送到 Zotero
  2. 02将 WoS 字段映射到 Zotero
  3. 03重试时避免重复记录
  4. 04导出 RIS、BibTeX、Excel 或文本
  5. 05通过 WoS 界面导出记录

适用场景

  1. 01将检索结果保存到选定的 Zotero 文库
  2. 02将 WoS 记录导出为 RIS 或 BibTeX 文件
  3. 03在 Zotero 中保存 WoS 标识符和引文数据

安装

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

$npx skills add https://github.com/cookjohn/wos-skills --skill wos-export

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

附带文件scripts/push_to_zotero.py

详细介绍

WoS 导出

导出 WoS 论文记录。支持两种模式:直接推送到 Zotero(首选)或通过 UI 导出文件。

模式 A:推送到 Zotero(首选,无需 UI 交互)

收集论文元数据(来自先前的搜索结果或详情结果),并通过 push_to_zotero.py 脚本推送到 Zotero。

步骤 1:准备论文数据

根据对话中已有的数据(来自 wos-search API 结果或 wos-paper-detail 提取结果)构建一个 JSON 对象。脚本可直接接受 WoS 论文字段:

{
  "title": "Value co-creation in service logic",
  "authors": "Grönroos, C",
  "source": "MARKETING THEORY",
  "year": 2011,
  "volume": "11",
  "issue": "3",
  "pages": "279-301",
  "doi": "10.1177/1470593111408177",
  "issn": "1470-5931",
  "abstract": "The underpinning logic of...",
  "language": "English",
  "accessionNumber": "WOS:000295471900004",
  "authorKeywords": ["value co-creation", "service logic"],
  "keywordsPlus": ["DOMINANT LOGIC"],
  "citedCount": "992",
  "alldbCited": "1,254",
  "jif": "2.8",
  "jifYear": "2024",
  "jcrQuartile": "Q3",
  "researchAreas": "Business & Economics",
  "wosCategories": "Business",
  "docType": "Article"
}

对于多篇论文,请将其包装在数组或 {"items": [...]} 中。

步骤 2:通过脚本推送
echo '{JSON_DATA}' | python "e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py"

或者先保存到临时文件(大数据量或包含中文字符时推荐):

python "e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py" /tmp/wos_export.json
步骤 3:报告结果
  • OK: Saved (session: xxx) → 成功
  • OK: Already saved (session: xxx) → 操作幂等,不会产生重复项
  • Error: Zotero not running → 告知用户启动 Zotero 桌面应用

脚本会自动检测 Zotero 当前选中的文献集。用户可以在导出前选择 Zotero 中的其他文件夹来更改目标位置。

列出文献集:python push_to_zotero.py --list

模式 B:通过 UI 导出文件(备用方案)

当 Zotero 不可用或用户明确需要文件时使用。

前提条件

浏览器必须位于 WoS 结果页面(/summary/...)或完整记录页面(/full-record/...)。

支持的格式
格式菜单项文件
RIS"RIS (other reference software)".ris
BibTeX"BibTeX".bib
Excel"Excel".xlsx
纯文本"Plain text file".txt
Fast 5000"Fast 5000"快速导出
步骤
  1. take_snapshot → 查找导出按钮(button,其 haspopup="menu" 属性包含 "Export")→ click
  2. take_snapshot → 查找格式菜单项 → click
  3. 处理导出对话框(记录范围、内容选项)→ 点击下载按钮
UI 导出说明
  • 使用 3–4 次工具调用:snapshot + 点击 Export + snapshot + 点击格式 + 对话框
  • "Fast 5000" 最多导出 5000 条记录,包含基本字段
  • 在完整记录页面上,只导出当前记录

Zotero 脚本功能

  • 确定性会话 ID:相同论文始终生成相同的会话 ID(内容哈希)。重试时可防止重复项(409 → 视为成功)。
  • WoS 元数据映射:自动将 WoS 字段映射到 Zotero 的 journalArticle 架构。
  • Extra 字段:将 WoS 特有数据(WoS ID、引用次数、JIF、JCR 分区、研究领域)存储在 Zotero 的 Extra 字段中。
  • 作者解析:处理 WoS 标准格式 "LastName, Initials" → Zotero 的 firstName/lastName。
  • 关键词:将 Author Keywords 和 Keywords Plus 都添加为 Zotero 标签。

说明

  • 模式 A(推送到 Zotero)无需浏览器交互——使用先前 API 调用获取的数据
  • 即使浏览器未打开 WoS 页面,模式 A 也能正常工作
  • 脚本路径:e:\wos-skills\.claude\skills\wos-export\scripts\push_to_zotero.py
  • Zotero 必须在 localhost:23119 上运行

评论

支持 Markdown