用途:当需要一次性从大量文件(目录或 glob)中抽取内容时使用,共享同一抽取配置、并发执行、支持单文件覆盖配置和错误恢复。
主要能力:xberg batch 对一个批次内的所有文件使用同一抽取配置,并发运行抽取并返回一个结构化数组;默认输出 --format json(单文件 extract 默认 text)。每条数组元素是一份完整抽取结果,可按输入路径列表的位置索引。抽取出错按文件隔离,单个不可读或损坏文档不会终止其余任务。
用法示例:xberg batch .pdf;xberg batch docs/.docx --content-format markdown;xberg batch $(find ./corpus -name '*.pdf')。JSON 结果可接 jq 处理。
并发控制:--max-concurrent 限制同时抽取的文件数,省略时由总线程预算推导;内存受限或启用 OCR/ML 模型时应调低。--max-threads 进一步限制内部总线程(含批处理信号量)。布局重的批次另有并行上限。
单文件覆盖:--file-configs 指向一个 JSON 文件,将路径映射到各自的覆盖对象,仅对该文件覆盖共享配置;键须与命令行传入的路径一致,值为 snake_case 的抽取配置对象。
输出目录:使用 text/toon 输出并抽取图片时,--output-dir 指定图片文件写入位置,该目录必须已存在;JSON 输出直接内嵌图片字节并忽略此参数。
共享配置:每个 extract 标志同样适用于 batch(OCR、分块、布局、内容格式等),可用配置文件并经 --config 指定或自动发现。
程序化访问:Python 的 extract_batch 接收 ExtractInput 列表,返回含 results 数组的信封;Node.js 对应 extractBatch,Rust 为 extract_batch(inputs, &config)。单输入覆盖配置放在 ExtractInput.config。注册 xberg MCP 服务器时优先使用 extract_batch 工具。
限制与注意:batch 与 extract 的默认格式不同,脚本依赖固定格式时应显式设置 --format;--output-dir 不会自动创建;大批次叠加 OCR/布局可能内存暴涨,建议设 --max-concurrent 上限。其余细节资料未提供。