جميع الأدلة
الأدوات والإنتاجية

رابط تدوينة إلى خيط تويتر فيروسي في 6 عقد n8n

ألصق رابط أي مقال في نموذج n8n واحصل على خيط تويتر من 5-9 تغريدات مكتوب بنغمة من اختيارك — بمخرجات JSON صارمة عبر Output Parser من LangChain. بُني واستورد وحُفظ مباشرة على n8n cloud مع gpt-5-mini.

14 دقيقة قراءة
٢٤ أبريل ٢٠٢٦
NerdLevelTech
2 مقالات مرتبطة
رابط تدوينة إلى خيط تويتر فيروسي في 6 عقد n8n

{/* آخر تحديث: 2026-04-24 | بُني ونُفذ مباشرة على nerdleveltech.app.n8n.cloud | gpt-5-mini عبر أرصدة n8n المجانية */}

ملف JSON للسير في هذا الدليل استُورد وحُفظ على n8n cloud، مع التحقق من البيانات والمطالبات عبر لوحات العقد. ألصقه في سير جديد، افتح عقدة OpenAI الفرعية، وشغّل — لقطات التنفيذ أدناه تعرض مخرجات AI الفعلية.

ما الذي ستبنيه

سير n8n من ست عقد:

  • يستقبل رابط تدوينة + نغمة + عدد التغريدات عبر نموذج عام
  • يجلب HTML المقال من جانب الخادم (بدون browser spoofing)
  • يُزيل nav و footer و scripts و styles وصولاً إلى نص المقال الحقيقي
  • يُرسل كل شيء إلى gpt-5-mini عبر سلسلة LangChain مع Output Parser يفرض JSON صالحاً
  • يُعيد كائن خيط منظم: { hook, tweets[], cta, preview_card_headline }
سير n8n الكامل لكاتب خيط تويتر: On form submission ← Fetch Article HTML ← Extract Clean Text ← Write Thread، مع OpenAI Chat Model و Output Parser كعقد فرعية

تخطَّ البناء — استورد السير

أنشئ سير عمل جديداً، انقر على اللوحة الفارغة، اضغط Cmd+V / Ctrl+V. كل العقد الست تُحمّل مع وصلاتها.


المتطلبات المسبقة

المتطلبالتفاصيل
حساب n8nتجربة مجانية على n8n.io/cloud
أرصدة OpenAI100 رصيد مجاني مدمج — يغطي مئات الخيوط
رابط تدوينة مباشرأي مقال تريد إعادة توظيفه
الوقتحوالي 12 دقيقة

العقد المستخدمة: Form Trigger و HTTP Request و Code و Basic LLM Chain و OpenAI Chat Model (فرعية) و Output Parser Structured (فرعية) — الأخيرة هي نجمة الدليل.


الخطوة 1 — استيراد السير

من اللوحة الرئيسية، اضغط + Create workflow. على اللوحة الفارغة ألصق JSON. السير يُحمّل كـ "AI Twitter Thread Writer" بكل العقد الست في مكانها.

انقر نقراً مزدوجاً على OpenAI Chat Model وتأكد أن البيانات تُظهر n8n free OpenAI API credits والنموذج gpt-5-mini مع درجة حرارة 0.7 — أعلى من سلسلة كتابة التدوينات لأن الخيوط تستفيد من كتابة hook أكثر إبداعاً.


الخطوة 2 — جلب المقال

انقر نقراً مزدوجاً على Fetch Article HTML. تعبير URL يسحب من النموذج:

={{ $json['Article URL'] }}

الاستجابة مضبوطة على text (ليس JSON مُحلل تلقائياً) لأنك تحصل على HTML خام. خيار neverError: true يُبقي السير مستمراً إذا أعاد الموقع 403 أو 500 أو انتهت مهلته — عقدة Code التالية تتعامل مع المدخلات الفارغة بأمان.

User-Agent مهم

تحت HeadersHeader Parameters:

الاسمالقيمة
User-AgentMozilla/5.0 (compatible; n8n-thread-writer/1.0)

User-Agent الافتراضي لـ n8n هو n8n.io ويُحد معدله بعض المنشورات. UA عام من Mozilla يمر معظم المرشحات.

عندما تفشل هذه الخطوة: إذا اختبرت مع موقع محمي بـ Cloudflare وحصلت على 403، بدّل عقدة Fetch Article HTML إلى استدعاء Firecrawl أو Browserless أو ScrapingBee. عقدة Code التالية لا تهتم من أين أتى HTML.


الخطوة 3 — استخراج نص نظيف

انقر نقراً مزدوجاً على Extract Clean Text. هذه عقدة Code بـ ~40 سطر JavaScript. ثلاثة أشياء تحدث:

  1. استخراج العنوان وميتا الوصف عبر regex على <title> و <meta name="description">
  2. إزالة الضوضاء — scripts و styles و nav و header و footer (تهيمن على HTML لكنها ليست المقال)
  3. فك ترميز HTML entities ليصبح &amp; إلى & و &quot; إلى "

ثم يُحدد النص بـ 6000 حرف. لماذا؟ نافذة سياق gpt-5-mini تحمل 40 ألف+ رمز إدخال، لكن بعد ~6 آلاف حرف من النثر، يبدأ الخيط في إعادة صياغة النصف الأول ويتجاهل الثاني. الحد يُبقي الخيط مركزاً على حجة المقال.

const body = cleaned.slice(0, 6000);
return [{ json: { title, description, body, articleUrl, tone, tweetCount } }];

إذا احتجت المقال الكامل، بدّل إلى chainMapReduce (سلسلة map-reduce من LangChain) التي تُلخص chunks ثم تجمع الملخصات — لكن هذا 3× تكلفة الرموز.


الخطوة 4 — المطالبة و Output Parser

انقر نقراً مزدوجاً على Write Thread. المطالبة تفرض ثماني قواعد:

القاعدةلماذا موجودة
التغريدة 1 = hook يوقف التمرير، بدون "في هذا الخيط…"تلك الافتتاحيات تقتل معدل تمرير الإبهام
كل تغريدة ≤ 270 حرفتترك 10 أحرف للتعديلات اليدوية
فكرة واحدة لكل تغريدة وسطىالخيوط التي تحزم أفكاراً متعددة تحصل على engagement أسوأ
أرقام ملموسة وأسماء علم ومحدداتالعموميات الغامضة = تمرير فوري
آخر تغريدة = CTA مع رابط وطلب bookmark"Bookmark + follow" يزدوج النقر للخوارزمية
هاشتاج واحد كحد أقصىالخيوط متعددة الهاشتاجات تُخفض ترتيباً
بدون إيموجي إلا إذا النغمة Hot takeالنغمات الاحترافية تبدو ضعيفة الجهد بالإيموجي
بدون "In this thread I will cover..."افتتاحية كلاسيكية منخفضة الـ engagement
لوحة عقدة Write Thread تعرض حقل Prompt (User Message) مع تعليمات كتابة الخيط الكاملة، Require Specific Output Format مُفعَّل، وموصلي Model و Output Parser في الأسفل

سحر Output Parser

انتقل إلى عقدة Output Parser الفرعية (متصلة بالسلسلة كـ ai_outputParser). مثال مخطط JSON الخاص بها:

{
  "hook": "string",
  "tweets": ["string"],
  "cta": "string",
  "preview_card_headline": "string"
}

السلسلة الآن تفرض هذا الشكل. إذا أعاد gpt-5-mini JSON تالفاً أو أضاف نثراً خارج JSON، يُطلق n8n خطأً واضحاً يمكنك التقاطه بـ Error Trigger — أو إعادة المحاولة بـ maxAttempts: 2 في تبويب Settings للعقدة.

العقد اللاحقة ترى الخيط ككائن حقيقي:

  • {{ $json.output.hook }} ← تغريدة الـ hook
  • {{ $json.output.tweets[0] }} ← أول تغريدة وسطى
  • {{ $json.output.cta }} ← CTA الإغلاق

بدون regex. بدون تجريد markdown. بيانات نظيفة.

⚠️ تحذير اكتشفناه في الاختبار: أعاد gpt-5-mini المخطط مغلفاً كـ { "output": { ... } } بدلاً من الكائن المباشر الذي يتوقعه Output Parser، مما تسبب في فشل التحقق الصارم بـ"Model output doesn't fit required format". استجابة AI الأصلية كانت صحيحة — المُحلل الصارم فقط رفض الغلاف. حلان: (1) افتح تبويب Settings لعقدة Write Thread واضبط On Error على Continue (using error output) — السلسلة عندها تُمرر نص AI الخام للأسفل وتُحلله يدوياً؛ (2) احذف Output Parser تماماً ودع تعليمات JSON الصارمة في المطالبة تقوم بالعمل وحدها. الخيار 2 أبسط للاستخدام الفردي؛ الخيار 1 أفضل إذا كنت تُمرر إلى عقدة أخرى.


الخطوة 5 — التشغيل والفحص

اضغط Test this trigger على عقدة Form Trigger، افتح رابط الاختبار، وأرسل رابط مقال حقيقي. جرب أحد منشوراتك الخاصة أو شيئاً من منشورك المفضل.

راقب التنفيذ يشتغل عقدة بعقدة في اللوحة. لوحة مخرجات عقدة Write Thread النهائية تُظهر JSON المُحلل. انسخ hook و tweets[] و cta إلى لوحة إنشاء X وانشرها كخيط — أو أرسلها لعقدة نشر تلقائي (انظر التوسعات).

مخرجات خيط AI حقيقية مُلتقطة من n8n: تغريدة hook تَعد بمخطط 21 درساً لوكلاء AI، وثلاث تغريدات وسطى تغطي الدورات والأدلة العملية وصفقات البنية التحتية، إضافة إلى تغريدة CTA — كلها مُولَّدة في ~26 ثانية بـ ~2,044 رمز عبر gpt-5-mini

في اختبارنا الحقيقي، تغذية مقتطف مقال من 6000 حرف أنتج خيطاً مُنظماً من 5 تغريدات بـ hook وثلاث تغريدات وسطى موضوعية و CTA — ~26 ثانية و ~2,044 رمز عبر gpt-5-mini. كل تغريدة وسطى التقطت حقيقة ملموسة محددة من المقال المصدر.

فحص جودة الخيط قبل النشر

قبل الضغط على نشر، تحقق من:

الفحصما تبحث عنه
Hookأول 70 حرفاً ظاهرة بدون نقر "Show more" — ضع المكافأة هناك
التغريدة 2يجب أن تُسلِّم شيئاً ملموساً من وعد التغريدة 1 — ليس مجرد إعادة
CTAطلب منخفض الاحتكاك (bookmark > reply > DM > نقر رابط)
محدداتهل تستطيع إيجاد كل رقم/اسم في المقال المصدر؟ إن لم تستطع، AI خمّن — عدّل

التوسعات: نشر تلقائي وجدولة و A/B

نشر تلقائي عبر واجهة X

بعد عقدة Write Thread، أضف عقدة HTTP Request لكل تغريدة في الخيط (أو Loop Over Items + عقدة واحدة). نقطة نهاية واجهة X v2:

POST https://api.twitter.com/2/tweets
Authorization: Bearer <your OAuth2 token>
Content-Type: application/json

{ "text": "{{ $json.output.hook }}" }

اسلسل التغريدات التالية بـ "reply": { "in_reply_to_tweet_id": "{{ $json.id }}" } لبناء الخيط.

جدولة الخيوط مع Typefully / Buffer / Hypefury

معظم تطبيقات الجدولة تقبل webhooks. بدّل واجهة X بـ:

POST https://api.typefully.com/v1/drafts

…مع مفتاح Typefully API في رأس Authorization والخيط في الـbody. تحصل على جدولة drag-and-drop فوق توليد AI.

اختبار A/B لخيطين من مقال واحد

كرّر عقدتي Write Thread و OpenAI Chat Model. أعطِ واحدة درجة حرارة 0.4 (ثابتة) والأخرى 0.9 (إبداعية). استخدم عقدة Merge لضم المخرجتين جنباً إلى جنب، ثم اختر الفائز يدوياً أو غذِّ كليهما إلى سلسلة AI ناقد.

معالجة جملية لـbacklog

استبدل Form Trigger بعقدة Google Sheets Read (أو Airtable أو Notion Database Read) تُعيد 50+ رابط تدوينة. أضف عقدة Split In Batches مضبوطة على عنصر واحد، وباقي السير يشتغل مرة لكل صف. حدّ concurrency إلى 3 للبقاء تحت حدود API.


ما التالي

لديك خط أنابيب قابل للتكرار لتحويل أي تدوينة إلى خيط. التالي، تعلم كيف تحوّل الأخبار الرائجة إلى ملخص يومي ← ملخص الأخبار متعدد المصادر، أو ابنِ روبوت AI يعرف مستنداتك ← الدردشة مع صفحة ويب (RAG).

شارك هذا الدليل

الأسئلة الشائعة

النص العادي جيد لاستخدام واحد. للأتمتة، تحتاج مخرجات منظمة لتستطيع العقد اللاحقة (واجهة تويتر، تطبيقات buffer، مسجلات الجداول) التقاط التغريدات الفردية بدون regex. يفرض Output Parser من LangChain في هذا السير أن يُعيد الذكاء الاصطناعي JSON صالحاً بأربعة مفاتيح: `hook` و `tweets[]` و `cta` و `preview_card_headline`. إذا انحرف AI عن المخطط، يلتقط n8n الخطأ فوراً — اضبط `maxAttempts: 2` في تبويب Settings للسلسلة فيُعيد محاولة واحدة قبل الفشل.

مقالات ذات صلة

نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.