بناء وكيل تنظيم الملفات
التعليمات
الهدف
بناء وكيل Python يستخدم قدرة استخدام الحاسوب من كلود لتنظيم الملفات في مجلد التنزيلات الفوضوي عن طريق نقلها إلى مجلدات فرعية مصنفة.
الخلفية
يجمع هذا المختبر بين أتمتة واجهة المستخدم المرئية وأوامر bash للحصول على نهج هجين فعال. يجب أن يستخدم الوكيل bash للعمليات المجمعة على الملفات بينما يستخدم أداة الحاسوب للتحقق المرئي.
المتطلبات
أنشئ فئة FileOrganizerAgent مع الطرق التالية:
1. analyze_folder(path: str) -> dict
يفحص المجلد ويرجع أعداد الملفات حسب الفئة:
{
"images": ["photo1.jpg", "screenshot.png"],
"documents": ["report.pdf", "notes.txt"],
"videos": ["clip.mp4"],
"archives": ["backup.zip"],
"other": ["random.xyz"]
}
2. create_category_folders(base_path: str) -> list[str]
ينشئ مجلدات فرعية لكل فئة إذا لم تكن موجودة. يرجع قائمة مسارات المجلدات المنشأة.
3. organize_files(path: str) -> dict
ينقل الملفات إلى مجلدات الفئات المناسبة. يرجع ملخصاً:
{
"moved": 15,
"skipped": 2,
"errors": []
}
4. generate_tool_calls(path: str) -> list[dict]
يرجع تسلسل استدعاءات أداة استخدام الحاسوب اللازمة لـ:
- فتح مدير الملفات في المسار المحدد
- التحقق من التنظيم بصرياً
- التقاط لقطة شاشة للنتيجة
فئات الملفات
| الفئة | الامتدادات |
|---|---|
| images | .jpg, .jpeg, .png, .gif, .bmp, .svg, .webp |
| documents | .pdf, .doc, .docx, .txt, .md, .xlsx, .pptx |
| videos | .mp4, .avi, .mkv, .mov, .webm |
| audio | .mp3, .wav, .flac, .aac, .ogg |
| archives | .zip, .tar, .gz, .rar, .7z |
| code | .py, .js, .ts, .html, .css, .json |
| other | كل شيء آخر |
تنسيق استدعاء الأداة المتوقع
{
"type": "tool_use",
"name": "computer",
"input": {
"action": "type",
"text": "nautilus /home/user/Downloads"
}
}
تلميحات
- استخدم
os.path.splitext()للحصول على امتدادات الملفات - استخدم
shutil.move()لنقل الملفات - أداة bash أسرع لعمليات الملفات من نقرات واجهة المستخدم
- استخدم استخدام الحاسوب للتحقق المرئي في النهاية
ما يجب تقديمه
يجب أن يحتوي تقديمك على قسم ملف واحد في المحرر أدناه: ملف Python بفئة FileOrganizerAgent الكاملة.