دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

قلّب فالملايين ديال الملفات المحلية من عند وكلاء الذكاء الاصطناعي باستعمال مهارة Everything Search

تعلّم كيفاش تربط وكلاء البرمجة بالذكاء الاصطناعي بفهرس Voidtools Everything عبر HTTP ولا Win32 IPC الأصلي. هاد الشرح كيغطي إعداد المضيف، التثبيت، إعداد الحاويات، البحث المقيّد، إخراج JSON، فلاتر البحث، ترقيم الصفحات، وأمثلة متقدمة على الاستعلامات.

قلّب فالملايين ديال الملفات المحلية من عند وكلاء الذكاء الاصطناعي باستعمال مهارة Everything Search

شنو كيدير Everything Search Skill

Everything Search Skill كيعطي لوكلاء البرمجة بالذكاء الاصطناعي وصول سريع بزاف للملفات المفهرسة من طرف Voidtools Everything. يقدر يقلب فملايين الملفات فالأقراص ديال NTFS، بمدة استجابة معلنة أقل من 15 ميلي ثانية، وهادشي كيخليه مفيد باش تلقى ملفات المصدر، وملفات الإعدادات، والسجلات، والموارد، ومجلدات المشاريع.

المشروع كيعالج واحد القيد الشائع ديال es.exe. العميل الأصلي ديال سطر الأوامر كيتواصل مع تطبيق Everything المكتبي عبر رسائل Windows وWin32 IPC. وبالتالي، الوكلاء اللي خدامين فـ Docker، أو WSL2، أو Windows Sandbox، أو بيئات تشغيل معزولة، أو جلسات فالخلفية، يقدرو يتوصلو بالخطأ التالي:

Error 8: Everything IPC window not found. Please make sure Everything is running.

هاد الفشل يقدر يوقع حيث إن عزل امتيازات واجهة المستخدم فـ Windows وعزل Session 0 كيمنعو العمليات اللي خدامة فجلسات مكتبية مختلفة من تبادل رسائل النوافذ المطلوبة.

كيفاش خدامة البنية ذات الوضعين

المهارة كتدعم جوج طرق للتواصل مع محرك Everything:

  1. وضع HTTP REST: هو الوضع المفضل للـ sandboxes، والـ containers، وWSL2، والبيئات البعيدة، وLinux، وmacOS. الطلبات كتوصل لسيرفر HTTP اللي خدام فالمضيف Windows وكتفادى قيود جلسات Win32.
  2. وضع CLI IPC: هو البديل لوكيل خدام داخل جلسة مكتبية أصلية ديال Windows. فهاد الوضع، المساعد كينادي على es.exe باستعمال آلية IPC العادية ديال Everything.

فالوضع التلقائي، المساعد المكتوب بـ Python كيحاول HTTP أولا، ومن بعد كيرجع لـ CLI ملي كيكون مناسب. تطبيق Python كيستعمل غير الوحدات القياسية، وبالتالي ماعندو حتى اعتماد على حزم Python خارجية.

الميزات الرئيسية

  • بحث سريع فالملفات المفهرسة: لقا الملفات فالأقراص المفهرسة ديال NTFS بلا ما تدير مسح تكراري للمجلدات.
  • دعم الحاويات: ربط Docker وWSL2 وWindows Sandbox ووكلاء التشغيل المعزولين بنقطة HTTP ديال المضيف.
  • بحث محدد النطاق: قلب فكل الأقراص المفهرسة أو حصر النتائج فمساحة عمل.
  • حدود آمنة للسياق: استعمل خيارات بحال -n 20 باش تمنع مجموعات النتائج الكبيرة من استهلاك نافذة سياق وكيل الذكاء الاصطناعي.
  • نتائج منظمة: طلب مخرجات JSON من مساعدي Python وPowerShell.
  • الاندماج مع الوكلاء: ثبت المهارة لـ Cursor أو Codex أو PI-Desktop أو بيئات الوكلاء المخصصة.

المتطلبات المسبقة

خاصك مضيف Windows فيه Voidtools Everything خدام والفهارس ديالو متاحة. للاستعمال من سطح المكتب الأصلي، المهارة تقدر تتواصل عبر es.exe. وللاستعمال مع Docker أو WSL2 أو البيئات المعزولة أو البعيدة، فعّل سيرفر HTTP ديال Everything فالمضيف.

الخطوة 1: فعّل سيرفر HTTP ديال Everything

فمضيف Windows، حل Everything وكمل هاد الخطوات:

  1. حل Tools، ومن بعد Options.
  2. اختار HTTP Server من التنقل اللي فاليسار.
  3. فعّل Enable HTTP Server.
  4. عيّن المنفذ على 8080.
  5. أكد الإعدادات.

وتقدر حتى تشغل سكريبت الإعداد ديال PowerShell الموجود فالمستودع:

.\scripts\enable_http.ps1 -Port 8080

نقطة HTTP هي الجسر بين وكيل معزول وخدمة Everything اللي خدامة فالمضيف.

الخطوة 2: نسخ المهارة وتثبيتها

حل PowerShell، نسخ المستودع، دخل للمجلد ديالو، وشغل برنامج التثبيت:

git clone https://github.com/Mayuqi-crypto/everything-search-skill.git
cd everything-search-skill
.\scripts\install.ps1

برنامج التثبيت كيحط es.exe فـ ~/.local/bin/، وكيضبط PATH ديال المستخدم، وكينشر المهارة فالمواقع التالية ديال الوكلاء:

  • ~/.agents/skills/
  • ~/.cursor/skills/
  • ~/.codex/skills/

الخطوة 3: دير بحث أساسي

المساعد المزدوج الوضعين المكتوب بـ Python كاين فـ scripts/everything_search.py. فالوضع التلقائي، كيحاول أولا نقطة HTTP، ومن بعد كيستعمل البديل الأصلي ديال CLI إلا كان متاح:

python scripts/everything_search.py "package.json" -n 20

الوسيط -n 20 كيحصر الاستجابة فـ 20 نتيجة. تحديد عدد النتائج مهم بزاف خصوصا ملي غادي وكيل ذكاء اصطناعي يستهلك المخرجات.

رجّع JSON منظم

زيد --json ملي غادي تتم معالجة النتيجة برمجيا:

python scripts/everything_search.py "ext:tsx component" -n 10 --json

هاد الاستعلام كيقلب على العناصر المفهرسة اللي كتطابق بجوج ext:tsx وcomponent، ومن بعد كيرجع ما كيزيدش على 10 نتائج بصيغة JSON.

حصر البحث فمشروع

استعمل -p مع مساعد Python باش تحصر البحث فمساحة عمل:

python scripts/everything_search.py "main.py" -p "C:\Workspace\repo" -n 5

حصر نطاق البحث كيقلل النتائج غير المرتبطة من المشاريع الأخرى وكيخلي المخرجات أكثر فائدة لوكيل خدام داخل مستودع معين.

فرض وضع HTTP

إلا كان خاص الوكيل يستعمل سيرفر HTTP ديال المضيف، اختار هاد الوضع بشكل صريح:

python scripts/everything_search.py "exact:Dockerfile" --mode http

العامل exact: كيتفادى توسيع الرموز البديلة وكيقلب على اسم الملف بالضبط.

استعمل المهارة من Docker

مرّر نقطة المضيف للحاوية عبر EVERYTHING_HTTP_URL. المثال الموجود فالمستودع حتى هو كيربط اسم المضيف الخاص ببوابة المضيف:

docker run -e EVERYTHING_HTTP_URL=http://host.docker.internal:8080 \
  --add-host host.docker.internal:host-gateway \
  my-agent-image

من داخل الحاوية، شغل مساعد Python:

python scripts/everything_search.py "package.json" -n 10 --json

الطلب كيدوز عبر TCP لسيرفر Everything HTTP، وما كيحاولش يستعمل IPC ديال سطح المكتب من داخل الكونتينر.

استعمل الـ Skill من WSL2

فـ WSL2، جيب عنوان مضيف Windows من المسار الافتراضي وعيّن الـ endpoint الناتج للمتغيّر EVERYTHING_HTTP_URL:

export EVERYTHING_HTTP_URL="http://$(ip route show | awk '/default/ {print $3}'):8080"
python3 scripts/everything_search.py "ext:py model" -n 10

الاستعلام كيستعمل AND منطقي: كل نتيجة خاصها توافق فلتر امتداد Python والمصطلح model بجوج.

استعمل es.exe فجلسة Windows أصلية

ملي كيخدم الـ agent فنفس السياق الأصلي ديال سطح المكتب اللي فيه Everything، تقدر تعيط مباشرة لـ es.exe. ديما حدّد حدّ معقول للنتائج:

es.exe -n 20 "package.json"

حصر النتائج فـ Workspace

es.exe -path "C:\my-repo" -n 20 "index.ts"

رجّع غير الملفات ولا المجلدات

استعمل /a-d غير للملفات و/ad غير للمجلدات:

es.exe /a-d -n 15 "ext:tsx component"
es.exe /ad -n 10 "node_modules"

رتّب السجلات الحديثة أولا

es.exe -sort-date-modified-descending -n 10 "ext:log dm:today"

هاد البحث كيقلب على ملفات السجل ديال اليوم وكيرتّبها حسب تاريخ التعديل، من الأحدث للأقدم.

بنِ استعلامات Everything أكثر دقّة

صيغة البحث ديال Everything تقدر تضيق نطاق البحث قبل ما توصل النتائج للـ agent.

  • امتدادات متعددة: استعمل ext:md;txt;json باش تطابق عدة امتدادات.
  • الحد الأدنى لحجم الملف: استعمل size:>100MB.
  • نطاق الحجم: استعمل size:1MB..50MB. الوحدات المدعومة هي B وKB وMB وGB.
  • تاريخ التعديل: استعمل dm:today أو dm:last7days أو قيمة بحال dm:2025.
  • المسار الأب: استعمل path:"C:\Workspace".
  • اسم الملف المطابق تماما: استعمل exact:Dockerfile.
  • AND منطقي: فرّق بين المصطلحات بالمسافات، بحال model user ext:py.
  • OR منطقي: حطّ خط عمودي بين البدائل، بحال *.jpg | *.png.
  • NOT منطقي: زِد ! قبل الاستثناء، بحال *.ts !*.test.ts.
  • التعابير النمطية: استعمل الخيار -r ديال CLI الأصلي، مثلا es.exe -r "src\\api\\.*\.go$".

نصائح متقدمة لسيرورات خدمة وكلاء الذكاء الاصطناعي

فضّل الردود الصغيرة والمنظّمة

جمع -n مع --json ملي كيحتاج agent يختار الملفات ولا يمرّر النتائج لأداة أخرى. الردّ المنظّم والصغير أسهل فالتحليل وأقل عرضة باش يفوت سعة السياق ديال النموذج.

python scripts/everything_search.py "ext:json package" -n 10 --json

حدّد النطاق قبل ما توسّعو

بدا بالـ workspace الحالي ملي يكون مكان المشروع معروف. إلا ما عطاش نتائج مفيدة، وسّع الاستعلام لجميع الأقراص المفهرسة. هاد الطريقة كتحدّ من الضجيج وكتخلي إمكانية البحث فالفهرس كامل.

جمع الفلاتر

Everything كيتعامل مع المصطلحات المفصولة بالمسافات كشروط AND منطقية. تقدر تجمع مصطلحات أسماء الملفات والامتدادات والتواريخ والاستثناءات فاستعلام واحد:

python scripts/everything_search.py "ext:ts dm:last7days !*.test.ts" -n 20 --json

هاد المثال كيقلب على ملفات TypeScript اللي تبدلات مؤخرا، مع استثناء الملفات اللي كيساليو بـ .test.ts.

اختار طريقة النقل المناسبة

  • استعمل الوضع التلقائي فالاستعمال العام ومع سلوك الرجوع الاحتياطي المريح.
  • استعمل وضع HTTP مع Docker وWSL2 والـ sandboxes والـ agents البعيدة والبيئات المفصولة على جلسة سطح مكتب Windows.
  • استعمل أوامر es.exe المباشرة ملي كتخدم بشكل تفاعلي فجَلسة سطح مكتب Windows الأصلية وكتحتاج خيارات خاصة بـ CLI.

فهم مكوّنات المستودع

  • SKILL.md فيه المواصفة القياسية ديال مهارة الـ agent.
  • bin/es.exe فيه أداة CLI الرسمية ديال Voidtools.
  • scripts/install.ps1 كينفّذ التثبيت وإعداد PATH.
  • scripts/enable_http.ps1 كيهيّئ سيرفر HTTP.
  • scripts/everything_search.ps1 كيوفّر غلاف PowerShell بوضعين.
  • scripts/everything_search.py كيوفّر غلاف Python بوضعين وبدون اعتماديات.

الخلاصة

Everything Search Skill كتخلّي وكلاء البرمجة بالذكاء الاصطناعي يستافدو من سرعة فهرس Everything بلا اعتماد حصري على IPC ديال سطح مكتب Win32. فعّل سيرفر HTTP فالمضيف، ثبّت الـ skill، هيّئ الـ endpoint للبيئات المعزولة، واستعمل استعلامات محددة النطاق مع حدود صارمة للنتائج. من بعد، المساعد ذو الوضعين كيدعم agents داخل الحاويات وسيرورات Windows الأصلية عبر واجهة بحث موحّدة.

المشروع متاح بموجب رخصة MIT. Voidtools Everything وes.exe كيبقاو بحقوق نشر Voidtools.