calibre-metadata-apply

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

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

收藏
6.8k
安装
2.5k
版本
v1.0.1
CLS 安全性认证2026-06-04
点击查看完整报告 >

使用说明

核心用法

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 是一个面向 Calibre 电子书管理系统的元数据更新工具,通过 calibredb 命令行工具与 Calibre Content Server 交互,实现对现有书籍元数据的批量修改。

显著优点

安全优先设计:默认执行 dry-run 模式,仅展示预期变更而不实际写入;必须显式添加 --apply 参数才会执行真实更新,有效防止误操作。

多阶段确认流程:强制要求"目标确认→提案合成→dry-run→应用"四步流程,每步都需要用户明确确认,特别适合图书馆、档案馆等对数据准确性要求高的场景。

灵活的认证管理:支持环境变量传递敏感信息(CALIBRE_PASSWORD),避免密码暴露在命令行历史;可选的认证缓存文件权限设置为 0o600,符合 Unix 安全标准。

子代理分载架构:对于大规模元数据生成任务,可通过 subagent-spawn-command-builder 将候选分析工作分载到轻量级子代理,主会话仅保留最终决策权。

渐进式证据收集:针对未知文档提供三级分析(仅元数据→首页→深度扫描+网络证据),用户可按需选择深入程度,平衡效率与准确性。

完善的字段支持:覆盖 title、authors、series、tags、pubdate 等核心字段,支持 HTML 注释批量更新、标签合并/移除等高级操作。

潜在局限

依赖链复杂:需要预装 calibredb、可选依赖 pdffonts,还需配合 subagent-spawn-command-builder 使用,部署门槛高于纯脚本方案。

交互式流程限制:强制多阶段确认虽保障了安全,但也降低了批量自动化处理效率,不适合需要无人值守的大规模批处理场景。

Calibre 版本绑定:依赖 Calibre Content Server 的特定 API 行为,Calibre 版本升级可能导致兼容性问题。

日语/非拉丁字符处理:sort reading 策略需要用户首次使用时配置,且配置持久化到本地文件,多用户环境可能产生配置冲突。

适合人群

  • 图书馆、档案馆数字化管理人员
  • 拥有数千册以上藏书的专业 Calibre 用户
  • 需要严格审计追踪的企业知识管理团队
  • 对元数据质量有高标准要求的电子书收藏者

常规风险

  • 认证信息泄露:虽推荐环境变量方式,但用户仍可能误用 --password 参数导致密码残留于 shell 历史
  • 元数据覆盖不可逆:一旦 --apply 执行,原有元数据将被覆盖,虽有 dry-run 但仍可能因用户疏忽确认导致数据丢失
  • 网络服务依赖:Content Server 连接中断会导致操作失败,长时运行的批量任务可能因网络波动需要重试
  • 子代理数据出境:若启用子代理分析,文本内容将发送至配置的模型端点,涉及隐私文档时需评估合规风险

版本信息

  • 当前版本:1.0.1
  • 维护者:nextaltair (OpenClaw 官方)
  • 许可证:MIT

calibre-metadata-apply 内容

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