Tools
ابزار PDF
pdf یک یا چند سند PDF را تحلیل میکند و متن برمیگرداند. این ابزار در مدلهای Anthropic و Google از ورودی بومی سند استفاده میکند و برای تمام ارائهدهندگان دیگر به استخراج متن/تصویر بازمیگردد.
دسترسپذیری
این ابزار فقط زمانی ثبت میشود که OpenClaw بتواند مدلی با قابلیت پردازش PDF برای عامل پیدا کند. ترتیب انتخاب:
agents.defaults.pdfModel(مدل اصلی/جایگزینهای صریح)agents.defaults.imageModel(مدل اصلی/جایگزینهای صریح)- مدل پیشفرض/نشستِ انتخابشده برای عامل، در صورتی که ارائهدهندهٔ آن از ورودی بومی PDF پشتیبانی کند (Anthropic، Google) یا از قبل مدل بینایی پیکربندیشدهای داشته باشد
- ارائهدهندگانِ دارای قابلیت تصویر/بینایی که بهصورت خودکار شناسایی شدهاند و احراز هویت قابلاستفاده دارند، با اولویت ارائهدهندگان بومی PDF
احراز هویت هر نامزد جایگزین پیش از استفاده بررسی میشود؛ بنابراین یک provider/model پیکربندیشده فقط زمانی معتبر محسوب میشود که OpenClaw بتواند آن ارائهدهنده را برای عامل احراز هویت کند. اگر هیچ مدل قابلاستفادهای یافت نشود، ابزار pdf ارائه نمیشود.
مرجع ورودی
pdfstringیک مسیر یا نشانی وب PDF.
pdfsstring[]چند مسیر یا نشانی وب PDF، در مجموع حداکثر ۱۰ مورد.
promptstringdefault: Analyze this PDF document.پرامپت تحلیل.
pagesstringفیلتر صفحه مانند 1-5 یا 1,3,7-9. در حالت بومی ارائهدهنده پشتیبانی نمیشود.
passwordstringگذرواژهٔ PDFهای رمزگذاریشده. برای همهٔ PDFهای درخواست اعمال میشود و فقط در حالت جایگزین استخراج استفاده میشود.
modelstringبازنویسی اختیاری مدل با قالب provider/model.
maxBytesMbnumberسقف اندازهٔ هر PDF برحسب مگابایت. مقدار پیشفرض agents.defaults.pdfMaxBytesMb است، یا اگر تنظیم نشده باشد 10.
نکات:
pdfوpdfsپیش از بارگذاری ادغام میشوند و موارد تکراری آنها حذف میشود؛ ارائهٔ حداقل یکی از آنها الزامی است.pagesبهصورت شمارهٔ صفحههای مبتنی بر ۱ تجزیه میشود، موارد تکراری حذف و مرتب میشوند و تعداد آنها بهagents.defaults.pdfMaxPages(پیشفرض20) محدود میشود. بازهای که با هیچ صفحهٔ داخل محدوده مطابقت نداشته باشد، پیش از فراخوانی مدل خطا میدهد.
ارجاعهای PDF پشتیبانیشده
- مسیر فایل محلی (از جمله گسترش
~) - نشانی وب
file:// - نشانی وب
http://وhttps:// - ارجاعهای ورودی مدیریتشده توسط OpenClaw مانند
media://inbound/<id>
سایر طرحهای URI (برای مثال ftp://) مقدار details.error = "unsupported_pdf_reference" را برمیگردانند. نشانیهای وب راه دور http(s) هنگام اجرای ابزار در محیط ایزوله رد میشوند. با فعال بودن سیاست فایل محدود به فضای کاری، مسیرهای محلی خارج از ریشههای مجاز رد میشوند؛ ارجاعهای ورودی مدیریتشده و مسیرهای بازپخششده زیر مخزن رسانهٔ ورودی OpenClaw همچنان مجاز هستند.
حالتهای اجرا
حالت بومی ارائهدهنده
برای ارائهدهندگان anthropic و google استفاده میشود (تنها ارائهدهندگانی که در حال حاضر پشتیبانی بومی از سند PDF را اعلام میکنند). بایتهای خام PDF برای هر فایل مستقیماً بهعنوان بخش بومی سند/PDF درونخطی به API ارائهدهنده ارسال میشوند.
محدودیتها:
pagesپشتیبانی نمیشود؛ در صورت تنظیم، ابزار خطایpages is not supported with native PDF providersایجاد میکند.passwordپشتیبانی نمیشود؛ در صورت تنظیم، ابزار خطایpassword is not supported with native PDF providersایجاد میکند. برای PDFهای رمزگذاریشده از یک مدل غیربومی استفاده کنید.
حالت جایگزین استخراج
برای تمام ارائهدهندگان دیگر استفاده میشود.
- متن صفحههای انتخابشده (تا
agents.defaults.pdfMaxPages، با پیشفرض20) از طریق Plugin همراهdocument-extractاستخراج میشود که برای استخراج متن و تصویر از بستهٔclawpdf(PDFium WebAssembly) استفاده میکند. - اگر متن استخراجشده کمتر از
200نویسه باشد، همان صفحهها به تصاویر PNG رندر میشوند. بودجهٔ رندر در مجموع4,000,000پیکسل است که بین همهٔ صفحههای نیازمند تصویر مشترک است (بهصورت متناسب برای هر صفحهٔ باقیمانده تخصیص داده میشود، نه بهازای هر صفحه)؛ بنابراین صفحههای متنی که از قبل متن کافی دارند، اصلاً رندر نمیشوند. - متن استخراجشده (و تصاویر رندرشده، در صورت وجود) بههمراه پرامپت به مدل انتخابشده ارسال میشود.
جزئیات:
- PDFهای رمزگذاریشده با پارامتر سطحبالای
passwordباز میشوند. - اگر مدل ورودی تصویر نداشته باشد و هیچ متن قابلاستخراجی وجود نداشته باشد، ابزار خطا میدهد.
- اگر رندر تصویر ناموفق باشد، OpenClaw تصاویر را کنار میگذارد و با متن استخراجشده ادامه میدهد.
- اگر مدل مقصد فقط متنی باشد و استخراج تصویر تولید کرده باشد، OpenClaw تصاویر را کنار میگذارد و فقط متن را ارسال میکند.
پیکربندی
{ agents: { defaults: { pdfModel: { primary: "anthropic/claude-opus-4-6", fallbacks: ["openai/gpt-5.4-mini"], }, pdfMaxBytesMb: 10, pdfMaxPages: 20, }, },}| کلید | پیشفرض | مفهوم |
|---|---|---|
agents.defaults.pdfModel |
تنظیمنشده | مدلهای اصلی/جایگزین صریح PDF؛ ابتدا به imageModel و سپس به مدل نشست بازمیگردد. |
agents.defaults.pdfMaxBytesMb |
10 |
سقف اندازهٔ هر PDF برحسب مگابایت. |
agents.defaults.pdfMaxPages |
20 |
حداکثر تعداد صفحههای پردازششده برای هر PDF. |
برای جزئیات کامل فیلدها، مرجع پیکربندی را ببینید.
جزئیات خروجی
ابزار متن را در 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 ایجاد میکند |
password با ارائهدهندهٔ بومی |
خطای password 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.4-mini", "prompt": "Extract only customer-impacting incidents"}PDF رمزگذاریشده با جایگزین استخراج:
{ "pdf": "/tmp/locked.pdf", "password": "example-password", "model": "openai/gpt-5.4-mini", "prompt": "Summarize this contract"}مرتبط
- نمای کلی ابزارها - همهٔ ابزارهای عاملِ در دسترس
- مرجع پیکربندی - پیکربندی
pdfMaxBytesMbوpdfMaxPages