نسخة تجريبية · تجربة قيد التنفيذ

صِف التكامل. واحصل على الـ iFlow.

يولّد IFlow Assistant تدفقات Integration Flow لـ SAP Integration Suite بنموذج Ollama يعمل على حاسوبك ويتعلّم من الـ template والحلول التي تعلّمه إياها. من طلب بلغة عادية إلى حزمة جاهزة للـ deploy، مع lint وSecurity Check وdeploy على الـ tenant.

Windows 10/11 بنظام 64 بت · مجاني ومفتوح المصدر · يحدّث نفسه · كل شيء يبقى على حاسوبك

لماذا وُجد

إنه مشروع فيه شيء من المجازفة: أردت أن أبدأ بتدريب نموذج باستخدام Ollama محليًا، وأن تكون لديّ أداة تسرّع إنشاء الـ iFlow استنادًا إلى الـ template والحلول التي علّمته إياها. ليس منتجًا مكتملًا، بل تجربة أستخدمها فعلًا في عملي اليومي وأشاركها كما هي.

Federico Bellizia (Bais)، المؤلف

عمليًا لا يُعاد تدريب النموذج: إنه "يتعلّم" عبر knowledge base محلية (RAG) تُجمع فيها ملفات التصدير الخاصة بك، والـ template التي تصنّفها، والحزم المولّدة التي توافق عليها. يُثرى كل طلب جديد بأكثر المقاطع تشابهًا ثم يُمرَّر إلى نموذج Ollama على حاسوبك. وإذا كانت النتيجة جيدة، تخبر التطبيق بذلك، فتؤثّر من تلك اللحظة في عمليات التوليد اللاحقة.

كل شيء يعمل محليًا: لا سحابة، ولا حساب، ولا قياس عن بُعد. إنه في مرحلة تجريبية وله حدود واضحة، مذكورة أدناه بلا مواربة.

ماذا يفعل

أداة مكتبية لمن يبني الـ iFlow كل يوم: تبدأ من الوصف وتنتهي عند الـ tenant.

من الوصف إلى حزمة جاهزة للـ deploy

صِف التدفق بلغة عادية واحصل على ملف .zip قابل للاستيراد في Integration Suite. في وضع Spec ينتج النموذج spec JSON، ويجمّع builder حتمي ملف XML بصيغة BPMN2 من كتل تم التحقق منها: صحيح بحكم البناء، لا "صحيح على الأرجح".

محادثة على مراحل

حسّن التدفق في المحادثة نفسها: "أضف إعادة المحاولة"، "أرسل رسالة بريد أيضًا"، "انقل الـ mapping إلى local process". كل دور يعيد توليد الحزمة.

يتعلّم من الـ iFlow الخاصة بك (RAG)

كل ملف تصدير تضيفه، يدويًا أو باستيراده من الـ tenant، يُفهرَس في الـ knowledge base المحلية ويوجّه عمليات التوليد اللاحقة. ويضيف الزر "Buono" (جيد) أيضًا الحزم المولّدة التي توافق عليها.

Lint وSecurity Check

تمرّ كل حزمة عبر lint يتحقق من المراجع المتقاطعة وsequenceFlow وprocessRef والمعاملات {{...}} المعرَّفة. ويبحث Security Check عن كلمات مرور بنص صريح وبيانات شخصية (PII) مكتوبة مباشرة في الكود، مع إخفاء القيمة المكتشفة دائمًا.

دورة كاملة على الـ tenant

التسجيل في package ضمن Design workspace، ثم الـ deploy، وانتظار حالة runtime، وsmoke test على أحدث Message Processing Logs. ملفات تعريف tenant متعددة (dev وtest وprod) مباشرة من الواجهة الرسومية.

مستكشف وعارض BPMN

تصفّح ملفات zip دون فكّ ضغطها، واقرأ XML مع إبراز الصياغة، وافتح لوحة BPMN بتخطيط هرمي وخصائص كل خطوة. ولكل مشروع: View وEdit وLint وRipacchetta (إعادة التحزيم) وDeploy.

الـ template أولًا وأسئلة إرشادية

صنّف مصدرًا في الـ KB على أنه template (مثلًا SuccessFactors أو SFTP): فتصبح أعرافه قيودًا صريحة. وتجمع "الأسئلة الإرشادية" المتطلبات الناقصة قبل التوليد: الـ mapping، والأحجام، وإعادة المحاولة، وعدم التكرار (idempotency)، والأمان.

ملفات تعريف المنتجات وKB منفصلة للعملاء

اربط وثائق المنتج بـ SuccessFactors أو S/4HANA OData أو LDAP أو Zucchetti أو SOAP. واحفظ لكل عميل الـ mapping والقواعد وسير العمل في KB منفصلة، لا يستخدمها النموذج إلا عندما تحدد ذلك العميل وتفتحه بكلمة المرور الخاصة به.

توثيق وظيفي وتقني

ولّد من أي iFlow توثيقًا بصيغة Markdown وHTML قابلًا للطباعة بصيغة PDF: واحدًا يُسلَّم إلى العميل وآخر لمن سيتولى الصيانة.

كيف يعمل

النموذج يكتب المواصفة فقط. أما XML فيبنيه كود حتمي، فيظهر خطأ النموذج فورًا ولا يصل إلى الـ tenant.

  1. 1

    الطلب

    صِف التدفق بلغة طبيعية، مع template وملف تعريف منتج وKB للعميل بشكل اختياري.

  2. 2

    Knowledge base بتقنية RAG

    SQLite + nomic-embed-text: تدخل أكثر المقاطع تشابهًا من الـ iFlow الخاصة بك في السياق.

  3. 3

    نموذج Ollama محلي

    qwen2.5-coder مع system prompt خاص بـ CPI، يعمل على حاسوبك.

  4. 4

    Spec JSON

    الخطوات والمحوّلات والمعاملات والـ local process ومعالجة الأخطاء في بنية تم التحقق منها.

  5. 5

    Builder حتمي

    يجمّع XML بصيغة BPMN2 من كتل معروفة: لا XML "مُختلَق".

  6. 6

    Lint

    المراجع المتقاطعة، ووجود السكربتات، والمعاملات المعرَّفة، وصحة XML.

  7. 7

    Zip

    حزمة قابلة للاستيراد في Integration Suite، ويمكن عرضها في لوحة BPMN.

  8. 8

    Tenant

    التسجيل، والـ deploy، وحالة runtime، وsmoke test على السجلات.

التثبيت في ثلاث خطوات

كل ما تحتاجه هو Windows 10 أو 11 بنظام 64 بت وبعض المساحة على القرص للنموذج.

  1. ثبّت Ollama

    نزّله من ollama.com وثبّته. إنه المحرّك الذي يشغّل النموذج محليًا.

  2. شغّل IFlowAssistant-Setup.exe

    ينسخ برنامج التثبيت التطبيق إلى مجلد المستخدم الخاص بك، دون الحاجة إلى صلاحيات المسؤول. أو فكّ ضغط النسخة المحمولة حيث تشاء.

  3. جهّز النموذج

    في التطبيق: القائمة Modello (النموذج) ← Prepara o aggiorna il modello Ollama... (تجهيز نموذج Ollama أو تحديثه). ينزّل qwen2.5-coder (نسخة 7B على الـ CPU بنحو 5 غيغابايت، أو 14B مع GPU من NVIDIA بذاكرة 12 غيغابايت بنحو 9 غيغابايت) وnomic-embed-text، ثم يفهرس الـ knowledge base.

يحدّث نفسه.

يتحقق التطبيق من GitHub Releases، وينزّل برنامج التثبيت الجديد، ويتحقق من بصمة SHA-256 الخاصة به، ثم يشغّله بصمت. أما بياناتك (الـ knowledge base، وملفات التعريف، والـ iFlow المولّدة) فلا تُمسّ.

النسخة المحمولة: يصلك تنبيه برابط الحزمة الجديدة، وتقرّر أنت متى تستبدلها.

بياناتك تبقى ملكك

الجواب المختصر: على حاسوبك، ولا مكان آخر.

نموذج محلي

يعمل النموذج في Ollama على جهازك. لا تُرسَل الطلبات ولا الـ iFlow ولا الـ knowledge base إلى أي خدمة.

لا قياس عن بُعد

الاتصالات الخارجية الوحيدة هي إلى GitHub Releases للتحقق من التحديثات، وإلى الـ tenant الخاص بك عندما تطلب ذلك.

كلمة مرور رئيسية

تشفّر كلمة مرور رئيسية الإعدادات وملفات التعريف المحلية. ومن دونها تبقى الملفات غير قابلة للقراءة.

الأسرار في Credential Manager

تُحفَظ قيم client secret وكلمات مرور الـ tenant في Credential Manager الخاص بـ Windows، ولا تُحفظ في ملفات أبدًا.

KB منفصلة للعملاء

تُستبعَد مصادر كل عميل من البحث العام، ولا تُمرَّر إلى النموذج إلا عندما يكون ذلك العميل محددًا ومفتوحًا بكلمة المرور الخاصة به. تتيح كلمة المرور استخدام الـ KB، لكنها لا تشفّر الملفات على القرص: لحمايتها استخدم تشفير القرص، مثل BitLocker.

حدود معروفة

صراحة بشأن المنتج: إنه في مرحلة تجريبية، ومن المفيد معرفة هذه الأمور قبل التنزيل.

  • يغطي builder الخاص بـ Spec البنى الأكثر شيوعًا

    البدء بـ Timer وHTTPS، وContent Modifier، وXSLT، وGroovy، وProcess Call والـ local process الخطية، وRequest-Reply عبر HTTP/ProcessDirect/SuccessFactors، وSend Mail وSFTP، وrouter واحد OK/KO، وException Subprocess. أما Splitter/Gather أو Data Store أو عدة router فتعيد التوليد إلى وضع Markdown: ويجب التحقق من الحزمة في Web UI قبل الـ deploy.

  • عميل الـ tenant مُتحقَّق منه بنيويًا فقط

    ينفّذ واجهات OData API العامة لـ Integration Suite، لكنه جُرّب على عدد قليل من الـ tenant. عند الاتصال الأول استخدم "Test connessione" (اختبار الاتصال) وأبلغ عن أي اختلافات.

  • على الـ CPU يستغرق الأمر دقائق

    مع النموذج 7B على الـ CPU يستغرق التوليد بضع دقائق. ومع GPU من NVIDIA والنموذج 14B يصبح أسرع بكثير وبجودة أفضل.

  • Windows أولًا

    على Linux وmacOS يعمل التطبيق من الشيفرة المصدرية، لكن أسرار الـ tenant لا تُحفظ: فالـ deploy يتطلب إدخال السرّ في كل جلسة. برنامج التثبيت والتحديث التلقائي متاحان لـ Windows فقط.

ادعم المشروع

IFlow Assistant مجاني وسيبقى كذلك. إذا وفّر عليك فترة بعد الظهر، فكوب قهوة هو أبسط طريقة لتخبرني بذلك، ولإبقاء الـ GPU التي تجرّب النماذج الجديدة قيد التشغيل.

اشترِ لي قهوة عبر PayPal

وبلاغ مكتوب جيدًا على GitHub له قيمة كبيرة أيضًا.

الأسئلة الشائعة

الأسئلة الأكثر تكرارًا.

هل أحتاج إلى GPU؟

لا. مع CPU وذاكرة RAM لا تقل عن 16 غيغابايت يعمل النموذج 7B، لكن التوليد يستغرق دقائق. ومع GPU من NVIDIA بذاكرة 12 غيغابايت أو أكثر يجيب النموذج 14B في عشرات الثواني وينتج spec أدق.

هل تغادر الـ iFlow الخاصة بي الحاسوب؟

لا. الـ knowledge base ملف SQLite محلي، والنموذج يعمل في Ollama على جهازك، ولا يوجد قياس عن بُعد. لا يتصل التطبيق إلا بـ GitHub Releases للتحديثات، وبالـ tenant الخاص بك عندما تبدأ التسجيل أو الـ deploy أو الاستيراد.

هل يمكنني استخدام نموذج آخر؟

نعم. يُبنى النموذج cpi-iflow-builder من Modelfile مضمّن في الحزمة: يمكنك تغيير النموذج الأساسي (مثلًا نموذج coder آخر متاح في Ollama) وإعادة إنشائه من القائمة Modello (النموذج) ← Ricrea il modello dal Modelfile (ollama create). ويبقى الـ system prompt الخاص بـ CPI كما هو.

كيف أضيف الـ template الخاصة بي؟

أضف ملفات التصدير .zip إلى الـ knowledge base من تبويب Knowledge base، أو استوردها مباشرة من الـ tenant. ثم حدّد المصدر واستخدم "Template" لتصنيفه: من تلك اللحظة يظهر في القائمة Template KB عند التوليد، وتصبح أعرافه قيودًا صريحة.

ماذا يفعل الـ deploy بالضبط؟

يرفع "Censisci + Deploy" (تسجيل + Deploy) الحزمة إلى package في Design workspace الخاص بالـ tenant النشط، ويبدأ الـ deploy، وينتظر حالة runtime (STARTED أو ERROR)، ثم يقرأ أحدث Message Processing Logs بمثابة smoke test. لا يمسّ أي عناصر أخرى ولا يحذف شيئًا.

هل يعمل على Mac أو Linux؟

جزئيًا. الكود مكتوب بـ Python وtkinter، لذا يمكن تشغيله من الشيفرة المصدرية باستخدام السكربتات الموجودة في install/. لكن ينقصه برنامج التثبيت، والتحديث التلقائي، وحفظ أسرار الـ tenant الذي يعتمد حاليًا على Credential Manager في Windows.

هل هو منتج من SAP؟

لا. إنه مشروع مستقل ومفتوح المصدر (رخصة MIT) نشأ للاستخدام الشخصي، وهو غير تابع لـ SAP SE ولا يحظى برعايتها أو اعتمادها. ولا يستخدم إلا واجهات API العامة الموثّقة لـ Integration Suite.