ComfyUI-Manager هو امتداد مصمم لتحسين سهولة استخدام ComfyUI. يوفر وظائف إدارة لتثبيت وإزالة وتعطيل وتمكين العقد المخصصة المختلفة لـ ComfyUI. علاوة على ذلك، يوفر هذا الامتداد ميزة المحور ووظائف الراحة للوصول إلى مجموعة واسعة من المعلومات داخل ComfyUI.
ComfyUI/custom_nodes/ComfyUI-Manager
وتنفيذ git pull
للتحديث.لتثبيت ComfyUI-Manager بالإضافة إلى التثبيت الحالي لـ ComfyUI، يمكنك اتباع الخطوات التالية:
ComfyUI/custom_nodes
dir في المحطة الطرفية (cmd)git clone https://github.com/ltdrdata/ComfyUI-Manager.git
"ComfyUI_windows_portable"
المثبتinstall-manager-for-portable-version.bat
موصى به: يوفر comfy-cli ميزات متنوعة لإدارة ComfyUI من واجهة سطر الأوامر.
ويندوز:
python -m venv venv
venvScriptsactivate
pip install comfy-cli
comfy install
لينكس/أو إس إكس:
python -m venv venv
. venv/bin/activate
pip install comfy-cli
comfy install
لتثبيت ComfyUI مع ComfyUI-Manager على Linux باستخدام بيئة venv، يمكنك اتباع الخطوات التالية:
chmod +x install-comfyui-venv-linux.sh
./install-comfyui-venv-linux.sh
ComfyUI-Manager
بدقة في المسار ComfyUI/custom_nodes/ComfyUI-Manager
ComfyUI/custom_nodes
، مما يؤدي إلى وضع محتويات المدير مثل __init__.py
مباشرة في هذا الدليل.ComfyUI/custom_nodes
ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager
.ComfyUI/custom_nodes/ComfyUI-Manager/ComfyUI-Manager
إلى ComfyUI/custom_nodes/ComfyUI-Manager
ComfyUI/custom_nodes/ComfyUI-Manager-main
.ComfyUI-Manager
، لكن لن يتم التعرف عليه داخل ComfyUI-Manager
، ولا يمكن إجراء التحديثات. كما أنه يشكل خطر عمليات التثبيت المكررة.ComfyUI/custom_nodes/ComfyUI-Manager-main
إلى ComfyUI/custom_nodes/ComfyUI-Manager
يمكنك تنفيذ ComfyUI عن طريق تشغيل إما ./run_gpu.sh
أو ./run_cpu.sh
اعتمادًا على تكوين النظام لديك.
يوفر هذا المستودع دفاتر ملاحظات Colab التي تسمح لك بتثبيت واستخدام ComfyUI، بما في ذلك ComfyUI-Manager. لاستخدام ComfyUI، انقر على هذا الرابط.
Install Custom Nodes
إلى Custom Nodes Manager
.Update all
الميزاتconfig.ini
.channels.list
وإرسال العلاقات العامة.skip update check
.انقر على زر "المدير" في القائمة الرئيسية
إذا قمت بالنقر فوق "تثبيت العقد المخصصة" أو "تثبيت النماذج"، فسيتم فتح مربع حوار التثبيت.
هناك ثلاثة أوضاع لقاعدة البيانات: DB: Channel (1day cache)
، DB: Local
، و DB: Channel (remote)
.
Channel (1day cache)
معلومات ذاكرة التخزين المؤقت للقناة مع فترة صلاحية مدتها يوم واحد لعرض القائمة بسرعة.Local
المخزنة محليًا في ComfyUI-Manager.custom-node-list.json
واختبارها.Channel (remote)
باسترداد المعلومات من القناة البعيدة، وتعرض دائمًا أحدث القائمة. تسترد قائمة Fetch Updates
بيانات التحديث للعقد المخصصة محليًا. يتم تطبيق التحديثات الفعلية بالنقر فوق الزر Update
في قائمة Install Custom Nodes
.
انقر فوق الزر "تثبيت" أو "محاولة التثبيت".
تم التثبيت: تم تثبيت هذا العنصر بالفعل.
التثبيت: سيؤدي النقر فوق هذا الزر إلى تثبيت العنصر.
حاول التثبيت: هذه عقدة مخصصة لا يمكن تأكيد معلومات التثبيت الخاصة بها. انقر فوق الزر لمحاولة تثبيته.
إذا ظهر مؤشر Channel
بخلفية حمراء في الأعلى، فهذا يعني أنها ليست القناة الافتراضية. وبما أن كمية المعلومات التي يتم الاحتفاظ بها تختلف عن القناة الافتراضية، فقد لا تظهر العديد من العقد المخصصة في حالة القناة هذه.
تُظهر العقد المتعارضة ذات الخلفية الصفراء قائمة بالعقد المتعارضة مع الامتدادات الأخرى في الامتداد المعني. يجب أن يعالج المطور هذه المشكلة، ويجب أن يدرك المستخدمون أنه بسبب هذه التعارضات، قد لا تعمل بعض العقد بشكل صحيح وقد تحتاج إلى التثبيت وفقًا لذلك.
إذا قمت بتعيين عنصر Badge:
في القائمة كـ Badge: Nickname
، Badge: Nickname (hide built-in)
، Badge: #ID Nickname
، Badge: #ID Nickname (hide built-in)
سيتم عرض شارة المعلومات على الشاشة العقدة.
Badge: Nickname
اللقب للعقد المخصصة، بينما Badge: #ID Nickname
يتضمن أيضًا المعرف الداخلي للعقدة. يشارك
None
: إخفاء من القائمة الرئيسيةAll
: إظهار مربع حوار حيث يمكن للمستخدم تحديد عنوان للمشاركة. Save snapshot
أو استخدام Update All
في Manager Menu
، يتم حفظ لقطة حالة التثبيت الحالية.ComfyUI-Manager/snapshots
Restore
، سيصبح ذلك ساري المفعول عند بدء تشغيل ComfyUI التالي.ComfyUI-Manager/startup-scripts/restore-snapshot.json
، وعند إعادة تشغيل ComfyUI، يتم تطبيق اللقطة ثم حذفها. custom-node-list.json
الموجود في جذر ComfyUI-Manager وأرسل طلب سحب.Use local DB
والتأكد من تحميل قائمة الملحقات دون أي مشاكل في مربع حوار Install custom nodes
. في بعض الأحيان، قد تؤدي الفواصل المفقودة أو الإضافية إلى حدوث أخطاء في بناء جملة JSON.حاليًا، يعمل النظام عن طريق استنساخ مستودع git وتثبيت التبعيات المدرجة في ملف require.txt بشكل تسلسلي باستخدام النقطة، متبوعًا باستدعاء البرنامج النصي install.py. في المستقبل، نخطط لمناقشة وتحديد مواصفات دعم العقد المخصصة.
يرجى إرسال طلب سحب لتحديث ملف custom-node-list.json أو model-list.json.
يوفر الماسح الضوئي حاليًا وظيفة الكشف عن العقد المفقودة، وهي قادرة على اكتشاف العقد الموضحة في النموذجين التاليين.
NODE_CLASS_MAPPINGS = {
"ExecutionSwitch": ExecutionSwitch,
"ExecutionBlocker": ExecutionBlocker,
...
}
NODE_CLASS_MAPPINGS.update({
"UniFormer-SemSegPreprocessor": Uniformer_SemSegPreprocessor,
"SemSegPreprocessor": Uniformer_SemSegPreprocessor,
})
أو يمكنك توفير ملف node_list.json
يدويًا.
عندما تكتب سلسلة مستندية في رأس ملف .py للعقدة على النحو التالي، سيتم استخدامها لإدارة قاعدة البيانات في المدير.
nickname
فقط، ولكن سيتم أيضًا استخدام أجزاء أخرى في المستقبل.nickname
هو الاسم المعروض على شارة العقدة.nickname
، فسيتم اقتطاعه إلى 20 حرفًا من العنوان المكتوب بشكل تعسفي واستخدامه. """
@author: Dr.Lt.Data
@title: Impact Pack
@nickname: Impact Pack
@description: This extension offers various detector nodes and detailer nodes that allow you to configure a workflow that automatically enhances facial details. And provide iterative upscaler.
"""
node_list.json
- عندما لا يكون نمط العقد المخصص الخاص بك NODE_CLASS_MAPPINGS تقليديًا، يتم استخدامه لتوفير قائمة العقد للرجوع إليها يدويًا. (مثال)requirements.txt
- عند التثبيت، سيتم تثبيت متطلبات النقطة هذه تلقائيًاinstall.py
- عند التثبيت، يتم استدعاؤه تلقائيًاuninstall.py
- عند إلغاء التثبيت، يتم استدعاؤه تلقائيًاdisable.py
- عند تعطيله، يتم استدعاؤه تلقائيًا.js
لإعداد عقدة مخصصة، يوصى بكتابة هذا البرنامج النصي للتعطيل.enable.py
- عند تمكينه، يتم استدعاؤه تلقائيًانسخ ولصق
{
"kind": "ComfyUI Components",
"timestamp": ,
"components":
{
:
}
}
تأكد من أن الطابع الزمني فريد دائمًا.
: يجب أن يكون الاسم بالتنسيق ::
.
: في بيانات العقدة لعقدة المجموعة.
: يُسمح بتنسيقين فقط: major.minor.patch
أو major.minor
. (على سبيل المثال 1.0
، 2.2.1
)
: الوقت المحفوظ
: إذا لم يكن اسم الحزمة فارغًا، فستصبح الفئة اسم الحزمة/سير العمل، ويتم حفظها في ملف .pack في ComfyUI-Manager/components.
: إذا لم تكن هناك فئة أو اسم حزمة، فسيتم حفظها في فئة المكونات. "version":"1.0",
"datetime": 1705390656516,
"packname": "mypack",
"category": "util/pipe",
السحب والإسقاط
.pack
أو .json
إلى إضافة المكونات المقابلة.سيؤدي سحب وإفلات أو لصق مكون واحد إلى إضافة عقدة. ومع ذلك، عند إضافة مكونات متعددة، لن تتم إضافة العقد.
Install Missing Custom Nodes
في القائمة، فإنه يعرض قائمة بعقد الامتداد التي تحتوي على عقد غير موجودة حاليًا في سير العمل. ميزة التسجيل في الملف
file_logging = False
في الملف config.ini
. إصلاح العقدة (إعادة الإنشاء): عند النقر بزر الماوس الأيمن على العقدة وتحديد Fix node (recreate)
، يمكنك إعادة إنشاء العقدة. تتم إعادة تعيين قيم عنصر واجهة المستخدم، بينما تحافظ الاتصالات على تلك التي لها نفس الأسماء.
النقر المزدوج فوق عنوان العقدة: يمكنك ضبط سلوك النقر المزدوج للعقد في قائمة ComfyUI-Manager.
Copy All Connections
، Copy Input Connections
: يؤدي النقر المزدوج على العقدة إلى نسخ اتصالات أقرب عقدة.
Copy All Connections
، فإنه يكرر المخرجات الموجودة، ولكن بما أنه لا يسمح بالاتصالات المكررة، يتم قطع اتصالات الإخراج الموجودة للعقدة الأصلية. Possible Input Connections
: يقوم بتوصيل جميع المخرجات التي تطابق النوع الأقرب ضمن النطاق المحدد.
Possible(left) + Copy(right)
: عندما تنقر نقرًا مزدوجًا على النصف الأيسر من العنوان، فإنه يعمل Possible Input Connections
، وعندما تنقر نقرًا مزدوجًا على النصف الأيمن، فإنه يعمل Copy All Connections
.
منع خفض مستوى حزم معينة
downgrade_blacklist
من ملف config.ini
، مع الفصل بينها بفواصل. downgrade_blacklist = diffusers, kornia
رسم خرائط النقاط المخصصة
pip_overrides.json
، فإنه يغير تثبيت حزم نقاط معينة إلى عمليات التثبيت التي يحددها المستخدم.pip_overrides.json.template
. استخدم aria2
كمحمل
عند تشغيل البرنامج النصي scan.sh
:
يقوم بتحديث extension-node-map.json
.
custom-node-list.json
إلى ~/.tmp/default
.--skip-update
.~/.tmp/default
، فقم بتشغيل python scanner.py [path]
مباشرةً بدلاً من scan.sh
. يقوم بتحديث github-stats.json
.
export GITHUB_TOKEN=your_token_here
لتجنب الوصول بسرعة إلى الحد الأقصى للسعر والتعطل.--skip-update-stat
. ينطبق خيار --skip-all
على كل من --skip-update
و --skip-stat-update
.
git.exe
في موقع محدد غير بوابة النظام، فيرجى تثبيت ComfyUI-Manager وتشغيل ComfyUI. ثم حدد المسار بما في ذلك اسم الملف في git_exe =
في ملف ComfyUI-Manager/config.ini الذي تم إنشاؤه.git update-ref refs/remotes/origin/main a361cc1 && git fetch --all && git pull
.......python_embededpython.exe update-fix.py
.PreviewTextNode
من ComfyUI_Custom_Nodes_AlekPet
مدعومة فقط كعقد أمامية، فإننا لا نقدم حاليًا العقد المفقودة لها.vid2vid
، مما يسبب مشكلات في التوافق.Overlapped Object has pending operation at deallocation on Comfyui Manager load
ضمن نظام التشغيل Windowsconfig.ini
: إضافة windows_selector_event_loop_policy = True
SSL: CERTIFICATE_VERIFY_FAILED
.config.ini
: إضافة bypass_ssl = True
تحرير ملف config.ini
: إضافة security_level =
strong
high
ومتوسطة middle
normal
high
المستوىmiddle
normal-
high
المستوى إذا تم تحديد --listen
ولم يبدأ بـ 127.
middle
weak
ميزات محفوفة بالمخاطر high
المستوى
Install via git url
، pip install
default channel
. ميزات محفوفة بالمخاطر من المستوى middle
default channel
. ميزات خطرة low
المستوى
ComfyUI/ComfyUI - واجهة مستخدم رسومية قوية ومستقرة للانتشار.
ولجميع مطوري العقدة المخصصة ComfyUI