PDF tool
pdf는 하나 이상의 PDF 문서를 분석해 텍스트를 반환합니다.
핵심 동작:
- Anthropic 및 Google model provider에서는 native provider mode를 사용합니다.
- 그 외 provider에서는 extraction fallback mode를 사용하며, 먼저 텍스트를 추출하고 필요할 때만 page image를 추가합니다.
- 단일 입력(
pdf)과 다중 입력(pdfs)을 모두 지원하며, 호출당 최대 10개 PDF까지 처리할 수 있습니다.
Availability
이 tool은 OpenClaw가 해당 agent에 대해 PDF 처리 가능한 model config를 해석할 수 있을 때만 등록됩니다.agents.defaults.pdfModel- fallback:
agents.defaults.imageModel - fallback: 사용 가능한 auth를 바탕으로 한 best-effort provider 기본값
pdf tool은 노출되지 않습니다.
Input reference
pdf(string): 하나의 PDF path 또는 URLpdfs(string[]): 여러 PDF path 또는 URL, 총 최대 10개prompt(string): 분석 프롬프트, 기본값Analyze this PDF document.pages(string):1-5,1,3,7-9같은 page filtermodel(string): 선택적 model override (provider/model)maxBytesMb(number): PDF당 크기 제한(MB)
pdf와pdfs는 로드 전에 병합되고 deduplicate 됩니다.- PDF 입력이 없으면 tool이 오류를 반환합니다.
pages는 1-based page number로 파싱되며, deduplicate 후 정렬되고 설정된 max page에 맞춰 clamp 됩니다.maxBytesMb기본값은agents.defaults.pdfMaxBytesMb또는10입니다.
Supported PDF references
- 로컬 file path(
~확장 포함) file://URLhttp://,https://URL
- 다른 URI scheme(예:
ftp://)은unsupported_pdf_reference와 함께 거부됩니다. - sandbox mode에서는 원격
http(s)URL이 거부됩니다. - workspace-only file policy가 활성화되어 있으면 허용된 root 밖의 로컬 file path는 거부됩니다.
Execution modes
Native provider mode
native mode는 provideranthropic, google에서 사용됩니다.
이 mode에서는 raw PDF bytes를 provider API로 직접 보냅니다.
native mode 제한:
pages는 지원되지 않습니다. 설정하면 tool이 오류를 반환합니다.
Extraction fallback mode
fallback mode는 native가 아닌 provider에서 사용됩니다. 흐름:- 선택된 페이지에서 텍스트를 추출합니다(최대
agents.defaults.pdfMaxPages, 기본값20) - 추출된 텍스트가
200자 미만이면 선택된 페이지를 PNG image로 렌더링해 포함합니다. - 추출된 내용과 prompt를 선택한 model로 전송합니다.
- page image 추출은
4,000,000픽셀 예산을 사용합니다. - 대상 model이 image input을 지원하지 않고 추출 가능한 텍스트도 없으면 tool이 오류를 반환합니다.
- extraction fallback에는
pdfjs-dist가 필요하며, image 렌더링에는@napi-rs/canvas도 필요합니다.
Config
Output details
tool은content[0].text에 텍스트를, details에 구조화된 metadata를 반환합니다.
자주 쓰는 details 필드:
model: 해석된 model ref (provider/model)native: native provider mode면true, fallback이면falseattempts: 성공 전 실패했던 fallback 시도 목록
- 단일 PDF 입력:
details.pdf - 여러 PDF 입력:
details.pdfs[]안의pdf항목 - sandbox path rewrite metadata(해당 시):
rewrittenFrom
Error behavior
- PDF 입력 누락:
pdf required: provide a path or URL to a PDF document - PDF가 너무 많음:
details.error = "too_many_pdfs"구조화 오류 반환 - 지원하지 않는 reference scheme:
details.error = "unsupported_pdf_reference" - native mode에서
pages사용:pages is not supported with native PDF providers오류 발생