Tools
ابزار PDF
pdf یک یا چند سند PDF را تحلیل میکند و متن برمیگرداند. این ابزار در مدلهای Anthropic و Google از ورودی بومی سند استفاده میکند و برای همه ارائهدهندگان دیگر به استخراج متن/تصویر بازمیگردد.
دسترسپذیری
ابزار فقط زمانی ثبت میشود که OpenClaw بتواند مدلی با قابلیت PDF برای عامل پیدا کند. ترتیب یافتن:
agents.defaults.pdfModel(مدل اصلی/جایگزینهای صریح)agents.defaults.imageModel(مدل اصلی/جایگزینهای صریح)- مدل پیشفرض/نشست یافتشدهٔ عامل، اگر ارائهدهندهٔ آن از ورودی بومی PDF پشتیبانی کند (Anthropic، Google) یا از قبل یک مدل بینایی پیکربندیشده داشته باشد
- ارائهدهندگان دارای قابلیت تصویر/بینایی که بهطور خودکار شناسایی شدهاند و احراز هویت قابلاستفاده دارند، با اولویت ارائهدهندگان PDF بومی
احراز هویت هر گزینهٔ جایگزین پیش از استفاده بررسی میشود؛ بنابراین یک provider/model پیکربندیشده تنها زمانی به حساب میآید که OpenClaw بتواند آن ارائهدهنده را برای عامل احراز هویت کند. اگر هیچ مدل قابلاستفادهای یافت نشود، ابزار pdf ارائه نمیشود.
مرجع ورودی
pdfstringیک مسیر یا URL برای PDF.
pdfsstring[]چند مسیر یا URL برای PDF، در مجموع حداکثر 10 مورد.
promptstringdefault: Analyze this PDF document.پرامپت تحلیل.
pagesstringفیلتر صفحه مانند 1-5 یا 1,3,7-9. در حالت ارائهدهندهٔ بومی پشتیبانی نمیشود.
passwordstringرمز عبور PDFهای رمزگذاریشده. برای همهٔ PDFهای درخواست اعمال میشود؛ فقط در حالت جایگزین استخراج استفاده میشود.
modelstringبازنویسی اختیاری مدل بهشکل provider/model.
maxBytesMbnumberسقف اندازهٔ هر PDF برحسب MB. مقدار پیشفرض agents.defaults.pdfMaxMb است، یا اگر تنظیم نشده باشد 10.
نکات:
pdfوpdfsپیش از بارگذاری ادغام و موارد تکراریشان حذف میشوند؛ دستکم یکی الزامی است.pagesبهصورت شمارهصفحههای مبتنی بر 1 تجزیه میشود، موارد تکراری آن حذف، مرتب و بهagents.defaults.pdfMaxPages(پیشفرض20) محدود میشوند. محدودهای که با هیچ صفحهٔ درونکرانی مطابقت نداشته باشد، پیش از فراخوانی مدل خطا میدهد.
ارجاعهای PDF پشتیبانیشده
- مسیر فایل محلی (از جمله گسترش
~) - URL از نوع
file:// - URL از نوع
http://وhttps:// - ارجاعهای ورودی مدیریتشده توسط OpenClaw مانند
media://inbound/<id>
طرحهای URI دیگر (برای مثال ftp://) مقدار details.error = "unsupported_pdf_reference" را برمیگردانند. URLهای راهدور 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استخراج میکند؛ این Plugin برای استخراج متن و تصویر از بستهٔ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.pdfMaxMb |
10 |
سقف اندازهٔ هر PDF برحسب MB. |
agents.defaults.pdfMaxPages |
20 |
حداکثر صفحههای پردازششده برای هر PDF. |
برای جزئیات کامل فیلدها، مرجع پیکربندی را ببینید.
جزئیات خروجی
ابزار متن را در 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 ایجاد میکند |
| بیش از 10 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": "این گزارش را در 5 مورد فهرستوار خلاصه کنید"}چند PDF:
{ "pdfs": ["/tmp/q1.pdf", "/tmp/q2.pdf"], "prompt": "ریسکها و تغییرات زمانبندی را در هر دو سند مقایسه کنید"}مدل جایگزین با فیلتر صفحه:
{ "pdf": "https://example.com/report.pdf", "pages": "1-3,7", "model": "openai/gpt-5.4-mini", "prompt": "فقط رخدادهای مؤثر بر مشتری را استخراج کنید"}PDF رمزگذاریشده با جایگزین استخراج:
{ "pdf": "/tmp/locked.pdf", "password": "example-password", "model": "openai/gpt-5.4-mini", "prompt": "این قرارداد را خلاصه کنید"}مرتبط
- نمای کلی ابزارها - همهٔ ابزارهای عامل موجود
- مرجع پیکربندی - پیکربندی pdfMaxBytesMb و pdfMaxPages