当前位置: 首页 > news >正文

OpenClaw从入门到应用——工具(Tools):PDF

通过OpenClaw实现副业收入:《OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南》

pdf

pdf用于分析一个或多个 PDF 文档并返回文本内容。

快速行为概览:

  • 对于 Anthropic 和 Google 模型提供商,使用原生提供商模式。
  • 对于其他提供商,使用提取回退模式(先提取文本,需要时再提取页面图像)。
  • 支持单次(pdf)或多次(pdfs)输入,每次调用最多处理 10 个 PDF 文件。

可用性

仅当 OpenClaw 能够为代理解析出支持 PDF 的模型配置时,此工具才会被注册:

  1. agents.defaults.pdfModel
  2. 回退到agents.defaults.imageModel
  3. 回退到基于可用认证的尽力而为的提供商默认值

如果无法解析出可用的模型,则不会公开pdf工具。

输入参考

  • pdfstring):单个 PDF 路径或 URL
  • pdfsstring[]):多个 PDF 路径或 URL,最多总共 10 个
  • promptstring):分析提示词,默认为Analyze this PDF document.
  • pagesstring):页面筛选器,例如1-51,3,7-9
  • modelstring):可选的模型覆盖(格式为provider/model
  • maxBytesMbnumber):每个 PDF 的大小上限(单位:MB)

输入注意事项:

  • pdfpdfs在加载前会被合并并去重。
  • 如果未提供 PDF 输入,工具会报错。
  • pages会被解析为从 1 开始的页码,经过去重、排序后,限制在配置的最大页数范围内。
  • maxBytesMb默认为agents.defaults.pdfMaxBytesMb10

支持的 PDF 引用

  • 本地文件路径(包括~展开)
  • file://URL
  • http://https://URL

引用注意事项:

  • 其他 URI 方案(例如ftp://)会被拒绝,并返回unsupported_pdf_reference
  • 在沙盒模式下,远程http(s)URL 会被拒绝。
  • 启用仅工作区文件策略时,位于允许根目录之外的本地文件路径会被拒绝。

执行模式

原生提供商模式

原生模式适用于anthropicgoogle提供商。
该工具将原始 PDF 字节直接发送到提供商 API。

原生模式限制:

  • 不支持pages。如果设置了pages,工具会返回错误。

提取回退模式

回退模式适用于非原生提供商。

流程:

  1. 从选定的页面提取文本(最多agents.defaults.pdfMaxPages页,默认20页)。
  2. 如果提取的文本长度少于200个字符,则将选定页面渲染为 PNG 图像,并将其包含在内。
  3. 将提取的内容加上提示词发送到选定的模型。

回退模式详情:

  • 页面图像提取使用4,000,000的像素预算。
  • 如果目标模型不支持图像输入,并且没有可提取的文本,工具会报错。
  • 提取回退需要pdfjs-dist(以及用于图像渲染的@napi-rs/canvas)。

配置

{ agents: { defaults: { pdfModel: { primary: "anthropic/claude-opus-4-6", fallbacks: ["openai/gpt-5-mini"], }, pdfMaxBytesMb: 10, pdfMaxPages: 20, }, }, }

有关完整的字段详细信息,请参阅配置参考。

输出详情

该工具在content[0].text中返回文本,并在details中返回结构化元数据。

常见的details字段:

  • model:解析后的模型引用(provider/model
  • native:原生提供商模式为true,回退模式为false
  • attempts:成功前失败的回退尝试次数

路径字段:

  • 单个 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错误

示例

单个 PDF:

{"pdf":"/tmp/report.pdf","prompt":"Summarize this report in 5 bullets"}

多个 PDF:

{"pdfs":["/tmp/q1.pdf","/tmp/q2.pdf"],"prompt":"Compare risks and timeline changes across both documents"}

经过页面筛选的回退模型:

{"pdf":"https://example.com/report.pdf","pages":"1-3,7","model":"openai/gpt-5-mini","prompt":"Extract only customer-impacting incidents"}
http://www.cnnetsun.cn/news/2417005.html

相关文章:

  • 如何快速搭建静态网站服务器:http-server终极实战指南
  • 5分钟掌握NGA论坛终极优化方案:告别杂乱,专注内容
  • 基于CircuitPython与Fruit Jam打造低成本实时直播图文叠加系统
  • 技术人如何做好年终汇报?这3个模板让你脱颖而出
  • 手把手教你读懂GNSS精密星历:从SP3/CLK文件头到数据块,一次搞定
  • 终极指南:如何快速安装和使用BEAGLE库加速系统发育分析
  • 高效Markdown浏览器插件深度解析:从技术实现到专业应用
  • Matminer材料数据挖掘:从数据到预测的完整实战指南
  • realme GT Root 解BL锁 刷入ROOT
  • 通过 curl 命令快速测试 Taotoken 接口连通性与模型效果
  • Hello Robot 发布 Stretch 4 移动操作机器人,推动具身智能迈向家庭实用化
  • HS2-HF Patch终极指南:5分钟实现HoneySelect2完整汉化与MOD整合
  • 从零构建现代化开发者博客:技术选型、核心功能与工程实践全解析
  • 从差异基因列表到发表级图表:一个完整生物信息学项目的GO/KEGG/GSEA分析实战复盘
  • 【ElevenLabs语音伦理合规白皮书】:面向银发群体的AI语音生成必须绕开的4类GDPR/《互联网信息服务深度合成管理规定》雷区
  • 告别反射性能损耗:Spring Boot项目实战,用MapStruct优雅替换BeanUtils
  • 告别环境配置焦虑:用Intel oneAPI和OpenMPI在CentOS7搭建你的第一个并行计算Demo
  • Windows 10终极清理指南:如何用Windows10Debloater一键移除系统垃圾应用
  • Verilog时钟分频:从原理到工程实践,避坑指南与最佳方案
  • SLO-Warden:云原生时代SLO自动化管理的工程实践
  • 深入解析Safe智能合约钱包:架构、安全与开发实践
  • ModusToolbox实战:如何系统化降低物联网开发复杂性
  • 基于Vite+Vue3构建个人开发者门户:从零到自动化部署
  • FanControl终极指南:3步打造个性化电脑散热方案
  • 蓝桥杯嵌入式组 历年客观题高频考点与实战解析
  • STM32 HAL库设计解析:从GPIO到外设的面向对象编程实践
  • 如何利用Perfetto Timeline精准定位Android Jank根源——从帧生命周期到归因分析
  • 【自然语言处理实战】COLD:构建中文网络言论“净化器”的数据基石
  • PXIe-9150嵌入式控制器:构建高集成度自动化测试系统的核心
  • LiteDB.Studio:免费开源的LiteDB数据库管理终极指南