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 گردشکار (ویرایش یک تصویر مرجع بارگذاریشده دریافت میکند)
- تولید ویدئو از یک فایل JSON گردشکار، بهصورت متنبهویدئو یا تصویربهویدئو (یک تصویر مرجع)
- تولید موسیقی/صدا از طریق ابزار مشترک
music_generate، با یک تصویر مرجع اختیاری - دانلود خروجی از Node پیکربندیشده، یا از همه Nodeهای خروجی منطبق در صورت پیکربندینشدن هیچکدام
شروع به کار
بین اجرای ComfyUI روی دستگاه خودتان و استفاده از Comfy Cloud یکی را انتخاب کنید.
محلی
بهترین گزینه برای: اجرای نمونه ComfyUI خودتان روی دستگاه یا شبکه محلی.
راهاندازی محلی ComfyUI
مطمئن شوید نمونه محلی ComfyUI شما در حال اجرا است (مقدار پیشفرض http://127.0.0.1:8188 است).
آمادهسازی فایل JSON گردشکار
یک فایل JSON گردشکار ComfyUI صادر یا ایجاد کنید. شناسه 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
کلید خود را با یکی از روشهای زیر ارائه کنید:
# Onboarding flagopenclaw onboard --comfy-api-key "your-key" # Environment variable (preferred for daemons)export COMFY_API_KEY="your-key" # Alternative environment variableexport COMFY_CLOUD_API_KEY="your-key" # Or inline in configopenclaw config set plugins.entries.comfy.config.apiKey "your-key"آمادهسازی فایل JSON گردشکار
یک فایل JSON گردشکار ComfyUI صادر یا ایجاد کنید. شناسه 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 خصوصی/شبکه محلی در حالت ابری یا یک 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 در دسترس قرار میگیرد. این ابزار یک تصویر مرجع اختیاری میپذیرد (حداکثر ۱ تصویر):
/tool music_generate prompt="Warm ambient synth loop with soft tape texture"از بخش پیکربندی 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 پیکربندی شده باشد.