calibre-metadata-apply

📚 安全可控的电子书元数据管家

🥥43总安装量 16评分人数 14
100% 的用户推荐

基于 Calibre 官方工具链,提供 dry-run 预览与多阶段确认机制的电子书元数据批量更新方案,支持智能子代理分析。

A

基本安全,请在特定环境下使用

  • 来自社区或个人来源,建议先隔离验证
  • ✅ 通过所有代码安全检测,无 eval/exec/system 等危险函数,无注入漏洞
  • ✅ 敏感操作强制二次确认(dry-run 模式),密码管理符合安全规范(环境变量优先,缓存文件权限 600)
  • ✅ 输入验证与字段白名单机制完善,命令参数严格过滤,敏感信息自动脱敏
  • ⚠️ 来源为社区/个人维护(T3 可信度),虽代码规范但建议审查后使用
  • ⚠️ 依赖外部 Calibre 环境和网络连接,需注意服务端配置安全,避免使用 `--save-plain-password`

使用说明

核心用法

calibre-metadata-apply 是一款专为 Calibre 电子书图书馆设计的元数据批量更新工具。它通过调用官方 calibredb 命令行工具连接 Calibre Content server,支持以 JSONL 格式批量提交元数据修改。工具采用严格的执行流程:首先通过只读查询确认目标书籍 ID,展示候选列表供用户确认;对于元数据缺失的情况,支持三级渐进式分析(Light Pass 元数据分析 → Page-1 首页内容提取 → Deep Pass 深度内容分析),并可调用 subagent-spawn-command-builder 将复杂分析任务分流给子代理处理。所有修改必须先经过 dry-run 模式预览,获得用户显式批准后方可执行 --apply 正式写入。

显著优点

安全性与可靠性是该工具的核心优势。首先,它实现了字段级白名单控制(仅允许修改 title、authors、tags 等预定义字段),所有命令参数经过严格过滤,敏感信息(密码)通过 redactedCmd 函数脱敏处理,且优先通过环境变量(CALIBRE_PASSWORD)而非命令行传递凭证。其次,流程设计极为严谨:强制要求用户确认目标 ID,禁止基于模糊匹配的自动更新;支持按用户配置的阅读脚本(如日语假名排序)处理非拉丁语系排序字段;提供 --save-auth 安全缓存机制(文件权限 600)。最后,针对大型图书馆处理,支持 Turn-split 分阶段执行和运行状态持久化,避免长时间任务中断导致的数据不一致。

潜在缺点与局限性

该工具的使用门槛相对较高。首先,它依赖完整的 Calibre 生态(需安装 calibre 套件以获取 calibredb 和可选的 pdffonts),并要求配置可达的 Content server,对于仅使用 Calibre 桌面版而无服务器部署的用户不够友好。其次,工具仅支持元数据字段更新,不涉及电子书文件内容(如封面替换、格式转换)的修改。此外,虽然支持子代理分担分析任务,但配置 subagent-spawn-command-builder 和理解其执行模型(sessions_spawn)需要一定的技术背景。最后,当前来源为社区个人维护(T3 可信度),虽代码质量良好,但长期维护稳定性需自行评估。

适合的目标群体

该工具主要面向三类用户:一是拥有数千册以上藏书、需要批量规范化书库元数据的 Calibre 重度发烧友;二是图书馆、研究机构等需要统一编目标准的专业用户;三是处理大量日语、中文等非拉丁语系书籍、需要自定义排序规则(reading_script)的收藏者。对于需要频繁进行元数据清洗、标签管理、系列丛书索引整理的自动化工作流用户,该工具结合子代理的分析能力可显著提升效率。

使用风险

常规风险主要包括:依赖项风险(需确保 calibredb 版本与服务器兼容,Node.js 运行时环境稳定);网络连接风险(远程 Content server 连接中断可能导致操作失败);以及配置风险(虽然工具本身安全,但错误的 --with-library 地址或凭证配置可能导致连接失败)。尽管工具内置 dry-run 和二次确认机制,用户仍需注意:在执行 apply 前务必仔细核对 JSONL 中的 ID 与字段值,避免批量误操作;不建议在生产书库直接测试,建议先在测试库验证流程。

calibre-metadata-apply 内容

文件夹图标scripts文件夹
手动下载zip · 12.4 kB
calibredb_apply.mjstext/javascript
请选择文件