Verdent Docs
استكشاف الأخطاء وإصلاحها

القيود والحدود

فهم قيود وحدود Verdent

ما ستتعلمه

الحدود المعروفة لـ Verdent for VS Code، بما في ذلك قيود تنسيقات الملفات، وقيود الأدوات، والاعتبارات الخاصة بالمنصات.


الحدود المعروفة

الملفات الثنائية غير مدعومة

تعمل أدوات الملفات في Verdent فقط مع التنسيقات النصية. لا يمكن تحرير ما يلي:

نوع التنسيقأمثلة
الصورPNG، JPG، GIF، SVG (كملف ثنائي)
الفيديوهاتMP4، AVI، MOV
الكود المُجمَّعEXE، DLL، SO
الأرشيفاتZIP، TAR، GZ
مستندات OfficeDOCX، 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/Linuxbash/zshوظائف bash كاملة
WindowsPowerShellبعض أوامر bash غير متوفرة، استخدم مكافئات PowerShell
WSLbashأوامر 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 للاطلاع على التحديثات المتعلقة بتوسيع القدرات، وزيادة الحدود، والتكاملات الجديدة.


طالع أيضًا