أتمتة سير العمل المستند إلى المتصفح باستخدام LLMs وComputer Vision
تقوم Skyvern بأتمتة سير العمل القائم على المتصفح باستخدام LLMs ورؤية الكمبيوتر. فهو يوفر نقطة نهاية API بسيطة لأتمتة سير العمل اليدوي بشكل كامل على عدد كبير من مواقع الويب، لتحل محل حلول الأتمتة الهشة أو غير الموثوقة.
تتطلب الأساليب التقليدية لأتمتة المتصفح كتابة نصوص برمجية مخصصة لمواقع الويب، وغالبًا ما تعتمد على تحليل DOM والتفاعلات المستندة إلى XPath والتي قد تنقطع كلما تغيرت تخطيطات موقع الويب.
بدلاً من الاعتماد فقط على تفاعلات XPath المحددة بالكود، تعتمد Skyvern على المطالبات بالإضافة إلى رؤية الكمبيوتر وLLMs لتحليل العناصر الموجودة في إطار العرض في الوقت الفعلي، وإنشاء خطة للتفاعل والتفاعل معها.
يمنحنا هذا النهج بعض المزايا:
يمكن لـ Skyvern العمل على مواقع الويب التي لم يسبق لها مثيل من قبل، حيث إنها قادرة على تعيين العناصر المرئية للإجراءات اللازمة لإكمال سير العمل، دون أي تعليمات برمجية مخصصة
Skyvern مقاوم لتغييرات تخطيط موقع الويب، حيث لا توجد مسارات XPath محددة مسبقًا أو محددات أخرى يبحث عنها نظامنا أثناء محاولة التنقل
Skyvern قادر على أخذ سير عمل واحد وتطبيقه على عدد كبير من مواقع الويب، حيث إنه قادر على التفكير من خلال التفاعلات اللازمة لإكمال سير العمل
تستفيد Skyvern من LLMs في التفكير من خلال التفاعلات لضمان قدرتنا على تغطية المواقف المعقدة. تشمل الأمثلة ما يلي:
إذا كنت ترغب في الحصول على عرض أسعار للتأمين على السيارات من Geico، فالإجابة على السؤال الشائع "هل كنت مؤهلاً للقيادة في عمر 18 عامًا؟" يمكن استنتاجه من حصول السائق على رخصته في سن 16 عامًا
إذا كنت تقوم بتحليل المنافسين، فمن المفهوم أن علبة Arnold Palmer سعة 22 أونصة بسعر 7/11 هي بالتأكيد نفس المنتج الموجود في علبة سعة 23 أونصة في Gopuff (على الرغم من اختلاف الأحجام قليلاً، وهو ما قد يكون خطأ تقريبيًا!)
هل تريد رؤية أمثلة على Skyvern أثناء العمل؟ انتقل إلى #real-world-examples-of-skyvern
تم استلهام Skyvern من تصميم الوكيل المستقل المبني على المهام والذي شاع بواسطة BabyAGI وAutoGPT - مع مكافأة رئيسية واحدة: نحن نمنح Skyvern القدرة على التفاعل مع مواقع الويب باستخدام مكتبات أتمتة المتصفح مثل Playwright.
تستخدم Skyvern مجموعة من الوكلاء لفهم موقع الويب وتخطيط إجراءاته وتنفيذها:
وكيل العنصر القابل للتفاعل : هذا الوكيل مسؤول عن تحليل HTML لموقع الويب واستخراج العناصر القابلة للتفاعل.
وكيل الملاحة : هذا الوكيل مسؤول عن تخطيط التنقل لإكمال المهمة. تشمل الأمثلة النقر على الأزرار، وإدراج النص، وتحديد الخيارات، وما إلى ذلك.
وكيل استخراج البيانات : هذا الوكيل مسؤول عن استخراج البيانات من موقع الويب. إنه قادر على قراءة الجداول والنصوص الموجودة على الصفحة، واستخراج المخرجات بتنسيق منظم محدد من قبل المستخدم
وكيل كلمة المرور : هذا الوكيل مسؤول عن ملء نماذج كلمة المرور على موقع الويب. إنه قادر على قراءة اسم المستخدم وكلمة المرور من مدير كلمات المرور، وملء النموذج مع الحفاظ على خصوصية الأسرار المحددة من قبل المستخدم.
وكيل 2FA : هذا الوكيل مسؤول عن ملء نماذج 2FA على موقع الويب. إنه قادر على اعتراض طلبات موقع الويب الخاصة بالمصادقة الثنائية، وإما طلب واجهات برمجة التطبيقات المعرفة من قبل المستخدم لرموز المصادقة الثنائية أو انتظار المستخدمين لإدخال رموز المصادقة الثنائية فيها، ثم إكمال عملية تسجيل الدخول.
وكيل الإكمال التلقائي الديناميكي : هذا الوكيل مسؤول عن ملء نماذج الإكمال التلقائي الديناميكي على موقع الويب. إنه قادر على قراءة الخيارات المقدمة له، واختيار الخيار المناسب بناءً على مدخلات المستخدم، وضبط مدخلاته بناءً على التعليقات الواردة من داخل النموذج. تتضمن الأمثلة الشائعة ما يلي: نماذج العناوين، والقوائم المنسدلة للجامعات، والمزيد.
نحن نقدم إصدارًا سحابيًا مُدارًا من Skyvern يسمح لك بتشغيل Skyvern دون الحاجة إلى إدارة البنية التحتية. فهو يسمح لك بتشغيل مثيلات Skyvern المتعددة بالتوازي لأتمتة سير العمل الخاص بك على نطاق واسع. بالإضافة إلى ذلك، تأتي سحابة Skyvern مرفقة بآليات الكشف عن برامج مكافحة الروبوتات، وشبكة الوكيل، وحل اختبار CAPTCHA للسماح لك بإكمال سير العمل الأكثر تعقيدًا.
إذا كنت ترغب في تجربتها،
انتقل إلى app.skyvern.com
قم بإنشاء حساب واحصل على 5 دولارات من الاعتمادات علينا
ابدأ مهمتك الأولى وشاهد Skyvern وهو يعمل!
إليك بعض النصائح التي قد تساعدك في مغامرتك:
Skyvern جيد حقًا في تنفيذ هدف واحد. إذا أعطيته الكثير من التعليمات للقيام بها، فمن المحتمل جدًا أن يرتبك على طول الطريق.
من المهم جدًا أن تكون صريحًا بشأن الأهداف. على سبيل المثال، إذا كنت تقوم بإنشاء عرض أسعار للتأمين، فأخبره بوضوح شديد كيف يمكنه تحديد أنه قد حقق أهدافه. استخدم كلمات مثل "اكتمال" أو "إنهاء" للإشارة إلى وضعي النجاح والفشل، على التوالي.
يمكن استخدام سير العمل إذا كنت ترغب في القيام بأشياء أكثر تقدمًا مثل ربط تعليمات متعددة معًا أو تسجيل الدخول بشكل آمن. إذا كنت بحاجة إلى أي مساعدة في هذا الشأن، فلا تتردد في حجز بعض الوقت معنا! نحن دائما سعداء لتقديم المساعدة
سيرشدك دليل البدء السريع هذا خلال عملية إعداد Skyvern وتشغيله على جهازك المحلي.
تأكد من تثبيت Docker Desktop وتشغيله على جهازك
تأكد من عدم تشغيل postgres محليًا (قم بتشغيل docker ps
للتحقق)
قم باستنساخ المستودع وانتقل إلى الدليل الجذر
املأ مفتاح موفر LLM على docker-compose.yml. إذا كنت تريد تشغيل Skyvern على خادم بعيد، فتأكد من تعيين عنوان IP الصحيح للخادم لحاوية واجهة المستخدم في docker-compose.yml.
قم بتشغيل الأمر التالي عبر سطر الأوامر:
عامل ميناء يؤلف -د
انتقل إلى http://localhost:8080
في متصفحك لبدء استخدام واجهة المستخدم
قبل البدء، تأكد من تثبيت ما يلي:
مشروب (إذا كنت تستخدم جهاز Mac)
شِعر
brew install poetry
العقدة
عامل ميناء
ملاحظة: يقوم برنامج الإعداد الخاص بنا بتنفيذ هذين الأمرين نيابةً عنك، ولكنهما موجودان هنا كمرجع.
بايثون 3.11
poetry env use 3.11
PostgreSQL 14 (إذا كنت تستخدم نظام التشغيل Mac، فسيقوم البرنامج النصي للإعداد بتثبيته لك إذا كان برنامج homebrew مثبتًا لديك)
brew install postgresql
قم باستنساخ المستودع وانتقل إلى الدليل الجذر
افتح Docker Desktop (يعمل مع أنظمة التشغيل Windows وmacOS وLinux) أو قم بتشغيل Docker Daemon
قم بتشغيل البرنامج النصي للإعداد لتثبيت التبعيات الضرورية وإعداد بيئتك
./setup.sh
ابدأ الخادم
./run_skyvern.sh
يمكنك البدء في إرسال الطلبات إلى الخادم، لكننا أنشأنا واجهة مستخدم بسيطة لمساعدتك على البدء. لبدء واجهة المستخدم، قم بتشغيل الأمر التالي:
./run_ui.sh
انتقل إلى http://localhost:8080
في متصفحك لبدء استخدام واجهة المستخدم
إذا كنت تتطلع إلى المساهمة في Skyvern، فستحتاج إلى تثبيت خطافات الالتزام المسبق لضمان جودة التعليمات البرمجية واتساقها. يمكنك القيام بذلك عن طريق تشغيل الأمر التالي:
التثبيت المسبق
المهام هي لبنة البناء الأساسية داخل Skyvern. كل مهمة عبارة عن طلب واحد موجه إلى Skyvern، لتوجيهها للتنقل عبر موقع الويب وتحقيق هدف محدد.
تتطلب المهام منك تحديد url
و navigation_goal
و data_extraction_goal
بشكل اختياري إذا كنت ترغب في استخراج البيانات من موقع الويب، و navigation_payload
إذا كنت ترغب في توفير سياق إضافي لمساعدة Skyvern في ملء المعلومات أو الإجابة على الأسئلة المقدمة من موقع الويب.
تعد عمليات سير العمل طريقة لربط مهام متعددة معًا لتكوين وحدة عمل متماسكة.
على سبيل المثال، إذا كنت تريد تنزيل جميع الفواتير الأحدث من 1 يناير، فيمكنك إنشاء سير عمل ينتقل أولاً إلى صفحة الفواتير، ثم تصفيته لعرض الفواتير الأحدث من 1 يناير فقط، واستخراج قائمة بجميع الفواتير المؤهلة، وتكرارها من خلال كل فاتورة لتحميله.
مثال آخر هو إذا كنت تريد أتمتة شراء المنتجات من متجر التجارة الإلكترونية، فيمكنك إنشاء سير عمل ينتقل أولاً إلى المنتج المطلوب، ثم يضيفه إلى عربة التسوق. ثانيًا، سيتم الانتقال إلى عربة التسوق والتحقق من صحة حالة عربة التسوق. وأخيرًا، سيخضع لعملية الدفع لشراء العناصر.
تتضمن ميزات سير العمل المدعومة ما يلي:
المهام (+ المهام المتسلسلة)
الحلقات
تحليل الملف
تحميل الملفات لمنع التخزين
إرسال رسائل البريد الإلكتروني
مطالبات النص
(قريبا) الشرطية
(قريبا) كتلة التعليمات البرمجية المخصصة
يسمح لك Skyvern بالبث المباشر لإطار عرض المتصفح على جهازك المحلي حتى تتمكن من رؤية ما يفعله Skyvern بالضبط على الويب. يعد هذا مفيدًا لتصحيح الأخطاء وفهم كيفية تفاعل Skyvern مع موقع الويب والتدخل عند الضرورة
Skyvern قادر أصلاً على ملء مدخلات النموذج على مواقع الويب. إن تمرير المعلومات عبر navigation_goal
أو navigation_payload
سيسمح لـ Skyvern بفهم المعلومات وملء النموذج وفقًا لذلك.
Skyvern قادر أيضًا على استخراج البيانات من موقع الويب. تحديد data_extraction_goal
سيسمح لـ Skyvern باستخراج البيانات وإعادتها إليك في الرد.
يمكنك أيضًا تحديد data_extraction_schema
لإخبار Skyvern بالضبط بالبيانات التي ترغب في استخراجها من موقع الويب، بتنسيق jsonc. سيتم تنظيم مخرجات Skyvern وفقًا للمخطط المتوفر.
Skyvern قادر أيضًا على تنزيل الملفات من موقع الويب. تحديد file_download_goal
سيسمح لـ Skyvern بتنزيل الملف وإرجاع رابط للملف في الاستجابة.
يدعم Skyvern عددًا من طرق المصادقة المختلفة لتسهيل أتمتة المهام خلف تسجيل الدخول.
يدعم Skyvern حاليًا عمليات تكامل مدير كلمات المرور التالية:
بيتواردن
1كلمة المرور
لاست باس
يدعم Skyvern عددًا من أساليب المصادقة الثنائية (2FA) المختلفة للسماح لك بأتمتة سير العمل الذي يتطلب المصادقة الثنائية (2FA).
تشمل الأمثلة ما يلي:
المصادقة الثنائية المستندة إلى QR (مثل Google Authenticator وAuthy)
2FA القائم على البريد الإلكتروني
2FA على أساس الرسائل القصيرة
نحن نحب أن نرى كيف يتم استخدام Skyvern في البرية. فيما يلي بعض الأمثلة على كيفية استخدام Skyvern لأتمتة سير العمل في العالم الحقيقي. يرجى فتح العلاقات العامة لإضافة الأمثلة الخاصة بك!
ستحتاج إلى تشغيل Skyvern محليًا إذا كنت تريد تجربة هذه الأمثلة. يرجى تشغيل الأمر التالي بعد الاطلاع على دليل البدء السريع:
./run_skyvern.sh
احجز عرضًا توضيحيًا لرؤيته مباشرة
شاهده على أرض الواقع
شاهده على أرض الواقع
شاهده على أرض الواقع
شاهده على أرض الواقع
شاهده على أرض الواقع
شاهده على أرض الواقع
يمكن العثور على وثائق أكثر شمولاً على موقع التوثيق الخاص بنا. يرجى إعلامنا إذا كان هناك شيء غير واضح أو مفقود عن طريق فتح مشكلة أو التواصل معنا عبر البريد الإلكتروني أو الخلاف.
مزود | النماذج المدعومة |
---|---|
OpenAI | gpt4-توربو، gpt-4o، gpt-4o-ميني |
أنثروبي | كلود 3 (هايكو، السوناتة، التأليف)، كلود 3.5 (السوناتة) |
أزور أوبن إيه آي | أي نماذج GPT. أداء أفضل مع دورة تدريبية متعددة الوسائط (azure/gpt4-o) |
AWS الأساس | أنثروبي كلود 3 (هايكو، سونيت، أوبوس)، كلود 3.5 (سونيت) |
أولاما | قريبا (نرحب بالمساهمات) |
تَوأَم | قريبا (نرحب بالمساهمات) |
اللاما 3.2 | قريبا (نرحب بالمساهمات) |
عامل | وصف | يكتب | قيمة العينة |
---|---|---|---|
ENABLE_OPENAI | تسجيل نماذج OpenAI | منطقية | true ، false |
ENABLE_ANTHROPIC | تسجيل النماذج الأنثروبولوجية | منطقية | true ، false |
ENABLE_AZURE | قم بتسجيل نماذج Azure OpenAI | منطقية | true ، false |
ENABLE_BEDROCK | قم بتسجيل نماذج AWS Bedrock | منطقية | true ، false |
LLM_KEY | اسم النموذج الذي تريد استخدامه | خيط | مفاتيح llm المدعومة حاليًا: OPENAI_GPT4_TURBO , OPENAI_GPT4V , OPENAI_GPT4O , OPENAI_GPT4O_MINI , ANTHROPIC_CLAUDE3 , ANTHROPIC_CLAUDE3_OPUS , ANTHROPIC_CLAUDE3_SONNET , ANTHROPIC_CLAUDE3_HAIKU , ANTHROPIC_CLAUDE3.5_SONNET ، BEDROCK_ANTHROPIC_CLAUDE3_OPUS ، BEDROCK_ANTHROPIC_CLAUDE3_SONNET ، BEDROCK_ANTHROPIC_CLAUDE3_HAIKU ، BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET ، AZURE_OPENAI |
OPENAI_API_KEY | مفتاح واجهة برمجة تطبيقات OpenAI | خيط | sk-1234567890 |
OPENAI_API_BASE | OpenAI API Base، اختياري | خيط | https://openai.api.base |
OPENAI_ORGANIZATION | معرف منظمة OpenAI، اختياري | خيط | your-org-id |
ANTHROPIC_API_KEY | مفتاح API الأنثروبي | خيط | sk-1234567890 |
AZURE_API_KEY | مفتاح API لنشر Azure | خيط | sk-1234567890 |
AZURE_DEPLOYMENT | اسم نشر Azure OpenAI | خيط | skyvern-deployment |
AZURE_API_BASE | عنوان URL الأساسي لواجهة برمجة تطبيقات نشر Azure | خيط | https://skyvern-deployment.openai.azure.com/ |
AZURE_API_VERSION | إصدار Azure API | خيط | 2024-02-01 |
هذه هي خارطة الطريق التي خططنا لها خلال الأشهر القليلة المقبلة. إذا كان لديك أي اقتراحات أو ترغب في رؤية ميزة مضافة، فلا تتردد في التواصل معنا عبر البريد الإلكتروني أو الخلاف.
المصدر المفتوح - قاعدة التعليمات البرمجية الأساسية لـ Open Source Skyvern
[تجريبي] دعم سير العمل - السماح بالدعم لتسلسل مكالمات Skyvern المتعددة معًا
سياق محسّن - تحسين قدرة Skyvern على فهم المحتوى حول العناصر القابلة للتفاعل من خلال تقديم سياق التسمية ذات الصلة بالتغذية من خلال موجه النص
توفير التكلفة - تحسين استقرار Skyvern وتقليل تكلفة تشغيل Skyvern عن طريق تحسين شجرة السياق التي تم تمريرها إلى Skyvern
واجهة مستخدم الخدمة الذاتية - قم بإهمال واجهة المستخدم Streamlit لصالح مكون واجهة المستخدم المستند إلى React والذي يسمح للمستخدمين ببدء وظائف جديدة في Skyvern
Workflow UI Builder - تقديم واجهة مستخدم للسماح للمستخدمين ببناء مسارات العمل وتحليلها بشكل مرئي
تدفق Chrome Viewport - تقديم طريقة للبث المباشر لإطار عرض Chrome إلى متصفح المستخدم (كجزء من واجهة مستخدم الخدمة الذاتية)
واجهة مستخدم عمليات التشغيل السابقة - قم بإهمال واجهة مستخدم Streamlit لصالح واجهة مستخدم قائمة على React والتي تسمح لك بتصور عمليات التشغيل السابقة ونتائجها
التخزين المؤقت الفوري - قم بتقديم طبقة تخزين مؤقت لاستدعاءات LLM لتقليل تكلفة تشغيل Skyvern بشكل كبير (احفظ الإجراءات السابقة وكررها!)
مجموعة بيانات تقييم الويب - قم بدمج Skyvern مع الاختبارات المعيارية العامة لتتبع جودة نماذجنا بمرور الوقت
وضع تصحيح محسّن - اسمح لـ Skyvern بتخطيط إجراءاتها والحصول على "الموافقة" قبل تشغيلها، مما يسمح لك بتصحيح ما تفعله وتكراره بسهولة أكبر عند المطالبة
وضع منشئ سير العمل التلقائي ("المراقب") - اسمح لـ Skyvern بإنشاء مسارات عمل تلقائيًا أثناء التنقل عبر الويب لتسهيل إنشاء مسارات عمل جديدة
ملحق Chrome - يسمح للمستخدمين بالتفاعل مع Skyvern من خلال ملحق Chrome (بما في ذلك الوضع الصوتي، وحفظ المهام، وما إلى ذلك)
Skyvern Action Recorder - اسمح لـ Skyvern بمشاهدة مستخدم يكمل مهمة ثم يقوم تلقائيًا بإنشاء سير عمل لها
البث المباشر القابل للتفاعل - السماح للمستخدمين بالتفاعل مع البث المباشر في الوقت الفعلي للتدخل عند الضرورة (مثل إرسال النماذج الحساسة يدويًا)
دمج أدوات LLM Observability - دمج أدوات LLM Observability للسماح بإجراء تغييرات سريعة للاختبار الخلفي مع مجموعات بيانات محددة + تصور أداء Skyvern مع مرور الوقت
تكامل Langchain - قم بإنشاء تكامل langchain في langchain_community لاستخدام Skyvern باعتباره "أداة".
نحن نرحب بالعلاقات العامة والاقتراحات! لا تتردد في فتح قضية/علاقات عامة أو التواصل معنا عبر البريد الإلكتروني أو الخلاف. يرجى إلقاء نظرة على دليل المساهمة الخاص بنا وقضايا "المساعدة المطلوبة" للبدء!
إذا كنت تريد الدردشة مع مستودع skyvern للحصول على نظرة عامة عالية المستوى حول كيفية تنظيمه، وكيفية البناء عليه، وكيفية حل أسئلة الاستخدام، فراجع Code Sage.
بشكل افتراضي، يقوم Skyvern بجمع إحصائيات الاستخدام الأساسية لمساعدتنا في فهم كيفية استخدام Skyvern. إذا كنت ترغب في إلغاء الاشتراك في القياس عن بعد، فيرجى تعيين متغير البيئة SKYVERN_TELEMETRY
إلى false
.
يتم دعم مستودع Skyvern مفتوح المصدر عبر سحابة مُدارة. كل المنطق الأساسي الذي يعمل على تشغيل Skyvern متاح في هذا المستودع مفتوح المصدر المرخص بموجب ترخيص AGPL-3.0، باستثناء تدابير مكافحة الروبوتات المتوفرة في عروضنا السحابية المُدارة.
إذا كانت لديك أي أسئلة أو استفسارات حول الترخيص، يرجى الاتصال بنا وسنكون سعداء بمساعدتك.