القيود والحدود
فهم قيود وحدود Verdent
ما ستتعلمه
الحدود المعروفة لـ Verdent for VS Code، بما في ذلك قيود تنسيقات الملفات، وقيود الأدوات، والاعتبارات الخاصة بالمنصات.
الحدود المعروفة
الملفات الثنائية غير مدعومة
تعمل أدوات الملفات في Verdent فقط مع التنسيقات النصية. لا يمكن تحرير ما يلي:
| نوع التنسيق | أمثلة |
|---|---|
| الصور | PNG، JPG، GIF، SVG (كملف ثنائي) |
| الفيديوهات | MP4، AVI، MOV |
| الكود المُجمَّع | EXE، DLL، SO |
| الأرشيفات | ZIP، TAR، GZ |
| مستندات Office | DOCX، XLSX، PPTX |
| ملفات PDF | ملفات PDF |
الحل البديل: يمكن الإشارة إلى الملفات الثنائية في الكود أو مناقشتها من الناحية المفاهيمية، لكن التعديل عليها يتطلب أدوات خارجية.
حدود عدد الأسطر في file_read
القيد:
- يجب قراءة الملفات الكبيرة (أكثر من 10,000 سطر) على أجزاء
- قراءة ملف كبير بالكامل قد تؤدي إلى استنفاد السياق
الحل: استخدم نطاقات الأسطر: file_read("file.js", start_line=100, max_lines=50)
مهلة انتظار أوامر bash
القيد:
- الحد الأقصى للمهلة: 120 ثانية (دقيقتان)
- سيتم إنهاء العمليات طويلة التشغيل تلقائيًا
الحل: قسّم العمليات إلى أوامر أصغر تكتمل خلال دقيقتين
أداء البحث
القيد:
- أنماط glob الواسعة (
**/*) يمكن أن تُرجع آلاف النتائج - عمليات بحث regex أبطأ من السلاسل النصية الحرفية
الحل: استخدم أنماطًا محددة واستبعد المجلدات غير الضرورية
استنفاد السياق
المشكلة: خلال الجلسات الطويلة أو العمليات المعقدة، يمكن أن تمتلئ نافذة سياق الذكاء الاصطناعي، مما يحد من القدرة على الرجوع إلى أجزاء سابقة من المحادثة.
استراتيجيات التخفيف:
- استخدم الوكلاء الفرعيين للبحث الاستكشافي (النتائج فقط تستهلك السياق الرئيسي)
- اقرأ الملفات بشكل استراتيجي باستخدام نطاقات الأسطر
- استخدم
grep_fileقبل قراءة المحتويات الكاملة - فوّض المهام الخلفية إلى الوكيل الفرعي Explorer
بالنسبة للملفات التي تتجاوز 500 سطر، استخدم دائمًا نطاقات الأسطر للحفاظ على مساحة السياق.
ما لا يستطيع Verdent القيام به
لا إدارة مباشرة للنظام
لا يمكنه:
- تعديل إعدادات VS Code برمجيًا
- تثبيت إضافات VS Code تلقائيًا
- تغيير الإعدادات على مستوى النظام
- إعادة تشغيل VS Code أو خدمات النظام
النطاق: يعمل Verdent ضمن مساحة عمل VS Code، وليس على مستوى إدارة النظام.
لا تنفيذ ذاتي
ضوابط Manual Accept Mode:
- يجب على المستخدمين الموافقة على تنفيذ الأدوات في Manual Accept Mode
- لا عمليات خلفية آلية دون موافقة
- لا يمكن تشغيل الأوامر بينما يكون VS Code مغلقًا
الغرض: السلامة وتحكم المستخدم في جميع العمليات.
لا يمكن لـ Verdent تنفيذ أوامر في الخلفية دون موافقة المستخدم. تتطلب جميع العمليات موافقة صريحة في Manual Accept Mode.
لا مراقبة فورية
لا يمكنه:
- مراقبة العمليات الجارية بشكل مستمر
- تتبع تغييرات نظام الملفات في الوقت الفعلي
- التنبيه عند أحداث النظام
- بث ملفات السجلات بشكل مستمر
البديل: استخدم تكاملات MCP لأدوات المراقبة الخارجية.
لا عمليات شبكة دون MCP
القيود المدمجة:
- لا يمكن إجراء طلبات HTTP عشوائية (استخدم
web_fetchلصفحات محددة) - لا اتصالات مباشرة بقواعد البيانات (يتطلب MCP)
- لا يمكن الوصول إلى الخدمات السحابية مباشرة (يتطلب MCP)
- لا تكاملات فورية مع API (يتطلب MCP)
الحل: قم بتهيئة خوادم MCP للوصول إلى الأنظمة الخارجية.
القيود الخاصة بالمنصة
الاختلافات بين أنظمة التشغيل
سلوك أداة bash:
| المنصة | الصدفة (Shell) | ملاحظات |
|---|---|---|
| macOS/Linux | bash/zsh | وظائف bash كاملة |
| Windows | PowerShell | بعض أوامر bash غير متوفرة، استخدم مكافئات PowerShell |
| WSL | bash | أوامر Linux تعمل في بيئة WSL |
التعامل مع المسارات:
- تستخدم Windows الشرطات المائلة العكسية (
\)، بينما تستخدم Unix الشرطات المائلة الأمامية (/) - قد تحتاج مسارات الملفات إلى تعديل للمشاريع متعددة المنصات
متطلبات إصدار VS Code
الحد الأدنى من المتطلبات:
- توافق إصدار VS Code (تحقق من متجر الإضافات لمعرفة الحد الأدنى الحالي)
- مساحة قرص كافية لتخزين السياق المؤقت
يتم الحفاظ على متطلبات الإصدار المحددة في صفحة VS Code في المتجر. تحقق من تفاصيل الإضافة لمعرفة التوافق الحالي.
قيود مساحة العمل
التركيز على مساحة عمل واحدة:
- يعمل Verdent ضمن مساحة عمل VS Code واحدة في كل مرة
- لا يمكن تعديل الملفات عبر عدة نوافذ VS Code مفتوحة في وقت واحد
- مساحات العمل متعددة الجذور مدعومة، لكن السياق يقتصر على مساحة العمل النشطة الحالية
حلول بديلة للقيود الشائعة
تعديل الملفات الثنائية
القيد: لا يمكن تحرير الصور أو ملفات PDF أو الملفات الثنائية المُجمَّعة
الحلول البديلة:
- أشر إلى أدوات خارجية في أوامر bash:
bash("convert input.png -resize 50% output.png") - أنشئ نصوصًا برمجية يمكن للأدوات الخارجية تنفيذها
- وثّق الخطوات اليدوية لعمليات الملفات الثنائية
مثال:
# Image conversion
bash("convert input.png -resize 50% output.png")
# PDF to text
bash("pdftotext document.pdf output.txt")التعامل مع الملفات الكبيرة
القيد: الملفات التي تتجاوز 10,000 سطر تُثقل نافذة السياق
الحلول البديلة:
- استخدم نطاقات الأسطر:
file_read("large.log", start_line=1000, max_lines=100) - ابحث أولًا:
grep_content("ERROR", glob="large.log")للعثور على الأجزاء ذات الصلة - قسّم الملفات إلى وحدات أصغر لتسهيل الإدارة
استخدم دائمًا grep_content أولًا لتحديد الأجزاء ذات الصلة، ثم اقرأ فقط نطاقات الأسطر المحددة تلك.
استنفاد نافذة السياق
القيد: المحادثات الطويلة تملأ نافذة السياق
الحلول البديلة:
- فوّض البحث في قاعدة الكود إلى الوكيل الفرعي Explorer
- استخدم الوكيل الفرعي Verifier لمهام التحقق المعزولة
- ابدأ محادثة جديدة للمهام المنفصلة
- استخدم
todo_updateلتتبع التقدم عبر الجلسات
أفضل ممارسة: فوّض البحث الخلفي إلى الوكلاء الفرعيين للحفاظ على السياق الرئيسي للتطوير النشط.
اختلافات الأوامر بين المنصات
القيد: تختلف أوامر bash بين Windows وUnix
الحلول البديلة:
- استخدم أدوات متعددة المنصات: نصوص npm البرمجية بدلًا من bash الخام
- أوامر شرطية:
bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then ...; fi") - ملف AGENTS.md خاص بالمشروع يتضمن ملاحظات حول المنصات
مثال:
# Cross-platform
bash("npm run build")
# Platform-specific conditional
bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then make; else nmake; fi")تحسينات مستقبلية
تتم معالجة القيود باستمرار. تحقق من ملاحظات إصدار Verdent للاطلاع على التحديثات المتعلقة بتوسيع القدرات، وزيادة الحدود، والتكاملات الجديدة.