Providers
ComfyUI
OpenClaw یک Plugin داخلی comfy برای اجرای ComfyUI مبتنی بر گردشکار ارائه میکند. این
Plugin کاملاً مبتنی بر گردشکار است: OpenClaw کنترلهای عمومی size،
aspectRatio، resolution، durationSeconds یا کنترلهای سبک TTS را روی
گراف شما نگاشت نمیکند.
| ویژگی | جزئیات |
|---|---|
| ارائهدهنده | comfy |
| مدل | comfy/workflow |
| ابزارهای مشترک | image_generate، video_generate، music_generate |
| احراز هویت | برای ComfyUI محلی هیچکدام؛ برای Comfy Cloud، COMFY_API_KEY یا COMFY_CLOUD_API_KEY |
| API | ComfyUI /prompt / /history / /view؛ Comfy Cloud /api/* |
قابلیتهای پشتیبانیشده
- تولید و ویرایش تصویر از یک JSON گردشکار (ویرایش 1 تصویر مرجع بارگذاریشده میپذیرد)
- تولید ویدئو از یک JSON گردشکار، متنبهویدئو یا تصویربهویدئو (1 تصویر مرجع)
- تولید موسیقی/صدا از طریق ابزار مشترک
music_generate، با 1 تصویر مرجع اختیاری - دریافت خروجی از Node پیکربندیشده، یا از همه Nodeهای خروجی منطبق در صورت پیکربندینشدن آن
شروع به کار
بین اجرای ComfyUI روی دستگاه خود و استفاده از Comfy Cloud یکی را انتخاب کنید.
محلی
مناسب برای: اجرای نمونه ComfyUI خودتان روی دستگاه یا LAN.
ComfyUI را بهصورت محلی راهاندازی کنید
مطمئن شوید نمونه محلی ComfyUI در حال اجرا است (مقدار پیشفرض http://127.0.0.1:8188 است).
JSON گردشکار خود را آماده کنید
یک فایل JSON گردشکار ComfyUI صادر یا ایجاد کنید. شناسههای Node مربوط به Node ورودی پرامپت و Node خروجیای را که میخواهید OpenClaw از آن بخواند، یادداشت کنید.
ارائهدهنده را پیکربندی کنید
mode: "local" را تنظیم کنید و مسیر فایل گردشکار خود را بدهید. نمونه حداقلی تصویر:
{ plugins: { entries: { comfy: { config: { mode: "local", baseUrl: "http://127.0.0.1:8188", image: { workflowPath: "./workflows/flux-api.json", promptNodeId: "6", outputNodeId: "9", }, }, }, }, },}مدل پیشفرض را تنظیم کنید
OpenClaw را برای قابلیتی که پیکربندی کردهاید به مدل comfy/workflow هدایت کنید:
{ agents: { defaults: { imageGenerationModel: { primary: "comfy/workflow", }, }, },}بررسی کنید
openclaw models list --provider comfyComfy Cloud
مناسب برای: اجرای گردشکارها در Comfy Cloud بدون مدیریت منابع GPU محلی.
یک کلید API دریافت کنید
در comfy.org ثبتنام کنید و از داشبورد حساب خود یک کلید API بسازید.
کلید API را تنظیم کنید
کلید خود را با یکی از روشهای زیر ارائه کنید:
# پرچم راهاندازی اولیهopenclaw onboard --comfy-api-key "your-key" # متغیر محیطی (ترجیحی برای سرویسهای پسزمینه)export COMFY_API_KEY="your-key" # متغیر محیطی جایگزینexport COMFY_CLOUD_API_KEY="your-key" # یا بهصورت درونخطی در پیکربندیopenclaw config set plugins.entries.comfy.config.apiKey "your-key"JSON گردشکار خود را آماده کنید
یک فایل JSON گردشکار ComfyUI صادر یا ایجاد کنید. شناسههای Node مربوط به Node ورودی پرامپت و Node خروجی را یادداشت کنید.
ارائهدهنده را پیکربندی کنید
mode: "cloud" را تنظیم کنید و مسیر فایل گردشکار خود را بدهید:
{ plugins: { entries: { comfy: { config: { mode: "cloud", image: { workflowPath: "./workflows/flux-api.json", promptNodeId: "6", outputNodeId: "9", }, }, }, }, },}مدل پیشفرض را تنظیم کنید
{ agents: { defaults: { imageGenerationModel: { primary: "comfy/workflow", }, }, },}بررسی کنید
openclaw models list --provider comfyپیکربندی
Comfy از تنظیمات اتصال مشترک سطح بالا بههمراه بخشهای گردشکار جداگانه برای هر قابلیت (image، video، music) پشتیبانی میکند:
{ plugins: { entries: { comfy: { config: { mode: "local", baseUrl: "http://127.0.0.1:8188", image: { workflowPath: "./workflows/flux-api.json", promptNodeId: "6", outputNodeId: "9", }, video: { workflowPath: "./workflows/video-api.json", promptNodeId: "12", outputNodeId: "21", }, music: { workflowPath: "./workflows/music-api.json", promptNodeId: "3", outputNodeId: "18", }, }, }, }, },}کلیدهای مشترک
| کلید | نوع | توضیحات |
|---|---|---|
mode |
"local" یا "cloud" |
حالت اتصال. مقدار پیشفرض "local" است. |
baseUrl |
رشته | مقدار پیشفرض برای حالت محلی http://127.0.0.1:8188 و برای حالت ابری https://cloud.comfy.org است. |
apiKey |
رشته | کلید درونخطی اختیاری، بهجای متغیرهای محیطی COMFY_API_KEY / COMFY_CLOUD_API_KEY. |
allowPrivateNetwork |
بولی | اجازه استفاده از baseUrl خصوصی/LAN در حالت ابری یا یک FQDN محلی با DNS خصوصی. |
کلیدهای هر قابلیت
این کلیدها درون بخشهای image، video یا music اعمال میشوند:
| کلید | الزامی | پیشفرض | توضیحات |
|---|---|---|---|
workflow یا workflowPath |
بله | -- | JSON گردشکار درونخطی، یا مسیر فایل JSON گردشکار ComfyUI. |
promptNodeId |
بله | -- | شناسه Node که پرامپت متنی را دریافت میکند. |
promptInputName |
خیر | "text" |
نام ورودی در Node پرامپت. |
outputNodeId |
خیر | -- | شناسه Node برای خواندن خروجی. اگر حذف شود، همه Nodeهای خروجی منطبق استفاده میشوند. |
pollIntervalMs |
خیر | 1500 |
فاصله نظرسنجی برحسب میلیثانیه برای تکمیل کار. |
timeoutMs |
خیر | 300000 |
مهلت زمانی اجرای گردشکار برحسب میلیثانیه. |
بخشهای image و video همچنین از یک Node ورودی تصویر مرجع پشتیبانی میکنند:
| کلید | الزامی | پیشفرض | توضیحات |
|---|---|---|---|
inputImageNodeId |
بله (هنگام ارسال تصویر مرجع) | -- | شناسه Node که تصویر مرجع بارگذاریشده را دریافت میکند. |
inputImageInputName |
خیر | "image" |
نام ورودی در Node تصویر. |
apiKey یک رشته تحتاللفظی یا یک شیء ارجاع راز را میپذیرد.
جزئیات گردشکار
گردشکارهای تصویر
مدل پیشفرض تصویر را روی comfy/workflow تنظیم کنید:
{ agents: { defaults: { imageGenerationModel: { primary: "comfy/workflow", }, }, },}نمونه ویرایش با تصویر مرجع:
برای فعالکردن ویرایش تصویر با یک تصویر مرجع بارگذاریشده، inputImageNodeId را به پیکربندی تصویر خود اضافه کنید:
{ plugins: { entries: { comfy: { config: { image: { workflowPath: "./workflows/edit-api.json", promptNodeId: "6", inputImageNodeId: "7", inputImageInputName: "image", outputNodeId: "9", }, }, }, }, },}گردشکارهای ویدئو
مدل پیشفرض ویدئو را روی comfy/workflow تنظیم کنید:
{ agents: { defaults: { videoGenerationModel: { primary: "comfy/workflow", }, }, },}گردشکارهای ویدئویی Comfy از طریق گراف پیکربندیشده از متنبهویدئو و تصویربهویدئو پشتیبانی میکنند.
گردشکارهای موسیقی
Plugin داخلی یک ارائهدهنده تولید موسیقی برای خروجیهای صوتی یا موسیقی تعریفشده توسط گردشکار ثبت میکند که از طریق ابزار مشترک music_generate ارائه میشود. این ابزار یک تصویر مرجع اختیاری (حداکثر 1) میپذیرد:
/tool music_generate prompt="حلقه سینث امبینت گرم با بافت نرم نوار"از بخش پیکربندی music برای تعیین JSON گردشکار صوتی و Node خروجی خود استفاده کنید.
سازگاری با نسخههای پیشین
پیکربندی موجود تصویر در سطح بالا (بدون بخش تودرتوی image) همچنان کار میکند:
{ plugins: { entries: { comfy: { config: { workflowPath: "./workflows/flux-api.json", promptNodeId: "6", outputNodeId: "9", }, }, }, },}OpenClaw آن ساختار قدیمی را بهعنوان پیکربندی گردشکار تصویر در نظر میگیرد. نیازی نیست فوراً مهاجرت کنید، اما بخشهای تودرتوی image / video / music برای راهاندازیهای جدید توصیه میشوند. اگر فقط از تولید تصویر استفاده میکنید، پیکربندی مسطح قدیمی و بخش تودرتوی جدید image از نظر عملکرد معادلاند.
آزمایشهای زنده
پوشش آزمایش زنده اختیاری برای Plugin همراه وجود دارد:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.tsآزمایش زنده موارد منفرد تصویر، ویدئو یا موسیقی را رد میکند، مگر اینکه بخش متناظر گردشکار Comfy پیکربندی شده باشد.