Skip to main content
تم تصميم Youka ليتم تشغيله بواسطة الوكلاء. كل أمر في CLI يعيد غلاف JSON قابلًا للقراءة آليًا، وكل عملية كتابة تدعم مفاتيح التماثل (idempotency keys)، وواجهة API العامة تكشف نفس السطح وبنفس الدلالات. تجمع هذه الصفحة قواعد التشغيل التي يحتاجها مؤلف الوكيل قبل توصيل Youka ضمن سير عمل.

ابدأ

إذا كنت تُعد وكيلًا للمرة الأولى، فثبّت Youka CLI أولًا، ثم ثبّت مهارة Youka karaoke:
يمنح ذلك الوكيل مهارة Youka جاهزة مدعومة بالـ CLI. بعد التثبيت، استخدم أنماط سير العمل أدناه لإنشاء فيديوهات كاريوكي، وتخصيص النمط، وتصدير ملفات MP4 بأمان.

اطلب من وكيلك

بعد تثبيت CLI والمهارة، يمكنك إعطاء وكيلك مهمة مباشرة مثل:

قواعد التشغيل

استخدم دائمًا --json

في CLI، مرّر دائمًا --json. في API، اضبط دائمًا Accept: application/json. لا تقم أبدًا بتحليل المخرجات المخصصة للبشر.

أرسل دائمًا مفتاح تماثل (idempotency key)

يجب أن تحمل كل عملية كتابة مفتاح تماثل ثابتًا بحيث تعيد المحاولات بعد انتهاء المهلة النتيجة الأصلية بدلًا من تكرار العمل.

أعد قراءة الحالة الدائمة

لا تثق باستجابات الطفرات القديمة. بعد مهمة نهائية، أعد قراءة المشروع أو التصدير للحصول على الحالة النهائية.

استعلم (poll) مع تراجع تدريجي

ابدأ بفاصل 2–3 ثوانٍ. زد التراجع تدريجيًا (exponentially) للوظائف الطويلة. احترم استجابات 429.

عقد المخرجات

كل أمر CLI في وضع --json يكتب غلافًا واحدًا فقط إلى stdout. نجاح:
فشل:
رموز الخروج:

سير عمل من طرف إلى طرف

سير العمل القياسي للوكيل هو: إنشاء مشروع، الانتظار، التصدير، تنزيل النتيجة. إليك النمط الكامل مع تطبيقات CLI و SDK.

إرشادات الاستعلام (Polling)

معظم عمليات الكتابة تعيد مقابض عمليات (operation handles) في SDK. فضّل client.projects.wait(...) و client.exports.wait(...)، ولا تلجأ إلى client.tasks.* إلا عندما تحتاج صراحةً إلى وصول منخفض المستوى للمهام. في CLI، تتولى --wait الاستعلام نيابةً عنك. في SDK، تستخدم مساعدات الانتظار فاصلًا افتراضيًا قدره 2 s وتقبل pollIntervalMs.
احترم استجابات 429. عند حدود المعدّل، تراجع لمدة لا تقل عن ترويسة Retry-After (أو 30 s إذا كانت غير موجودة).

مفاتيح التماثل (Idempotency keys)

كل عملية إنشاء وتحديث تدعم مفتاح تماثل. القواعد:
  • استخدم مفتاحًا ثابتًا، فريدًا، وحتميًا لكل طفرة منطقية. جيد: create-song-${sourceHash}. سيئ: UUID جديد لكل إعادة محاولة.
  • أعد استخدام نفس المفتاح عبر إعادة المحاولات. يتعرف الخادم على الإعادة ويعيد النتيجة الأصلية.
  • المفاتيح ضمن نطاق كل حساب وتنتهي صلاحيتها بعد 24 ساعة.
  • إذا أعاد الخادم IDEMPOTENT_REPLAY_IN_PROGRESS (HTTP 202)، فالطلب الأصلي لا يزال قيد التشغيل. انتظر وأعد المحاولة بالمفتاح نفسه.
نمط مثال:
راجع تماثل API للاطلاع على العقد الكامل.

استعادة الأخطاء

فرّع بناءً على error.code و error.retryable. الحالات الشائعة:

اكتشاف الحقول القابلة للتغيير

قبل تعديل الإعدادات المسبقة (presets)، اجلب مخطط الإعداد المسبق حتى يعرف النموذج الحقول الصحيحة وأنواع القيم:
بالنسبة لإعدادات المشروع، فضّل قراءة إعدادات المشروع الحالية أولًا، ثم إرسال جسم تحديث بسيط (minimal) عبر youka project settings <id> --body .... اجلبه مرة واحدة لكل جلسة وكيل وقم بتخزين النتيجة مؤقتًا.

وكلاء متوازون

عند تشغيل عدة وكلاء بالتوازي على الحساب نفسه:
  • اجعل مفاتيح التماثل ضمن نطاق كلٍ من هوية الوكيل والطفرة المنطقية: agent-${agentId}-create-${sourceHash}. هذا يمنع إعادة محاولة وكيل من الاصطدام بطلب جديد لوكيل آخر.
  • اترك القراءات غير مقيّدة — طلبات GET رخيصة ولا تأثيرات جانبية لها.
  • استخدم طابورًا واحدًا لـ POST /projects/{projectId}/exports لكل مشروع إذا كنت تحتاج سجل تصدير مرتبًا. وإلا فقد تصل عمليات التصدير خارج الترتيب.

ما التالي