乐于分享
好东西不私藏

PDF一秒变AI训练语料 olmocr 18K星改写文档预处理 终端AI调度器herdr暴打复用新范式

PDF一秒变AI训练语料 olmocr 18K星改写文档预处理 终端AI调度器herdr暴打复用新范式

👆 关注科技第一时,每周四看最值得上手的开源项目

今日看点

今天两个项目都解决了一个共同的问题:"AI 在真实世界的数据流动中卡住了"

第一个来自 AI2(艾伦人工智能研究所),叫 olmocr。它做的事听起来平平无奇——把 PDF 转成文本——但做得极其认真。不是 OCR 那种"大概能看"的程度,而是给大模型吃的、结构清晰的 Markdown。如果你的 PDF 里有表格、公式、多栏排版,它都能还原。

第二个叫 herdr,解决的问题更装逼一些:当你同时在跑多个 AI agent,每个都有自己的 terminal session,你怎么看它们的状态?herdr 说:想象 tmux,但专门给 AI 设计的。

两个项目加起来告诉我们一件事:AI 基础设施的下一个战场,不在模型本身,在数据管道和运行环境

项目 星数 一句话 语言
allenai/olmocr 18.3K PDF→Markdown 转化工具,专为 LLM 训练设计 Python
ogulcancelik/herdr 9.6K 终端 AI 代理多路复用器,专治 agent session 混乱症 Rust

01 allenai/olmocr — PDF 秒变 LLM 训练语料

这是什么?

olmocr 是 AI2 出品的 PDF 和图像文档转纯文本工具箱。它不只做 OCR(光学字符识别),而是把 PDF 的每一页渲染成图像,再用视觉模型转化为结构化文本——意味着表格、公式、多栏排版、页眉页脚、脚注引用,全都能被准确地重组为 Markdown 格式。

有多强?

# 单条转换(本地 GPU)
olmocr --gpu --model dolphin --pages 1-5 report.pdf

# 批量转(自动检测资源)
olmocr --gpu report.pdf whitepaper.pdf thesis.pdf

# 大规模并行(百万级 PDF)
olmocr \
  --s3-input s3://my-bucket/pdfs/ \
  --s3-output s3://my-bucket/olmocr/ \
  --nodes 16

核心亮点是两阶段管线

  1. 渲染阶段:把 PDF 每一页渲染为高分辨率图像(支持 poppler-utils)
  2. 识别阶段:用视觉语言模型(默认 Dolphin)把图像转为 Markdown 文本

为什么 AI 团队需要它?

如果你做过 RAG(检索增强生成),你一定踩过 PDF 解析的坑。传统方案有三个大问题:

问题 传统方案 olmocr 方案
表格丢失 PyPDF2 读成乱码 视觉模型识别后再重组
多栏混排 文本串行交叉 按视觉排版分栏还原
公式符号 变成方块/问号 视觉模型保持公式结构

💡 别小看"PDF 转文本"这件事。训练 DeepSeek、Qwen、Llama 这些模型的时候,训练数据中有一大半来自 PDF 文档(论文、书籍、报告)。PDF 解析的质量直接决定模型训练质量。AI2 开源 olmocr 的潜台词是:大模型军备竞赛的下半场,拼的是数据管道的精度。

GitHub: allenai/olmocr | ⭐ 18,293 | 🍴 1,500

上手实操

# 安装
pip install olmocr

# 用 GPU 转一篇 PDF
olmocr --gpu --model dolphin my_paper.pdf

# 检查输出
cat my_paper.md  # 你的 PDF 已经变成 Markdown 了

输出示例——表格会变成 Markdown 表格,公式会保留 LaTeX 形式,多栏排版会按阅读顺序还原。低配机器也可以降级到 CPU 模式,只是会慢一些。


02 ogulcancelik/herdr — 终端 AI 代理多路复用器

这是什么?

herdr 是一个终端 AI 代理多路复用器。想象一下:你用 tmux 管理多个终端窗口,但每个窗口里跑的不是 shell 命令,而是 AI agent——有的在写代码,有的在查文档,有的在 debug。herdr 就是给这个场景量身定做的。

为什么会有这种东西?

当你同时在跑多个 AI agent(比如 Claude Code + Cursor Agent + 自定义 MCP 工具),传统 tmux 的问题就暴露了:

痛点 tmux 方案 herdr 方案
分辨哪些 agent 在工作 你得一个个切窗口看 每页显示 agent 状态:🔄 阻塞 / ✅ 完成 / ⏳ 等待
agent 输出太长 翻屏翻到手酸 自动折叠+关键信息提取
多个 agent 协作 手动作业管理 内置 workspace / tab / pane 管理
session 断开 agent 全丢了 支持 detach 和恢复

更重要的是:herdr 是纯 Rust 写的二进制文件,只有 ~10MB,安装就是一行命令:

curl -fsSL https://herdr.sh/install | sh

核心用法

# 启动一个新 agent session
herdr new "帮我重构这个 Go 项目的中间件层"

# 列出所有运行的 agent
herdr ls

# 查看特定 agent 的输出(自动折叠)
herdr logs agent-42 --tail 20

# 把 agent 挂到后台
herdr detach agent-42

# 恢复之前挂起的 agent
herdr attach agent-42

为什么值得关注

💡 当 AI 编码工具开始流行后,开发者面临的新问题不是"用什么 AI",而是"怎么管理这些 AI"。一个 agent 写代码、一个 agent 审代码、一个 agent 跑测试,三个 session 分布在三个终端窗口里——这是 2026 年的新常态。herdr 解决的正是这个"多 agent 混乱"问题。而且它用 Rust 写,编译完不到 10MB,没有 Node.js 依赖,没有 Python runtime 需求,从安装到上手不会超过 30 秒。

GitHub: ogulcancelik/herdr | ⭐ 9,635 | 🍴 567 | 🔧 Rust

技术架构

herdr 的架构画风非常清晰:
- 会话层:每个 agent 运行在自己的隔离 session 中,带独立的工作目录和环境变量
- 多路复用层:核心调度器,支持 workspace → tab → pane 三级分层
- 状态管理层:检测 agent 是否卡住(>30s 无输出标记为阻塞)、是否完成、是否需要人工介入


写在最后

两个项目,看起来风马牛不相及——一个管 PDF 转文本,一个管终端 AI 多路复用。

但它们指向同一个方向:"AI 的基础设施正在从模型层向工具层迁移"。olmocr 管的是"数据怎么进模型",herdr 管的是"agent 怎么在终端里跑"。这两个问题在大模型刚出来的时候没人在意,但现在——当每个人都想用 AI 做点实际的事——变成了绕不开的坎。

olmocr 适合:数据标注团队、RAG 应用开发者、模型训练工程师
herdr 适合:每天和多个 AI agent 打交道的开发者、运维、AI 编码工具重度用户

两个都装了,你的 AI 工作流才算完整。


项目直达:
1. allenai/olmocr — 转 PDF 为 LLM 可用语料
2. ogulcancelik/herdr — 终端 AI 代理多路复用器