用途:将本地已下载的论文(PDF/BibTeX/RIS/CSV/TXT)整理为结构一致的文献库,支持离线去重、打标签和可搜索索引,适用于不允许联网、全部处理须在本地完成的环境。
主要能力:仅本地导入受管文献库目录;按规则确定性去重,优先级为 DOI → 标题+年份(标题归一化且大小写不敏感)→ 文件哈希(仅当前两者不可用时使用),所选规则记入 dedup_rule,计算键存于 dedup_key;标签支持通过 CLI 重复添加手动标签,并在元数据含关键词时自动生成标签合并;生成并维护 index.jsonl(每行一个 JSON 对象,字段含 id、title、year、journal、authors、keywords、doi、tags、source_type、source_path、file_path、dedup_key、dedup_rule、imported_at);文件按年份与期刊组织,未知值映射为 UnknownYear、UnknownJournal,文件名尽量保留,冲突时追加后缀以免覆盖。
使用方式:需 Python 3.9+,先安装依赖:pip install -r scripts/requirements.txt。示例: LIBRARY_DIR="/path/to/literature-library" python scripts/import_library.py --source-dir "$SOURCE_DIR" --library-dir "$LIBRARY_DIR" --tag "survey" --tag "to-read" 运行后可核对 $LIBRARY_DIR/files/<Year>/<Journal>/ 下的文件、index.jsonl 索引以及脚本打印的导入、去重与错误摘要。可用 python scripts/import_library.py --help 做最小验证。
适用场景:批量本地论文整理、离线去重、导入时打标签并生成可检索索引。
限制:不使用网络、外部 API 或凭证,只读取指定的 --source-dir,只写入 --library-dir;缺少必要源数据、标识、文件或凭证时不应使用,也不得用于编造结果或超出范围的结论。