Documentation Index
Fetch the complete documentation index at: https://openclaw.zhcndoc.com/llms.txt
Use this file to discover all available pages before exploring further.
pdf 会分析一个或多个 PDF 文档并返回文本。
快速行为:
- 对 Anthropic 和 Google 模型提供方使用原生提供方模式。
- 对其他提供方使用提取回退模式(先提取文本,必要时再提取页面图像)。
- 支持单个(
pdf)或多个(pdfs)输入,每次调用最多 10 个 PDF。
可用性
仅当 OpenClaw 能为代理解析出支持 PDF 的模型配置时,才会注册该工具:agents.defaults.pdfModel- 回退到
agents.defaults.imageModel - 回退到代理解析后的会话/默认模型
- 如果原生 PDF 提供方是基于认证的,则优先于通用图像回退候选项
pdf 工具。
可用性说明:
- 回退链是感知认证状态的。只有当 OpenClaw 能为代理实际认证该提供方时,配置的
provider/model才算有效。 - 当前支持原生 PDF 的提供方是 Anthropic 和 Google。
- 如果解析后的会话/默认提供方已经配置了可视化/PDF 模型,PDF 工具会先复用它,然后再回退到其他基于认证的提供方。
输入参考
一个 PDF 路径或 URL。
多个 PDF 路径或 URL,最多总计 10 个。
分析提示。
页面过滤器,如
1-5 或 1,3,7-9。可选的模型覆盖,格式为
provider/model。每个 PDF 的大小上限,单位 MB。默认为
agents.defaults.pdfMaxBytesMb 或 10。pdf和pdfs会在加载前合并并去重。- 如果未提供 PDF 输入,工具会报错。
pages以从 1 开始的页码解析,会去重、排序,并裁剪到配置的最大页数。maxBytesMb默认为agents.defaults.pdfMaxBytesMb或10。
支持的 PDF 引用
- 本地文件路径(包括
~展开) file://URLhttp://和https://URL- OpenClaw 管理的入站引用,例如
media://inbound/<id>
- 其他 URI 方案(例如
ftp://)会被拒绝,并返回unsupported_pdf_reference。 - 在沙箱模式下,远程
http(s)URL 会被拒绝。 - 启用仅工作区文件策略时,工作区允许根目录之外的本地文件路径会被拒绝。
- 在仅工作区文件策略下,OpenClaw 的入站媒体存储中的受管入站引用和回放路径是允许的。
执行模式
原生提供方模式
原生模式用于提供方anthropic 和 google。
该工具会将原始 PDF 字节直接发送到提供方 API。
原生模式限制:
- 不支持
pages。如果设置了该参数,工具会返回错误。 - 支持多 PDF 输入;每个 PDF 会在提示之前作为原生文档块 / 内联 PDF 部分发送。
提取回退模式
回退模式用于非原生提供方。 流程:- 从选定页面提取文本(最多到
agents.defaults.pdfMaxPages,默认20)。 - 如果提取出的文本长度少于
200个字符,则将选定页面渲染为 PNG 图像并一并包含。 - 将提取内容和提示发送给选定模型。
- 页面图像提取使用
4,000,000的像素预算。 - 如果目标模型不支持图像输入且没有可提取文本,工具会报错。
- 如果文本提取成功,但图像提取在仅文本模型上需要视觉能力,OpenClaw 会丢弃渲染图像并继续使用提取文本。
- 提取回退使用内置的
document-extract插件。该插件拥有pdfjs-dist;@napi-rs/canvas仅在可用图像渲染回退时使用。
配置
输出详情
该工具会在content[0].text 中返回文本,并在 details 中返回结构化元数据。
常见 details 字段:
model:解析后的模型引用(provider/model)native:原生提供方模式为true,回退模式为falseattempts:成功前失败的回退尝试次数
- 单个 PDF 输入:
details.pdf - 多个 PDF 输入:
details.pdfs[],其中包含pdf条目 - 沙箱路径重写元数据(如适用):
rewrittenFrom
错误行为
- 缺少 PDF 输入:抛出
pdf required: provide a path or URL to a PDF document - PDF 过多:在
details.error = "too_many_pdfs"中返回结构化错误 - 不支持的引用方案:返回
details.error = "unsupported_pdf_reference" - 原生模式下使用
pages:抛出明确的pages is not supported with native PDF providers错误