// tier: vasic-util-secondary · order 23
VisionEngine activelicense: UNVERIFIED
Source
المحتوى انظر إلى واجهة المستخدم كما يراها المستخدم — الرؤية الحاسوبية بالإضافة إلى رؤية LLM للتحليل والتنقل.
VisionEngine هي مجموعة أدوات Go مفككة الارتباط تجمع بين الرؤية الحاسوبية التقليدية ورؤية LLM لتحليل واجهات المستخدم، وكشف عناصر الواجهة والمشكلات البصرية، وبناء خرائط تنقل لتحولات شاشات التطبيقات — مع دعم متعدد لمزودي الرؤية القابلة للتوصيل، حيث يتم حجب OpenCV خلف علامة بناء محددة.
وحدة Go قابلة لإعادة الاستخدام لتحليل الواجهات وبناء خرائط التنقل. توفر طبقة المحلل (عناصر الواجهة، فروق الشاشات، المشكلات البصرية)، وخريطة تنقل مع البحث بالعرض الأول (BFS) وتصدير بتنسيقات DOT/JSON/Mermaid، ومحولات رؤية LLM لـ GPT-4o، Claude، Gemini، Qwen-VL، وغيرها.
معظم أدوات أتمتة اختبار الواجهات تعمل فعلياً وهي عمياء. فهي تعتمد على أشجار الوصول ومحددات DOM — وهي فكرة الآلة عن الواجهة — وتفوت كل ما يختبره الإنسان فعلياً: هل الزر مرئي بالفعل؟ هل انكسر التخطيط؟ هل الشاشة التي وصل إليها هي الشاشة المتوقعة؟ تغلق VisionEngine هذه الفجوة عبر منح الأتمتة إدراكاً حقيقياً، القدرة على النظر إلى الواجهة والتفكير فيها كما يفعل الإنسان. وهي منظمة في أربع طبقات متعاونة تبني من وحدات البكسل الخام وصولاً إلى فهم التطبيق بأكمله. طبقة المحلل تحدد العقد المستقر — الواجهات (Analyzer، VideoProcessor) وأنواع القيم (UIElement، ScreenAnalysis، ScreenDiff، Rect، Size، TextRegion، VisualIssue، ScreenIdentity، Action، KeyFrame) مع تنفيذ مرجعي لـ StubAnalyzer — لتمكين المستخدمين من كشف العناصر، ومقارنة الشاشات، وكشف المشكلات البصرية وفقاً لعقد لن يتغير تحت أيديهم. طبقة خريطة التنقل ترفع الرؤية من شاشة واحدة إلى التطبيق بأكمله، حيث تصممها كرسوم بيانية موجهة لتحولات الشاشات مع بحث بالعرض الأول (BFS) وثلاثة واجهات تصدير (DOT، JSON، Mermaid)، لتمكين الأتمتة ليس فقط من رؤية الشاشة بل والتخطيط لمسار إلى أي شاشة أخرى — وهي تأتي مع مجموعات اختبارات الإجهاد، والأتمتة، والتكامل، والأمان لإثبات ذلك. طبقة رؤية LLM تضيف التفكير متعدد الوسائط الحديث: واجهة VisionProvider مع محولات لـ OpenAI (GPT-4o)، Anthropic (Claude)، Gemini، Qwen-VL، كيمي، StepGUI، أستيكا، وOllama، مجمعة عبر FallbackChain بحيث يفشل المزود المحدود أو الضعيف بشكل رشيق وينتقل إلى المزود التالي بدلاً من إسقاط العملية بأكملها. طبقة التهيئة تتولى تحميل المتغيرات البيئية والتحقق منها، حيث يتم توجيه كل رسالة خطأ تواجه المستخدم عبر i18n.Translator.
القرار الذي يجعل كل هذا قابلاً للتطبيق فعلياً هو أن التبعية الأصلية الثقيلة اختيارية. روابط OpenCV محجوبة خلف علامة البناء -tags vision، والبناء الافتراضي يأتي مع نماذج بديلة — بحيث يتم تجميع الوحدة واختبارها وتشغيلها على أي مضيف Go 1.25+ دون الحاجة إلى سلسلة أدوات OpenCV، ولا يتم سحب الحزمة الأصلية إلا عندما يختار المستخدم ذلك صراحةً. هذا ما يسمح لـ VisionEngine بالعمل في بيئة CI عادية دون الحاجة إلى صورة مخصصة. وهي مفككة الارتباط بالكامل وفقاً للدستور (CONST-051(B))، ويتم دمجها من قبل المستخدمين — وخاصة HelixQA — كوحدة فرعية متساوية في قاعدة الشفرة، مما يمنح اختبار الواجهات القائم على الأدلة زوجاً حقيقياً من العيون.
المحتوى
أتمتة اختبار واجهة المستخدم التي تعتمد فقط على أشجار الوصول أو محددات العناصر تغفل ما يراه المستخدم فعلياً. يضيف VisionEngine فهماً بصرياً حقيقياً — كشف العناصر، ومقارنة الشاشات، والاستدلال القائم على الرؤية باستخدام LLM — بالإضافة إلى خريطة قابلة للتنقل لشاشات التطبيق، مما يمكّن الأتمتة من إدراك واجهة المستخدم والتنقل عبرها.
يجمع بين نهجين غير متوافقين عادةً — الرؤية الحاسوبية الكلاسيكية السريعة والحتمية والرؤية القائمة على LLM المرنة والدلالية — خلف واجهة واحدة مع سلسلة احتياطية، بحيث يحصل المستخدم على دقة الأول واستدلال الثاني دون الحاجة للاختيار بينهما. وبجعل OpenCV اختيارياً تماماً، يزيل العبء المعتاد على هذه القوة: إذ يمكن لأي مشروع Go اكتساب إدراك حقيقي لواجهة المستخدم دون سحب سلسلة أدوات الرؤية الأصلية إلى بنائه.
- إدراك مزدوج: الرؤية الحاسوبية الكلاسيكية (OpenCV/GoCV) بالإضافة إلى الرؤية القائمة على LLM متعددة المزودين مع سلسلة احتياطية.
- رسم بياني للتنقل مع البحث بالعرض الأول (BFS) وتصدير بصيغ DOT/JSON/Mermaid.
- تقييد OpenCV بوسوم البناء بحيث يظل الوحدة قابلة للبناء والاختبار دون تبعيات أصلية.
- وحدة فرعية مستقلة تماماً، مخيطة بالتوطين، ومتساوية الكود (تُستخدم من قبل HelixQA).
- صعوبة التبعيات الأصلية الثقيلة: تم حلها بوسم
-tags visionوإعدادات افتراضية بديلة بحيث تبني بيئات التكامل المستمر والخوادم دون OpenCV وتختبرها. - عدم موثوقية مزودي الرؤية: تم حلها بواجهة
VisionProviderومؤلف سلسلة الاحتياطيةFallbackChain. - رسم خرائط لتدفقات التطبيقات المعقدة: تم حلها برسم بياني موجه للتنقل بالإضافة إلى البحث بالعرض الأول (BFS) وتصدير متعدد الصيغ.
- الاقتران: تم حله عبر فك الاقتران وفق CONST-051(B) وخياطة المترجم للتوطين.
- Go (1.25+) — النواة الأساسية للطبقات الأربع.
- GoCV / OpenCV — الرؤية الحاسوبية الكلاسيكية، مقيدة بوسوم البناء.
- مزودو الرؤية القائمة على LLM (GPT-4o، Claude، Gemini، Qwen-VL، Kimi، StepGUI، Astica، Ollama) — الاستدلال متعدد الوسائط لواجهة المستخدم عبر محولات.
- خوارزميات الرسوم البيانية (BFS) — إيجاد مسارات التنقل.
- مصدّرات DOT / JSON / Mermaid — تصور رسم بياني للتنقل.
- مترجم التوطين — سلاسل نصية موجهة للمستخدم ومفككة الاقتران.