الانتقال إلى المحتوى الرئيسي

نظرة عامة

تقرأ URLReadTool المحتوى الموجود في عنوان URL وتعيده كنص. يتم استخراج النص من ملفات PDF وDOCX وXLSX، ويُختزل HTML إلى النص المرئي، وتُفك ترميزات الأنواع النصية (نص عادي، Markdown، JSON، XML، YAML، CSV) كما هي. وتعمل مع الروابط الموقّعة مسبقًا للتخزين السحابي (S3 وR2 وGoogle Drive وOneDrive وSharePoint) حتى عندما يصنّف الخادم الملف على أنه application/octet-stream. لا تقوم الأداة بالمصادقة، لذا يجب أن يمنح الرابط نفسه صلاحية الوصول.

التثبيت

مثال على الاستخدام

Code

المعاملات

يوفرها الوكيل أثناء التشغيل:
  • url: عنوان URL المراد قراءته.
  • start_line: (اختياري) السطر الذي تبدأ منه القراءة (يبدأ العد من 1). القيمة الافتراضية 1.
  • line_count: (اختياري) عدد الأسطر المراد إرجاعها. إذا حُذف، يُرجع كل شيء بدءًا من start_line.
تحددها عند إنشاء الأداة:
  • max_bytes: (اختياري) أكبر حجم لجسم الاستجابة مسموح به. القيمة الافتراضية 5 MiB.
  • timeout: (اختياري) مهلة كل طلب بالثواني. القيمة الافتراضية 30.
  • headers: (اختياري) ترويسات طلب إضافية.
  • encoding: (اختياري) فرض ترميز نصي بدلاً من الترميز الذي يعلنه الخادم.
إذا فشل الجلب، تُرجع الأداة إخفاقًا يتضمن السبب، مثل عنوان محظور أو خطأ في الاتصال.

أمان الشبكة

لأن عنوان URL يختاره عادةً نموذج لغوي (LLM) أثناء التشغيل، تُفحص الطلبات للحماية من SSRF:
  • يتم حل اسم كل مضيف، ويُرفض الطلب إذا كان أي عنوان تم حله خاصًا أو حلقة محلية (loopback) أو link-local أو محجوزًا بطريقة أخرى. ويشمل ذلك نقاط نهاية البيانات الوصفية السحابية والخدمات الداخلية.
  • لا تُتَّبع عمليات إعادة التوجيه تلقائيًا. يُفحص كل انتقال من جديد، وتُسقط بيانات الاعتماد عند الانتقال بين أصول مختلفة.

السماح بمضيف داخلي

تقدم بعض بيئات النشر الملفات من مضيف يُحل إلى عنوان خاص، مثل منصة مستضافة ذاتيًا خلف موازن تحميل داخلي. للسماح به، أدرج اسم المضيف بدقة في CREWAI_TOOLS_ALLOWED_PRIVATE_HOSTS:
أمثلة على ما تسمح به كل قيمة، لطلب إلى https://files.internal.example.com/report.pdf:
  • الإدخالات مفصولة بفواصل. يمكن أن يكون كل إدخال اسم مضيف مجردًا أو host:port أو عنوان URL كاملًا. يُستخدم اسم المضيف فقط، ويُطابق بدقة ودون مراعاة حالة الأحرف. أحرف البدل مثل *.example.com غير مدعومة.
  • لا يُسمح بعناوين IP عبر هذه القائمة مطلقًا.
  • قد يُحل المضيف المدرج إلى أي عنوان خاص، لذا أدرج فقط أسماء المضيفين التي تتحكم في DNS الخاص بها وتثق به.
  • لا تزال عمليات إعادة التوجيه تُفحص، لذا يجب إدراج أي مضيف داخلي آخر يُعاد التوجيه إليه.
  • ينطبق الإعداد على كل أدوات crewai-tools التي تجري طلبات آمنة، وليس URLReadTool فقط.
  • لا يزال التحقق من شهادات TLS قائمًا. يجب أن ترتبط شهادة المضيف الذي يستخدم جهة إصدار شهادات خاصة بسلسلة تنتهي بجهة تثق بها الأداة.
هذا أضيق نطاقًا من CREWAI_TOOLS_ALLOW_UNSAFE_PATHS=true الذي يعطّل حماية المسارات وSSRF على مستوى العملية بأكملها ويجب تجنبه. تُتجاهل قائمة السماح عندما يكون CREWAI_TOOLS_FORCE_SAFE_PATHS=true معينًا، لأن هذا القفل موجود لمنع أي عملية نشر من تخفيف هذه الفحوصات. لاستخدام القائمة، اترك CREWAI_TOOLS_FORCE_SAFE_PATHS غير معين، وعيّن CREWAI_TOOLS_ALLOWED_PRIVATE_HOSTS، وأزل CREWAI_TOOLS_ALLOW_UNSAFE_PATHS لأن هذا المتغير يعود إلى العمل عند إزالة القفل. افعل ذلك فقط على العمال الذين تديرهم، وليس على العمال المشتركين أو متعددي المستأجرين.