
شنو كيدير Hermes
Hermes هو بنية ديال agents ديال سلاسل الدراما، كتنظّم استقبال القصة، والإغناء، وإنشاء الأصول، وبناء الحلقات، وأحداث وقت التشغيل، وسيرورات الإنتاج. التطبيق الحالي كيغطي الاستقبال والإغناء ديال Stage 1، وبناء والتحقق من JSONL ديال Stage 2، وسلوك وقت التشغيل ديال Stage 2 وStage 3، ومعالجة الأحداث، والتكامل مع Comfy worker.
المشروع مصمّم على أساس تطبيق مضيف بـ Streamlit فيه لوحات Chat وAssets وJob. كل محادثة كتقابل series_id واحد، بينما المشروع كيخزّن المعطيات الرسمية ديال السلسلة فـ projects/{slug}/.
فهم نموذج المراحل
المستودع كيوثّق بنية S1–S7. Stage 1 كيتكلف بالاستقبال والإغناء: فكرة فـ سطر واحد كتولي سيناريو وصور ديال الطاقم، مع مراحل قبول واضحة. Stage 2 كيبني أشغال JSONL غير متزامنة وكيطلق معالجة Comfy غير متزامنة. Stage 3 كيستعمل hook سميتو on_episode_complete باش يحدّث حالة وقت التشغيل، وكيشمل حتى دعم إنشاء حلقة ثانية.
المراحل من 4 حتى 7 داخلة فـ نفس نطاق Agent v1. البنية التفصيلية ديالها موثّقة فـ وثائق البنية ديال المستودع، بينما قرارات التنفيذ المثبّتة مسجّلة فـ DECISIONS.md.
وجد المستودع
بدا من جذر المستودع. ملف README كيسمّي مجلد المشروع drama-series-agent، لذلك دخل لهاد المجلد قبل ما تشغّل أوامر Stage 1.
cd drama-series-agentREADME ما كيفرضش أمر منفصل لتثبيت الاعتماديات. استعمل بيئة Python الموجودة وإعداد المشروع قبل ما تشغّل السكريبتات أو تستورد الحزم.
شغّل سكريبت الاستقبال ديال Stage 1
باش تنشئ هيكل مشروع درامي جديد انطلاقاً من عنوان، شغّل سكريبت الاستقبال باستعمال الخيار --title. المثال التالي كيستعمل عنواناً بالصينية، بحال اللي كاين فـ README:
python scripts/hermes_drama_intake.py --title 我的短剧هاد الأمر كيبدا سيرورة الاستقبال ديال Stage 1. ومن بعد، هيكلة المشروع كتوفر بلايص مخصّصة لحقيقة وقت التشغيل، والمحتوى الأدبي، وقوالب الحلقات، ومعطيات الطاقم، والمهارات.
باش تشوف مخططات JSON اللي كيستعملها النظام، شغّل:
python scripts/hermes_drama_intake.py --dump-schemasفحص المخططات مفيد ملي كتدمج الأدوات أو كتتحقق من الحمولة مقابل العقود ديال المستودع.
كمّل سيرورة الإغناء S1-B
README كيعرض سيرورة S1-B من خلال handle_tool_call. استورد الموزّع من drama_series_agent.drama.dispatch:
from drama_series_agent.drama.dispatch import handle_tool_callمن بعد ما تنشئ هيكل المشروع، نفّذ العمليات بهاد الترتيب:
run_literary_generateباش تنشئ الحزمة الأدبية انطلاقاً من الاستقبال.accept_literary_packageباش تقبل بشكل صريح الناتج الأدبي اللي تنشأ.extract_cast_tableباش تستخرج جدول الطاقم.run_cast_image_generateباش تنشئ صور الطاقم.accept_cast_imagesباش تقبل أصول الطاقم اللي تنشأت.mark_audio_deferredباش تسجّل بأن العمل على الصوت مؤجّل.get_s1_gate_statusباش تتحقق واش السلسلة ولاتready_for_s2.
خطوات القبول مهمة: Stage 1 ماشي غير سلسلة ديال استدعاءات التوليد. خاص الحزمة الأدبية وصور الطاقم يتقبلو قبل ما تقدر بوابة Stage 1 تعلن الجاهزية لـ Stage 2.
استعمل هيكلة المشروع كدليل
Hermes كيفصل بين الأنواع المختلفة ديال معطيات المشروع فـ نقاط تركيب واضحة:
hermes/architecture/فيه وثائق تسلسل S1-B وS2–S3، ونطاق S4–S7، والقرارات المعمارية.hermes/contracts/فيه JSON Schemas والأمثلة.projects/{slug}/كيخزّن حقيقة L1، بما فيهاseries_runtime.json، ومعطيات الاستقبال، ومعطيات التسليم، والقرارات.dramas/{slug}/هو نقطة تركيب المحتوى الأدبي.templates/{slug}/هو نقطة تركيب الحلقات ديال HostApp.data/cast/{slug}/كيخزّن معطيات الطاقم والصوت.skills/drama-intake/فيه مهارة Stage 1-A.skills/drama-series-develop/كيغطي مجالات تطوير المشروع بحال الخطوط العريضة، وبناء العالم، والشخصيات، والأسلوب البصري.skills/0xsline-short-drama/كيوفر المهارة الأدبية اللي كتستعمل وقت التشغيل من طرف المهارة الأدبية.skills/drama-series-h3-r2v-prompts/كيوفر ربط H3 Ref2VA.
تعرّف على حزم Python الرئيسية
المستودع كيفرّق وظائف Python ديالو على حزم مركّزة:
drama_series_agent.intakeكيتكلف بالكشف، وإنشاء الهيكل، والإدماج، والتسليم.drama_series_agent.dramaفيه JobEvent وSeriesRuntime وEventBus، وإغناء S1-B، وhook ديال S3، وComfy worker.drama_series_agent.adapters.r2vكيوفر مشغّل حلقات MiniMax H3 R2V والتحقق.drama_series_agent.utils.skills_pathsكيحدّد مواقع المهارات.
ملي كتوسّع سيرورة العمل، استعمل حدود هاد الحزم بلا ما تحط منطق الاستقبال ووقت التشغيل والمواءمات كامل فـ module واحد.
دوز من Stage 1 للإنتاج
ملي get_s1_gate_status كيعطي ready_for_s2، تقدر السلسلة تمشي نحو Stage 2. Stage 2 كيبني وكيحقّق من أشغال JSONL وكيشغّلها بشكل غير متزامن. والمستودع حتى هو رابط Comfy worker من خلال comfy_worker.enqueue_comfy_episode.
المعالجة ديال المرحلة 2 والمراحل اللي من بعدها خاصها تبلّغ على التقدّم عبر أحداث وقت التشغيل، بلا ما يتعتابر الشات سجلّ كامل ديال الخدمة. القرارات المحسومة كتنصّ على أن الشات كيعرض المحطات الرئيسية، بينما الخدمة غير المتزامنة كيتكلفو بها طبقات المهام والأحداث.
ملي كتسالي الحلقة، كيقوم الخطّاف on_episode_complete ديال المرحلة 3 بتحديث وقت تشغيل السلسلة. هاد التحديث كيدعم تدفّق الحلقة الموالية، بما فيه السلوك المقصود ديال «توليد الحلقة الثانية».
نصائح عملية للتكامل
- خلي محادثة وحدة مرتبطة بـ
series_idواحد باش تبقى حالة وقت التشغيل واضحة وما فيهاش لبس. - تفحّص المخططات باستعمال
--dump-schemasقبل ما تبني تكاملات خارجية. - حافظ على تسلسل القبول الصريح بالنسبة للمخرجات الأدبية وصور الطاقم.
- استعمل نقاط الربط ديال المشروع باعتبارها الحدود المرجعية لبيانات وقت التشغيل، والبيانات الأدبية، وبيانات الحلقات والطاقم.
- قرا DECISIONS.md قبل ما تبدّل مضيف Streamlit ولا حدود سير العمل.
- استعمل العقود الموثّقة فـ
hermes/contracts/ملي كتنتج حمولات Job Event ولاseries_runtime. - اعتابر معالجة المرحلة 2 غير متزامنة، وعرّض المحطات الرئيسية عبر واجهات المهام والشات فالتطبيق المضيف.
الخلاصة
Hermes كيوفّر مسار منظّم من فكرة دراما فسطّر واحد حتى لحزمة مقبولة ديال المرحلة 1، ومن بعد للإنتاج غير المتزامن ديال الحلقات. بدا بسكريبت الإدخال، كمّل تسلسل التوليد والقبول ديال S1-B، تأكّد من بوابة ready_for_s2، واستعمل العقود الموثّقة وخطّافات وقت التشغيل باش توسّع سير العمل بأمان.
