Skip to content

Latest commit

 

History

History
263 lines (177 loc) · 13.5 KB

File metadata and controls

263 lines (177 loc) · 13.5 KB
zoplicate banner

👉 zotero target version Version for Zotero 9 and 10 Downloads for Zotero 9 and 10👈

GitHub License Using Zotero Plugin Template GitHub Repo stars


English | 简体中文

Zoplicate 是一个用于 zotero 的插件,它只专注一件事:检测和管理重复的文献条目

主要功能

  • 检测重复条目
    • 自动检测新添加的文献条目是否与已有条目重复。
    • 你可以选择主条目的版本,然后将重复条目合并到主条目中。
    • 支持的操作有:
      • 保留最新的:以新导入条目为主条目,合并重复条目。
      • 保留已有的:以已有条目为主条目,合并重复条目。
      • 保留全部:保留所有条目,不合并任何项。
      • 手动合并:前往 "重复条目" 面板,手动选择要合并的条目。
  • 批量处理重复条目
    • 你可以在 "重复条目" 面板中,批量合并多个重复条目。
    • 你可以在设置中选择主条目的版本。
  • 标记"非重复条目"
    • 如果你认为某些条目不是重复的,你可以将其标记为"非重复条目"。
    • 支持导出和导入"非重复条目"记录,便于跨设备迁移。
  • 显示重复条目统计信息
    • 你可以设置在"重复条目"标签后显示重复条目数量。如,重复条目 2/6。

如果你觉得这个插件对你有帮助,欢迎给它一个 ⭐️。感谢你的支持!

Important

Zoplicate 不会单纯地删除重复的条目。

相反,它会从重复的条目中提取有用的信息,并将其合并到保留的条目中。

它在 Zotero 官方的重复检测和合并方法 的基础上做了一些改进。

视频教程

tutorial

更新日志

v5.0.1

点击展开。

这个热修版本修复 Zotero 同步时报 Invalid setting 'zoplicate-nonDuplicatePairs' 的问题:

  1. 🐛 修复:禁用 v5.0.0 中写入 Zotero.SyncedSettings 的非重复条目同步路径,因为 Zotero 服务器不接受插件自定义 setting key。
  2. 🧹 清理:插件启动时会自动清理本地遗留的 zoplicate-nonDuplicatePairs synced setting,避免 Zotero 继续重试非法上传。
  3. 🗄️ 说明:非重复条目关系仍保存在本地数据库中;在找到受支持的存储方式前,暂时关闭这部分跨设备同步。

v5.0.0

点击展开。

这个版本主要完成 Zotero 9–10 兼容和数据一致性改进:

  1. 新增:Zoplicate 现在面向 Zotero 9 和 109.010.0.*),发布清单也包含 Zotero 10 的兼容信息。
  2. 新增:非重复条目关系现在可以通过 Zotero.SyncedSettings 同步,并使用条目 key 存储,便于跨设备迁移。
  3. 🧬 变更:重新审查了重复检测、弹窗渲染、菜单注册、窗口处理和插件生命周期代码,以适配 Zotero 9 和 10 运行环境。
  4. 🐛 修复:增加本地数据库 schema 版本管理、合并/删除后的安全清理、启动水合,以及同步冲突时的并集合并策略。
  5. 测试:扩展了重复检测、非重复条目同步、水合、清理、生命周期、菜单和批量合并流程的自动化测试。

安装

通过 GitHub 安装

  1. Zoplicate 5 面向 Zotero 9 和 109.010.0.*)。
  2. 前往 最新 release 页面,下载 最新的 zoplicate.xpi 文件
  3. 打开 Zotero,然后前往 工具 -> 插件。选择 从文件安装插件...

通过 Add-on Market Plugin for Zotero 安装

需要安装额外的第三方插件。

  1. 单击 这里 安装 Add-on Market Plugin for Zotero 插件。
  2. 在 Add-on Market 中搜索 Zoplicate 并安装。

通过 Zotero 插件商店 安装

  1. 前往 Zotero 插件商店.
  2. 搜索 Zoplicate 然后单击 下载 按钮。

使用方法

设置

打开 Zotero,然后前往 编辑 -> 设置。单击 Zoplicate 选项卡,你会看到如下设置:

Zoplicate settings

  1. 当检测到重复条目时,默认会弹出对话框询问你如何处理。你可以选择是否自动合并重复条目。
    • 默认选项为 始终询问
  2. 你可以选择批量合并时主条目的版本。
    • 默认选项为 最早添加的
  3. 你可以选择是否在 "重复条目" 标签后显示重复条目数量。
  4. 你可以在数据管理部分导出导入非重复条目记录。

检测重复条目

默认情况下,当添加新的文献条目时,Zoplicate 会自动检测是否有重复的条目。如果有,你会看到如下对话框:

Zoplicate dialog

该对话框会显示所有重复的条目和你可以选择的操作。

  1. 选择你要执行的操作,然后单击 应用 来合并重复条目。
  2. 单击 手动合并 将打开 "重复条目" 面板,你可以在那里手动选择要合并的条目。
  3. 单击 取消 将关闭对话框并保存所有条目。
  4. 勾选 将此操作设为默认值 将记住你的选择,下次将自动执行该操作而不再弹出对话框。

检测到多个重复条目

当引入多个重复条目或在处理之前的重复条目之前引入另一个重复条目时,对话框将显示所有重复条目和你可以采取的操作。

Zoplicate dialog with multiple duplicates

  1. 你可以为不同的重复条目选择不同的操作。
  2. 单击选项的列头将会应用该操作到所有重复条目。
  3. 将此操作设为默认值 只有在所有重复条目都选择了相同的操作时才可用。

批量处理重复条目

在 2.0.0 版本中,Zoplicate 引入了 "批量合并" 功能。

你可以在 "重复条目" 面板中找到 批量合并所有重复条目 按钮:

zoplicate bulk merge

或当你选择了一个或多个重复条目时:

zoplicate bulk merge

Warning

  1. 在点击按钮之前,请确保你已经在 设置 中正确配置了主条目的偏好设置。
  2. 批量合并 功能将比较耗时。如果你有大量的重复条目,这个过程可能会花费一些时间。

Tip

如果有大量重复条目需要合并,你可以在设置(编辑 > 设置 > Zoplicate)中调大并行合并数量 (1–8,默认为 3),以同时合并多个重复组来加快处理速度。设为 1 可恢复为之前的串行行为。

你可以在 "重复条目" 面板中看到合并的进度: zoplicate bulk merge process

中止批量合并

如果你想中止批量合并,你可以单击 暂停合并 按钮。

此时会弹出确认对话框: zoplicate bulk merge suspend

  1. 单击 继续 将继续合并剩余的重复条目。
  2. 单击 取消 将停止合并并保留已合并的条目。
    • 如果勾选了 恢复已删除的条目,已合并的条目将被恢复。
    • 请注意 恢复已删除的条目 选项只在取消合并时可用。

Tip

如果你想恢复已合并的重复条目,你可以前往 回收站 面板并将它们恢复。

  1. 选择你想要恢复的重复条目。
  2. 单击 恢复到库 按钮来处理。

显示重复条目统计信息

你可以在设置中选择是否在 "重复条目" 标签后显示重复条目数量。

启用后,当鼠标悬停在 "重复条目" 标签上时,你会看到详细的重复条目数量。

zoplicate duplicate count

该信息会自动更新,你也可以右键单击 刷新 来手动更新。

Refresh duplicate count

"非重复条目" 管理

如果你认为某些条目不是重复的,你可以将其标记为"非重复条目"。

在条目的侧边栏中,你可以管理这些 非重复条目side_panel_not_duplicates

  • 单击 non-duplicate button 按钮将显示 非重复条目 面板。
  • 单击 + 按钮可以选择一个条目并将其标记为 非重复条目
  • 单击 - 按钮可以取消 非重复条目 标记。

当然,还有以下几种方式可以标记或取消标记 非重复条目

标记 "非重复条目"

  1. 如前所述,你可以在侧边栏non-duplicate button 中单击 + 按钮来标记 非重复条目
  2. 你可以在条目的右键菜单中选择 标记为非重复条目 来标记 非重复条目
    • 该选项只有在选择的条目被 Zotero 误认为是重复条目时才会显示。
    • menu_not_duplicates
  3. 你可以在 "重复条目" 面板中选择多个条目,然后单击 标记为非重复条目 按钮来标记 非重复条目
    • button_not_duplicates

取消标记 "非重复条目"

  1. 你可以在侧边栏non-duplicate button 中单击 - 按钮来取消标记 非重复条目
  2. 你可以在条目的右键菜单中选择 取消标记为非重复条目 来取消标记 非重复条目
    • 该选项只有在选择的条目被标记为非重复条目后才会显示。
    • menu_not_duplicates

导入/导出非重复条目

非重复条目记录保存在本地数据库中,不会通过 Zotero 同步服务自动同步到其他设备。 如需将非重复条目记录迁移到其他设备,可以使用导入/导出功能:

  1. 前往 编辑 -> 设置 -> Zoplicate -> 数据管理 部分。
  2. 单击 导出非重复记录…,将所有非重复条目记录保存为 JSON 文件。
  3. 将导出的文件复制到另一台设备。
  4. 在另一台设备上,前往同一设置面板,单击 导入非重复记录… 加载该文件。

Note

  • 导出文件使用稳定的条目 key(而非本地 ID),因此可以在共享同一同步库的不同 Zotero 设备之间正确工作。
  • 导入操作是只增不删的——只会添加新记录,不会删除已有记录。你可以放心多次导入同一文件。
  • 如果导出文件中引用的某个条目在目标设备上不存在(例如尚未同步或已删除),该条记录将被跳过。

开源贡献

👋 欢迎关注 Zoplicate!很高兴有你的参与。以下是你可以参与的方式:

  1. 💡 讨论新想法:有创意的想法或建议?在Discussion页面开始讨论,分享你的想法并从获得反馈。

  2. 提问:对仓库中的某些内容有疑问?随时开一个标记为“问题”的issue或参与Discussion

  3. 🐛 报告错误:如果你发现了一个bug,请开一个新的issue,并清楚描述问题、复现步骤以及你的运行环境。

  4. 引入新功能:想要为项目添加新功能或增强吗?Fork仓库,创建一个新分支,并提交一个带有你更改的PR。确保遵循我们的贡献指南。

  5. 💖 赞助:如果您想更多地支持该项目,你可以通过在GitHub上赞助仓库来实现。感谢各位金主大佬!

非常感谢各位对 Zoplicate 的关注和支持!🙏