👆 关注科技第一时,每周四看最值得上手的开源项目
今日看点
今天两个项目都解决了一个共同的问题:"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核心亮点是两阶段管线:
- 渲染阶段:把 PDF 每一页渲染为高分辨率图像(支持 poppler-utils)
- 识别阶段:用视觉语言模型(默认 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 代理多路复用器
夜雨聆风