الانتقال إلى المحتوى الرئيسي

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

تتيح أداة music_generate للوكيل إنشاء موسيقى أو صوت عبر إمكانات توليد الموسيقى المشتركة مع المزوّدين المكوّنين — Google، MiniMax، وComfyUI المكوّن عبر سير العمل حاليًا. بالنسبة لتشغيلات الوكيل المدعومة بجلسة، يبدأ OpenClaw توليد الموسيقى كمهمة خلفية، ويتتبعها في سجل المهام، ثم يوقظ الوكيل مرة أخرى عندما يكون المسار جاهزًا حتى يتمكن الوكيل من إخبار المستخدم وإرفاق الصوت النهائي. في محادثات المجموعات/القنوات التي تستخدم التسليم المرئي عبر أداة الرسائل فقط، يمرر الوكيل النتيجة عبر أداة الرسائل. إذا كتب وكيل الإكمال ردًا نهائيًا خاصًا فقط، يعود OpenClaw إلى إرسال مباشر عبر القناة مع الوسائط المولدة. تنبيه الإكمال يحذر الوكيل صراحة من أن الردود النهائية العادية تكون خاصة في تلك المسارات.
لا تظهر الأداة المشتركة المضمّنة إلا عندما يتوفر مزوّد واحد على الأقل لتوليد الموسيقى. إذا لم ترَ music_generate ضمن أدوات وكيلك، فكوّن agents.defaults.musicGenerationModel أو أعدد مفتاح API لمزوّد.

البدء السريع

1

Configure auth

عيّن مفتاح API لمزوّد واحد على الأقل — مثلًا GEMINI_API_KEY أو MINIMAX_API_KEY.
2

Pick a default model (optional)

{
  agents: {
    defaults: {
      musicGenerationModel: {
        primary: "google/lyria-3-clip-preview",
      },
    },
  },
}
3

Ask the agent

“Generate an upbeat synthpop track about a night drive through a neon city.”يستدعي الوكيل music_generate تلقائيًا. لا حاجة إلى إدراجه في قائمة السماح للأدوات.
بالنسبة للسياقات المتزامنة المباشرة دون تشغيل وكيل مدعوم بجلسة، تظل الأداة المضمّنة ترجع إلى التوليد المضمّن وتعيد مسار الوسائط النهائي في نتيجة الأداة.
أمثلة على المطالبات:
Generate a cinematic piano track with soft strings and no vocals.
Generate an energetic chiptune loop about launching a rocket at sunrise.

المزوّدون المدعومون

المزوّدالنموذج الافتراضيمدخلات مرجعيةعناصر التحكم المدعومةالمصادقة
ComfyUIworkflowحتى صورة واحدةموسيقى أو صوت معرّف بواسطة سير العملCOMFY_API_KEY, COMFY_CLOUD_API_KEY
Googlelyria-3-clip-previewحتى 10 صورlyrics, instrumental, formatGEMINI_API_KEY, GOOGLE_API_KEY
MiniMaxmusic-2.6لا شيءlyrics, instrumental, durationSeconds, format=mp3MINIMAX_API_KEY أو MiniMax OAuth

مصفوفة الإمكانات

عقد الوضع الصريح الذي تستخدمه music_generate واختبارات العقد والفحص الحي المشترك:
المزوّدgenerateeditحد التحريرمسارات التشغيل الحي المشتركة
ComfyUIصورة واحدةليس ضمن الفحص المشترك؛ تغطيه extensions/comfy/comfy.live.test.ts
Google10 صورgenerate, edit
MiniMaxلا شيءgenerate
استخدم action: "list" لفحص المزوّدين والنماذج المشتركة المتاحة وقت التشغيل:
/tool music_generate action=list
استخدم action: "status" لفحص مهمة الموسيقى النشطة المدعومة بجلسة:
/tool music_generate action=status
مثال توليد مباشر:
/tool music_generate prompt="Dreamy lo-fi hip hop with vinyl texture and gentle rain" instrumental=true

معاملات الأداة

prompt
string
مطلوب
مطالبة توليد الموسيقى. مطلوبة لـ action: "generate".
action
"generate" | "status" | "list"
افتراضي:"generate"
يعيد "status" مهمة الجلسة الحالية؛ ويفحص "list" المزوّدين.
model
string
تجاوز المزوّد/النموذج (مثل google/lyria-3-pro-preview, comfy/workflow).
lyrics
string
كلمات اختيارية عندما يدعم المزوّد إدخال كلمات صريحًا.
instrumental
boolean
اطلب إخراجًا آليًا فقط عندما يدعمه المزوّد.
image
string
مسار أو URL لصورة مرجعية واحدة.
images
string[]
صور مرجعية متعددة (حتى 10 لدى المزوّدين الداعمين).
durationSeconds
number
المدة المستهدفة بالثواني عندما يدعم المزوّد تلميحات المدة.
format
"mp3" | "wav"
تلميح تنسيق الإخراج عندما يدعمه المزوّد.
filename
string
تلميح اسم ملف الإخراج.
timeoutMs
number
مهلة طلب المزوّد الاختيارية بالمللي ثانية. عند حذفها، يستخدم OpenClaw agents.defaults.musicGenerationModel.timeoutMs إذا كان مكوّنًا. تُرفع القيم الأقل من 10000ms إلى 10000ms ويُبلّغ عنها في نتيجة الأداة.
لا يدعم كل المزوّدين كل المعاملات. لا يزال OpenClaw يتحقق من الحدود الصارمة مثل أعداد المدخلات قبل الإرسال. عندما يدعم مزوّد المدة لكنه يستخدم حدًا أقصى أقصر من القيمة المطلوبة، يضبط OpenClaw القيمة إلى أقرب مدة مدعومة. يتم تجاهل التلميحات الاختيارية غير المدعومة فعليًا مع تحذير عندما لا يستطيع المزوّد أو النموذج المحدد الالتزام بها. تعرض نتائج الأداة الإعدادات المطبقة؛ ويلتقط details.normalization أي ربط من المطلوب إلى المطبق.

السلوك غير المتزامن

يعمل توليد الموسيقى المدعوم بجلسة كمهمة خلفية:
  • مهمة خلفية: تنشئ music_generate مهمة خلفية، وتعيد استجابة بدء/مهمة فورًا، وتنشر المسار النهائي لاحقًا في رسالة متابعة من الوكيل.
  • منع التكرار: بينما تكون المهمة queued أو running، تعيد استدعاءات music_generate اللاحقة في الجلسة نفسها حالة المهمة بدلًا من بدء توليد آخر. استخدم action: "status" للتحقق صراحة.
  • بحث الحالة: يفحص openclaw tasks list أو openclaw tasks show <taskId> حالات الانتظار والتشغيل والحالات النهائية.
  • تنبيه الإكمال: يحقن OpenClaw حدث إكمال داخليًا مرة أخرى في الجلسة نفسها حتى يستطيع النموذج كتابة المتابعة الظاهرة للمستخدم بنفسه.
  • تلميح المطالبة: تحصل أدوار المستخدم/الأدوار اليدوية اللاحقة في الجلسة نفسها على تلميح تشغيل صغير عندما تكون مهمة موسيقى قيد التنفيذ بالفعل، حتى لا يستدعي النموذج music_generate مرة أخرى دون داع.
  • رجوع دون جلسة: تعمل السياقات المباشرة/المحلية دون جلسة وكيل حقيقية بشكل مضمّن وتعيد نتيجة الصوت النهائية في الدور نفسه.

دورة حياة المهمة

الحالةالمعنى
queuedأُنشئت المهمة وتنتظر قبول المزوّد لها.
runningيعالجها المزوّد (عادة من 30 ثانية إلى 3 دقائق حسب المزوّد والمدة).
succeededالمسار جاهز؛ يستيقظ الوكيل وينشره في المحادثة.
failedخطأ من المزوّد أو انتهاء مهلة؛ يستيقظ الوكيل مع تفاصيل الخطأ.
تحقق من الحالة من CLI:
openclaw tasks list
openclaw tasks show <taskId>
openclaw tasks cancel <taskId>

التكوين

اختيار النموذج

{
  agents: {
    defaults: {
      musicGenerationModel: {
        primary: "google/lyria-3-clip-preview",
        fallbacks: ["minimax/music-2.6"],
      },
    },
  },
}

ترتيب اختيار المزوّد

يحاول OpenClaw المزوّدين بهذا الترتيب:
  1. معامل model من استدعاء الأداة (إذا حدده الوكيل).
  2. musicGenerationModel.primary من التكوين.
  3. musicGenerationModel.fallbacks بالترتيب.
  4. الاكتشاف التلقائي باستخدام افتراضيات المزوّد المدعومة بالمصادقة فقط:
    • المزوّد الافتراضي الحالي أولًا؛
    • بقية مزوّدي توليد الموسيقى المسجلين بترتيب معرّف المزوّد.
إذا فشل مزوّد، تتم تجربة المرشح التالي تلقائيًا. إذا فشل الجميع، يتضمن الخطأ تفاصيل من كل محاولة. عيّن agents.defaults.mediaGenerationAutoProviderFallback: false لاستخدام إدخالات model وprimary وfallbacks الصريحة فقط.

ملاحظات المزوّدين

مدفوع بسير العمل ويعتمد على الرسم البياني المكوّن إضافة إلى ربط العُقد لحقول المطالبة/الإخراج. يندمج Plugin comfy المضمّن مع أداة music_generate المشتركة عبر سجل مزوّدي توليد الموسيقى.
يستخدم توليد Lyria 3 الدفعي. يدعم التدفق المضمّن الحالي المطالبة، ونص الكلمات الاختياري، والصور المرجعية الاختيارية.
يستخدم نقطة نهاية music_generation الدُفعية. يدعم المطالبة والكلمات الاختيارية ووضع الآلات وتوجيه المدة وإخراج mp3 عبر مصادقة مفتاح API minimax أو OAuth minimax-portal.

اختيار المسار الصحيح

  • مدعوم بمزوّد مشترك عندما تريد اختيار النموذج، وتجاوز فشل المزوّد، وتدفق المهمة/الحالة غير المتزامن المضمّن.
  • مسار Plugin (ComfyUI) عندما تحتاج إلى رسم بياني مخصص لسير العمل أو مزوّد ليس جزءًا من إمكانية الموسيقى المضمّنة المشتركة.
إذا كنت تصحح سلوكًا خاصًا بـ ComfyUI، فراجع ComfyUI. إذا كنت تصحح سلوكًا مشتركًا للمزوّد، فابدأ بـ Google (Gemini) أو MiniMax.

أوضاع إمكانات المزوّد

يدعم عقد توليد الموسيقى المشترك تصريحات وضع صريحة:
  • generate للتوليد من مطالبة فقط.
  • edit عندما يتضمن الطلب صورة مرجعية واحدة أو أكثر.
ينبغي لتطبيقات المزوّد الجديدة تفضيل كتل الأوضاع الصريحة:
capabilities: {
  generate: {
    maxTracks: 1,
    supportsLyrics: true,
    supportsFormat: true,
  },
  edit: {
    enabled: true,
    maxTracks: 1,
    maxInputImages: 1,
    supportsFormat: true,
  },
}
الحقول المسطحة القديمة مثل maxInputImages وsupportsLyrics و supportsFormat ليست كافية للإعلان عن دعم التحرير. ينبغي للمزوّدين التصريح بـ generate وedit صراحة حتى تستطيع الاختبارات الحية واختبارات العقد وأداة music_generate المشتركة التحقق من دعم الوضع بشكل حتمي.

الاختبارات الحية

تغطية حية اختيارية للمزوّدين المضمّنين المشتركين:
OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts
غلاف المستودع:
pnpm test:live:media music
يحمّل هذا الملف الحي متغيرات بيئة المزوّد الناقصة من ~/.profile، ويفضّل مفاتيح API الحية/من البيئة على ملفات تعريف المصادقة المخزنة افتراضيًا، ويشغّل تغطية كل من generate وedit المعلنة عندما يفعّل المزوّد وضع التحرير. التغطية حاليًا:
  • google: generate بالإضافة إلى edit
  • minimax: generate فقط
  • comfy: تغطية حية منفصلة لـ Comfy، وليست ضمن المسح المشترك للمزوّدين
فعّل اختياريًا التغطية الحية لمسار الموسيقى المضمّن في ComfyUI:
OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts
يغطي ملف Comfy الحي أيضًا سير عمل الصور والفيديو في comfy عندما تكون تلك الأقسام مهيأة.

ذات صلة