PDFツール
pdfは1つ以上のPDFドキュメントを分析し、テキストを返します。
主な動作:
- AnthropicおよびGoogleモデルプロバイダー向けのネイティブプロバイダーモード。
- 他のプロバイダー向けの抽出フォールバックモード(先にテキストを抽出し、必要に応じてページ画像を使用)。
- 単一入力(
pdf)または複数入力(pdfs)に対応、1回の呼び出しで最大10件。
利用条件
このツールは、OpenClawがエージェント用のPDF対応モデル設定を解決できる場合にのみ登録されます:
agents.defaults.pdfModel- フォールバック:
agents.defaults.imageModel - フォールバック: 利用可能な認証に基づくベストエフォートのプロバイダーデフォルト
使用可能なモデルが解決できない場合、pdfツールは公開されません。
入力リファレンス
pdf(string): PDFのパスまたはURL(1つ)pdfs(string[]): 複数のPDFパスまたはURL(合計10件まで)prompt(string): 分析プロンプト、デフォルトはAnalyze this PDF document.pages(string):1-5や1,3,7-9のようなページフィルターmodel(string): オプションのモデルオーバーライド(provider/model)maxBytesMb(number): PDFごとのサイズ上限(MB)
入力に関する注意:
pdfとpdfsはロード前にマージおよび重複排除されます。- PDFの入力がない場合、ツールはエラーを返します。
pagesは1ベースのページ番号として解析され、重複排除、ソート後、設定された最大ページ数に制限されます。maxBytesMbのデフォルトはagents.defaults.pdfMaxBytesMbまたは10。
サポートされるPDF参照形式
- ローカルファイルパス(
~展開を含む) file://URLhttp://およびhttps://URL
参照に関する注意:
- その他のURIスキーム(例:
ftp://)はunsupported_pdf_referenceとして拒否されます。 - サンドボックスモードでは、リモートの
http(s)URLは拒否されます。 - ワークスペースのみのファイルポリシーが有効な場合、許可されたルート外のローカルファイルパスは拒否されます。
実行モード
ネイティブプロバイダーモード
anthropicおよびgoogleプロバイダーで使用されます。
PDFのバイトデータを直接プロバイダーAPIに送信します。
ネイティブモードの制限:
pagesは非対応です。設定するとエラーが返されます。
抽出フォールバックモード
非ネイティブプロバイダーで使用されます。
フロー:
- 選択したページからテキストを抽出(
agents.defaults.pdfMaxPagesまで、デフォルト20)。 - 抽出テキストが
200文字未満の場合、選択したページをPNG画像としてレンダリングして含める。 - 抽出したコンテンツとプロンプトを選択したモデルに送信。
フォールバックの詳細:
- ページ画像抽出はピクセルバジェット
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、フォールバックの場合は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の明確なエラーをスロー
使用例
単一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"
}