FileWriterTool
الوصف
تكتبFileWriterTool محتوى نصيًا إلى ملف. تُنشأ المجلدات المفقودة تلقائيًا.
ترميز النص الافتراضي هو UTF-8.
تقتصر عمليات الكتابة على مجلد sandbox. بشكل افتراضي يكون هذا المجلد هو مجلد
العمل الحالي. مرّر base_dir لتغييره.
التثبيت
مثال
Code
المعاملات
يوفّرها الوكيل في وقت التشغيل:filename: اسم الملف المراد كتابته، نسبةً إلىdirectory. يمكن أن يتضمن مجلدات فرعية. تُنشأ تلك المجلدات الفرعية إذا لم تكن موجودة.content: المحتوى النصي المراد كتابته.directory(اختياري): المجلد الذي تتم الكتابة إليه. يُحل المسار النسبي داخل المجلد المسموح للأداة (base_dirعند تعيينه، وإلا مجلد العمل الحالي) ويُعيَّن افتراضيًا إلى جذر ذلك المجلد (./). يُنشأ إذا لم يكن موجودًا.overwrite(اختياري): ما إذا كان يجب استبدال ملف موجود. يقبل قيمة منطقية أو السلاسلy/yes/t/true/on/1وn/no/f/false/off/0. الافتراضي هوfalse. عندما يكونfalseوالملف موجودًا مسبقًا، تُرجع الأداة خطأً ولا تعدّل الملف.
base_dir(اختياري): المجلد الذي يجب أن تبقى عمليات الكتابة داخله. الافتراضي هو مجلد العمل الحالي. يُحل المسار النسبي عند إنشاء الأداة، لذا لا ينقل تغيير لاحق لمجلد العمل حدود الـ sandbox.encoding(اختياري): ترميز النص المستخدم لكتابة الملف. الافتراضي هوutf-8.
المسارات المسموح بها
عادةً ما يختار نموذج لغوي قيمdirectory وfilename في وقت التشغيل. ترفض
الأداة المسارات التي تخرج من الـ sandbox:
- يجب أن يكون
directoryالمحلول داخلbase_dir(مجلد العمل الحالي افتراضيًا). - يجب أن يكون مسار الملف المحلول داخل ذلك
directory. - تُحل مقاطع
..والمسارات المطلقة والروابط الرمزية قبل كلا الفحصين.
base_dir:
Code
سابقًا، كان بإمكان
directory المطلق الكتابة في أي مكان يملك فيه العملية
صلاحية. إذا اعتمدت على ذلك، عيّن base_dir إلى الشجرة التي تريد السماح بها.
تعيين CREWAI_TOOLS_ALLOW_UNSAFE_PATHS=true يعيد السلوك القديم، لكنه يعطّل
فحوصات المسار وURL على مستوى العملية لكل أدوات crewai-tools. فضّل base_dir.