SSD Nodes Learn
الأدلة Matt Connorبقلم Matt Connor · آخر تحديث في 2026-07-22

Claude + n8n: ابنِ سير عمل ذكاء اصطناعي على VPS

اربط Claude بـ n8n على VPS الخاص بك: دليل تكامل يغطي بيانات الاعتماد، واختيار النموذج لكل عقدة، وثلاثة سير عمل فعلية، وحساب التكلفة، والأخطاء الشائعة.

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

ثلاث حالات فعلية لسير العمل بالذكاء الاصطناعي على نسخة n8n التي تُشغّلها فعلًا: webhook يلخّص كل ما ترسله إليه، وقارئ خلاصات (feed) مجدوَل يحوّل المقالات إلى صفوف منظّمة في جدول بيانات، ووكيل AI Agent يستدعي واجهة HTTP API من تلقاء نفسه للإجابة عن الأسئلة. هذا هو النظير الخالي من الكود (no-code) لِـاستدعاء Claude API من Python على خادم VPS الخاص بك: الواجهة البرمجية نفسها، والتوكنات نفسها، والفاتورة نفسها، لكن التنسيق (orchestration) يجري هنا داخل عُقد n8n بدلًا من سكربت.

أفترض أن n8n يعمل بالفعل خلف HTTPS وفق دليل استضافة n8n ذاتيًا على Docker. إن لم يكن الأمر كذلك، فافعل ذلك أولًا: فالـ webhooks تحتاج إلى نقطة نهاية TLS حقيقية، ومخزن بيانات الاعتماد الذي توشك أن تضع فيه مفتاح API يحتاج إلى نسخة احتياطية من مفتاح التشفير التي يُلحّ عليها ذلك الدليل مرارًا.

المشكلات المثيرة للاهتمام هنا ليست سحبًا وإفلاتًا (drag-and-drop). إنها اختيار النموذج لكل عقدة على حدة، وحقول الموجّه (prompt) التي تُدرج بصمت القيمة undefined، وحقيقة أن الأتمتة تعمل دون إشراف — سير عمل يكلّف نصف سنت في كل تشغيل يبقى رخيصًا إلى أن تُشغّله حلقة إعادة محاولة أربعة آلاف مرة بين ليلة وضحاها. معظم هذا الدليل يدور حول هذه النقاط.

بيانات اعتماد واحدة، مشفّرة بالمفتاح الذي نسخته احتياطيًا

احصل على مفتاح API من Anthropic Console على platform.claude.com: Settings، ثم API Keys، ثم أنشئ مفتاحًا باسم شبيه بـ n8n-vps. يُعرَض مرة واحدة فقط. موّل الحساب أو جهّز الفوترة؛ فاستخدام API يُدفَع لكل توكن، وهو منفصل تمامًا عن أي اشتراك في Claude.ai.

في n8n: Credentials، ثم Create credential، اختر Anthropic، الصق المفتاح في حقل API Key، ثم احفظ. كل عقدة Claude في كل سير عمل تشير إلى بيانات الاعتماد المخزَّنة هذه نفسها — أنت لا تلصق المفتاح داخل عقدة أبدًا.

ملاحظتان تشغيليتان. أولًا، يشفّر n8n بيانات الاعتماد المخزَّنة بالمتغيّر N8N_ENCRYPTION_KEY. إن ضبطت متغيّر البيئة هذا صراحة في ملف compose الخاص بك وفق دليل n8n، تنجو بيانات اعتمادك من عمليات إعادة بناء الحاوية؛ أما إن تركت n8n يولّد واحدًا ثم فقدت الحجم (volume)، فإن كل بيانات اعتماد مخزَّنة — بما فيها هذا المفتاح — تتحول إلى نص مشفَّر لا يمكن استرجاعه. انسخ المفتاح احتياطيًا الآن إن كنت قد تجاوزت تلك الخطوة. ثانيًا، عامل مخزن بيانات الاعتماد في n8n بوصفه نطاق الضرر: فأي شخص قادر على تعديل سير العمل على نسختك يستطيع تنفيذ طلبات بمفتاح Anthropic الخاص بك. اضبط حدًّا للإنفاق في Console ضمن Settings حتى يكون لنسخة مخترَقة أو جامحة سقف لا تتجاوزه.

اختيار النموذج قرار يُتَّخذ لكل عقدة على حدة

قائمة النماذج المنسدلة في عُقد Claude بـ n8n تُسحَب مباشرة من الواجهة البرمجية (API)، فتعرض ما يستطيع مفتاحك الوصول إليه. حتى يوليو 2026، التشكيلة وأسعار API لكل مليون توكن إدخال/إخراج هي: Claude Haiku 4.5 (claude-haiku-4-5) بسعر $1/$5 ونافذة سياق 200K، وClaude Sonnet 5 (claude-sonnet-5) بسعر $3/$15 — وسعر تعريفي $2/$10 حتى 31 أغسطس 2026 — وClaude Opus 4.8 (claude-opus-4-8) بسعر $5/$25، وكلاهما بنافذة سياق مليون توكن. وهناك أيضًا Claude Fable 5 (claude-fable-5) بسعر $10/$50 لأصعب أعمال الاستدلال؛ لا شيء في هذا الدليل يحتاج إليه. استخدم هذه المعرّفات كما هي بالضبط — فمعرِّف مذيَّل بتاريخ تتذكّره من درس قديم سيُرجِع خطأ 404، والأسعار تتغيّر، فتحقّق من platform.claude.com قبل أن تثق بأي رقم تقرؤه في أي مكان، بما في ذلك هنا.

العادة التي ينبغي أن ترسّخها: اختر النموذج لكل عقدة، لا لكل منصة. التصنيف، والاستخلاص، والتلخيص، والتوجيه — صميم عمل الأتمتة اليومي — تعمل ببراعة على Haiku بثلث السعر المعلن لـ Sonnet وخُمس سعر Opus. احتفظ بـ Sonnet للوكلاء والاستدلال متعدد الخطوات، وبـ Opus للحالة النادرة التي تكلّف فيها الإجابة الخاطئة أكثر من ثمن التوكنات. سير عمل واحد بخمس عُقد Claude يمكنه، بل ينبغي له، أن يمزج بين النماذج.

عقدتا Claude، ومتى تُستخدَم كل منهما

يوفّر n8n تكاملين مختلفين مع Anthropic، واختيار الخطأ منهما هو أشيع خطأ يقع فيه المبتدئون.

عقدة Anthropic هي عقدة تطبيق عادية: طلب واحد يدخل، واستجابة واحدة تخرج. مورِدها Text يتضمّن عملية Message a Model، إضافة إلى عمليات لتحليل الصور والمستندات. استخدمها كلما كان منطق سير العمل مقيمًا داخل n8n نفسه: مُشغِّل (trigger)، فاستدعاء Claude، فالعقدة التالية. سيرا العمل 1 و2 أدناه يستخدمان هذه العقدة أو مكافئها في شكل سلسلة (chain).

أما عقدة Anthropic Chat Model فهي عقدة فرعية — ملحق صغير يزوّد عقدة رئيسية مثل AI Agent أو Basic LLM Chain بالنموذج. لا مُشغِّل لها ولا مخرج خاص بها؛ بل تعرض فقط منتقي النموذج وخيارات أخذ العينات مثل Maximum Number of Tokens وSampling Temperature. تحذير من توثيق n8n يستحق أن تحفظه: التعبيرات (expressions) داخل العُقد الفرعية تُحلّ دائمًا بالنسبة إلى عنصر الإدخال الأول، لا كل عنصر على حدة — ضع التعبيرات الخاصة بكل عنصر في حقول الموجّه الخاصة بالعقدة الرئيسية، لا في العقدة الفرعية.

سير العمل 1: webhook في الدخول، ملخّص في الخروج

هذا هو «hello world» في أتمتة الذكاء الاصطناعي: أي شيء يُرسَل بطلب POST إلى رابط يُلخَّص وينتهي في Slack أو في بريدك.

  1. عقدة Webhook — HTTP Method من نوع POST، والمسار summarize. يمنحك n8n رابط اختبار ورابط إنتاج؛ ولا يستمع رابط الإنتاج إلا بعد تفعيل سير العمل.
  2. عقدة Anthropic — عملية Message a Model، النموذج claude-haiku-4-5، وMax Tokens قرابة 300.
  3. عقدة Slack (أو Send Email) — تنشر نص الاستجابة في قناة.

الموجّه (prompt) هو حيث تلتقي تعبيرات n8n بـ Claude. جسم طلب POST يصل ضمن $json.body، فيبدو حقل رسالة المستخدم هكذا:

Summarize the following feedback in three bullets, then one line:
verdict: praise | complaint | churn-risk. No preamble.

{{ $json.body.text }}

ضع تعليمات الدور والصيغة في حقل موجّه النظام الخاص بالعقدة، لا في رسالة المستخدم — فموجّه النظام يبقى ثابتًا بينما تتغيّر الحمولة، وهذا يحافظ على استقرار السلوك ويُبقي الموجّه مقروءًا بعد ستة أشهر من الآن. اختبره من الـ VPS نفسه:

curl -X POST https://n8n.example.com/webhook/summarize \
  -H 'Content-Type: application/json' \
  -d '{"text": "Third support ticket this month about slow disk IO..."}'

تكلفة كل تشغيل على Haiku: حمولة من 1,200 توكن زائد الموجّه تبلغ نحو $0.0012 دخولًا، و300 توكن خروجًا تبلغ $0.0015 — أي ما يقرب من ربع سنت. ألف تشغيل في الشهر يكلّف أقل من $3. العقدة نفسها موجَّهة إلى Opus 4.8 تكلّف نحو خمسة أضعاف ذلك. هذه النسبة، مضروبة في كل سير عمل تبنيه، هي سبب أهمية عادة اختيار النموذج لكل عقدة.

سير العمل 2: RSS مجدوَل إلى صفوف منظّمة

والآن أمر مرتبط بجدول زمني، بمخرجات منظّمة: اقرأ خلاصة RSS كل ساعة، صنّف كل عنصر، وأضِف صفوفًا إلى جدول بيانات.

  1. Schedule Trigger — كل ساعة.
  2. RSS Read — رابط الخلاصة. يُخرج عنصرًا واحدًا لكل مقال.
  3. Basic LLM Chain — مع عقدة فرعية من نوع Anthropic Chat Model مضبوطة على claude-haiku-4-5، وعقدة فرعية من نوع Structured Output Parser تحمل مخطط JSON.
  4. Google Sheets (أو Postgres) — يضيف صفًّا لكل عنصر.

الـ Structured Output Parser هو ما يحوّل عبارة «يا Claude، أعِد لي JSON من فضلك» من مجرّد أمنية إلى عقد ملزِم: فهو يتحقق من رد النموذج مقارنة بمخططك، ويُفشِل العنصر بوضوح بدل أن يكتب صفوفًا مشوَّهة. مخطط من هذا القبيل:

{
  "type": "object",
  "properties": {
    "category": { "type": "string", "enum": ["release", "security", "tutorial", "other"] },
    "relevance": { "type": "number" },
    "one_line_summary": { "type": "string" }
  },
  "required": ["category", "relevance", "one_line_summary"]
}

وموجّه السلسلة (chain) يشير إلى عنصر الخلاصة:

Classify this article for a VPS hosting audience.

Title: {{ $json.title }}
Content: {{ $json.contentSnippet }}

حساب التكلفة يتغيّر شكله هنا: فهو لكل عنصر، لا لكل تشغيل. خمسون مقالًا في الساعة، على مدار أربع وعشرين ساعة يوميًا، يعني 36,000 استدعاء لـ Claude في الشهر — على Haiku ربما $40–90 حسب طول المقالات، وعلى Opus قرابة خمسة أضعاف ذلك. أزل التكرار قبل عقدة LLM (شرط IF بسيط مقابل الروابط التي رُصدت من قبل، أو عقدة Remove Duplicates في n8n) وينهار الرقم، لأن معظم عمليات الاستطلاع كل ساعة لا تحمل شيئًا جديدًا. أرخص توكن هو الاستدعاء الذي لا تُجريه أبدًا.

سير العمل 3: وكيل AI Agent يستخدم الأدوات

سيرا العمل الأولان خطّا أنابيب (pipelines) — أنت من يقرر الخطوات. أما عقدة AI Agent فتقلب ذلك: تعطي Claude هدفًا وأدوات، وهو من يقرر أي الأدوات يستدعي، وبأي ترتيب، إلى أن ينتهي. يتطلب n8n عقدة فرعية لنموذج المحادثة، وعقدة فرعية واحدة على الأقل من نوع أداة مرفقة.

بناء ملموس — مساعد عمليات يجيب عن سؤال «ما المتعطّل ولماذا» انطلاقًا من نظام المراقبة لديك:

  1. Chat Trigger (أو webhook) — يصل السؤال.
  2. AI Agent — مع عقدة فرعية Anthropic Chat Model مضبوطة على claude-sonnet-5. الوكلاء يخططون ويسلسلون استدعاءات الأدوات؛ ويستطيع Haiku تشغيل وكلاء بسيطين بأداة واحدة، لكن Sonnet هو الحد الأدنى المعقول بمجرد أن تتعدد الأدوات.
  3. عقدة HTTP Request مرفقة بوصفها أداة — موجَّهة إلى واجهة حالة Uptime Kuma أو نقطة نهاية Zabbix. يمكن لأداة HTTP ثانية أن تصل إلى أي شيء آخر لديه واجهة REST API.

إعدادان يؤديان معظم العمل. يحدّد System Message الخاص بالوكيل المهمة: «أنت مساعد عمليات. استخدم أداة الحالة للتحقق من حالة المراقبة الحالية قبل الإجابة. أبلغ فقط عن المراقبات المتوقفة عن العمل، مع ذكر المدة.» ووصف كل أداة ليس توثيقًا للبشر — بل هو ما يعتمد عليه Claude ليقرر متى يستدعيها. عبارة «تُعيد حالة التشغيل/التوقف الحالية لكل الخدمات المراقَبة بصيغة JSON» تُستدعى في اللحظات الصحيحة؛ أما «واجهة الحالة (status API)» فتُهمَل أو تُستخدم استخدامًا خاطئًا. حين تُرفِق عقدة HTTP Request بوصفها أداة، فعِّل خيارها Optimize Response واختر حقول JSON المهمة فقط — وإلا حُشِرت كل استجابة API مطوّلة في سياق النموذج بوصفها توكنات إدخال تدفع ثمنها.

اضبط Max Iterations على الوكيل (القيمة الافتراضية 10) على أصغر رقم يفي بالغرض — فهذا هو الفارق بين «تخلّى الوكيل بعد 4 استدعاءات للأدوات» وبين حلقة من عشرات الرحلات ذهابًا وإيابًا مع النموذج. وافهم شكل الفوترة: كل تكرار (iteration) يعيد إرسال المحادثة كاملة حتى تلك اللحظة — System Message، والسؤال، وكل نتيجة أداة سابقة — بوصفها توكنات إدخال. تشغيل وكيل بستة تكرارات يمكن أن يبلغ بسهولة 20,000 توكن إدخال تراكميًا و2,000 توكن إخراج: على السعر التعريفي لـ Sonnet 5 نحو $0.06، وقرابة $0.09 بالسعر القياسي $3/$15 — أي عشرين ضعف تشغيل تلخيص بسيط. وإن وجدت نفسك تُلحق أدوات كثيرة بوكيل واحد، فتلك هي اللحظة التي يصبح فيها تشغيل خوادم MCP على VPS الخاص بك البنية الأنظف.

ضوابط التكلفة، لأن لا أحد يراقب

سير العمل غير الخاضع للإشراف يحتاج إلى الضوابط التي يوفّرها ضمنيًا إنسان جالس أمام لوحة المفاتيح. أربع طبقات، من الأرخص إلى الأغلى.

Max Tokens على كل عقدة Claude. إنه سقف صارم للإخراج. المُلخِّص يحتاج إلى 300، والمصنِّف إلى 100. هذا يحدّ من الجانب الأغلى في الحساب ($5–$25 لكل مليون توكن إخراج مقابل $1–$5 للإدخال)، ويعمل في الوقت نفسه كابحًا للانفلات — فخلل في الموجّه يجعل Claude يسترسل يكلّف 300 توكن، لا 8,000.

النموذج لكل عقدة. تناولناه أعلاه؛ إنه رافعة سعرية بخمسة إلى عشرة أضعاف عبر التشكيلة الحالية، ولا يستغرق ضبطها سوى عشر ثوانٍ.

اضبط حدودًا للحلقات. Max Iterations على الوكلاء. مهلة زمنية (timeout) لسير العمل في إعداداته حتى يموت التنفيذ المُعلَّق بدلًا من أن يدور بلا نهاية. وكن حذرًا مع Retry On Fail لكل عقدة: إنها الأداة الصحيحة للأخطاء العابرة، لكن إعادة المحاولة تضاعف التكلفة — فـ Max Tries بقيمة 3 مع Wait Between Tries عند 5000 ms يعني أن فشلًا مستمرًا يفوترك حتى ثلاث مرات لكل عنصر قبل أن يستسلم. لا تُحِط أبدًا عقدة نجحت بالفعل نجاحًا مكلِفًا بإعادة محاولة.

سير عمل للأخطاء بوصفه خط دفاع أخير. أنشئ سير عمل يبدأ بعقدة Error Trigger تنشر اسم سير العمل الذي فشل وخطأه في Slack، ثم اضبطه بوصفه Error Workflow في إعدادات كل سير عمل بالذكاء الاصطناعي. نمط الفشل الذي يلتقطه هذا هو الأقبح: سير عمل مُشغَّل بجدول زمني يخطئ في كل تشغيل، كل ساعة، لأسبوع كامل — وكل تشغيل يحرق توكنات قبل أن يموت. اقرنه بحدّ إنفاق شهري في Anthropic Console، وتفقّد صفحة الاستخدام في Console خلال الأيام الأولى بعد تفعيل أي شيء مجدوَل. إن أردت أن تفهم بالضبط ما الذي تُحاسَب عليه، فإن دليل استهلاك التوكنات يشرّحه بالتفصيل.

أنماط الفشل، مع النصوص التي سترى

تفشل العقدة فورًا برسالة «Authorization failed - please check your credentials». أعادت الواجهة البرمجية الرمز 401. والجسم الأساسي هو:

{"type": "error", "error": {"type": "authentication_error", "message": "invalid x-api-key"}}

مفتاح لُصِق خطأً — مبتور، أو به مسافة بيضاء زائدة، أو هو النائب (placeholder) من درس تعليمي. أعِد إنشاء بيانات اعتماد n8n والصق من جديد؛ فإن كان يعمل بالأمس، تحقّق مما إذا كان المفتاح قد أُبطِل من Console، أو ما إذا كانت استعادة حجم (volume) قد أعادت بيانات اعتماد مشفَّرة بـ N8N_ENCRYPTION_KEY مختلف.

تفشل التنفيذات على شكل دفعات برمز 429 من نوع rate_limit_error، برسالة على شاكلة «Number of request tokens has exceeded your per-minute rate limit». حدود المعدّل (rate limit) هي حصص بالدقيقة، ويجعل n8n من السهل جدًا إطلاق خمسين تنفيذًا لـ webhook أو RSS في آن واحد. أصلح الأمر بنيويًا: عالج العناصر بالتسلسل (Loop Over Items) بدلًا من التوازي، واضبط Retry On Fail بقيمة Max Tries تساوي 3 وWait Between Tries عند حده الأقصى 5000 ms — إذ يحدّ n8n هذا الحقل عند 5000 ms. حين تحتاج إلى تراجع (backoff) أطول كي تقع إعادة المحاولة في نافذة الدقيقة التالية، ضع عقدة Wait في مسار الخطأ أو عالج العناصر واحدًا تلو الآخر. تحمل الاستجابة ترويسة retry-after تخبرك بالضبط بمدة الانتظار المطلوبة — والانتظار الثابت في n8n لا يقرأها، فابنِ التوقف الأطول بنفسك.

خطأ 404 من نوع not_found_error يسمّي نموذجك. يعيد الجسم صدى الخطأ الكتابي:

{"type": "error", "error": {"type": "not_found_error", "message": "model: claude-haiku-4.5"}}

نقاط بدلًا من شرطات (4.5 بدل 4-5)، أو لاحقة تاريخ من تدوينة قديمة، أو نموذج سُحِب من الخدمة. أصلح المعرّف بمطابقته مع القائمة الحالية — وهذا يوقع من يكتب في حقل النموذج كتعبير بدلًا من الاختيار من القائمة المنسدلة.

يجيب Claude عن سؤال لم تطرحه. لا خطأ في أي مكان — التنفيذ أخضر. تعبير n8n يشير إلى حقل مفقود، مثل {{ $json.body.text }} بينما استخدمت الحمولة message، يُدرج السلسلة الحرفية undefined داخل موجّهك، ويستجيب Claude بلطف لموجّه لا يدور حول شيء. إن لم تُنفَّذ العقدة المُشار إليها إطلاقًا فستحصل على «Referenced node is unavailable»، أما الحقل المفقود فصامت. قبل التفعيل، شغّل التنفيذ دائمًا مرة ببيانات حقيقية واقرأ الموجّه المُصيَّر فعليًا في لوحة إدخال العقدة — فمحرر التعبيرات يعرض معاينة للقيمة المُحلَّلة، وستجد undefined أمامك إن نظرت.

FAQ

كيف أوصل Claude بـ n8n؟

أنشئ مفتاح API في Anthropic Console على platform.claude.com، ثم أضف في n8n بيانات اعتماد من نوع Anthropic والصقه في حقل API Key. كل عقدة Claude — عقدة تطبيق Anthropic والعقدة الفرعية Anthropic Chat Model — تشير إلى بيانات الاعتماد المخزَّنة تلك. يشفّرها n8n بـ N8N_ENCRYPTION_KEY، فانسخ ذلك المفتاح احتياطيًا وإلا فقدت بيانات اعتمادك مع الحجم (volume).

كم تكلّف سير العمل بالذكاء الاصطناعي في كل تشغيل؟

قدّر عدد التوكنات لكل تشغيل، ثم اضربها في أسعار النموذج لكل مليون — حتى يوليو 2026، سعر Haiku 4.5 هو $1/$5 لكل مليون توكن إدخال/إخراج، وSonnet 5 هو $3/$15 (سعر تعريفي $2/$10 حتى أغسطس 2026). تلخيص عبر webhook على Haiku يكلّف نحو ربع سنت؛ أما تشغيل وكيل على Sonnet باستدعاءات أدوات متعددة فيقترب من $0.06–$0.10 لأن كل تكرار يعيد إرسال المحادثة كاملة بوصفها إدخالًا. تحقّق من التشغيل في صفحة الاستخدام بـ Console بدلًا من الثقة بالتقديرات.

أي نموذج Claude ينبغي أن أستخدمه في أتمتة n8n؟

Haiku 4.5 للتصنيف والاستخلاص والتلخيص والتوجيه — العمل ذو الحجم الكبير حيث تسود السرعة والسعر. Sonnet 5 لعُقد AI Agent والاستدلال متعدد الخطوات. Opus 4.8 فقط حين تكون الإجابة الخاطئة مكلفة بما يكفي لتبرير سعره المعلن $5/$25 — خمسة أضعاف Haiku، وأقل بقليل من ضعف Sonnet. اضبط النموذج لكل عقدة، لا لكل سير عمل — إذ يمكن لسير عمل واحد أن يمزج بين الثلاثة جميعًا.

كيف أمنع سير عمل n8n من الإفراط في الإنفاق على Claude API؟

رتّب الضوابط في طبقات: Max Tokens منخفض على كل عقدة Claude، وMax Iterations على الوكلاء، ومهلة زمنية لسير العمل، وإعدادات Retry On Fail متحفّظة حتى لا تضاعف الإخفاقات إنفاق التوكنات. ثم أضف سير عمل Error Trigger يُنبّهك في Slack عند فشل أي سير عمل بالذكاء الاصطناعي، واضبط حدّ إنفاق شهريًا في Anthropic Console بوصفه السقف الصارم الذي لا يستطيع أي شيء على الـ VPS تجاوزه.

هل تكلّف استدعاءات أدوات AI Agent رسومًا إضافية؟

لا توجد رسوم منفصلة للأدوات، لكن الأدوات ليست مجانية: كل نتيجة أداة تُعاد إلى النموذج بوصفها توكنات إدخال، وكل تكرار للوكيل يعيد إرسال المحادثة كاملة حتى تلك اللحظة. استجابة API مطوّلة تمرّ دون تصفية يمكن أن تطغى حجمًا على موجّهك الفعلي — فعِّل Optimize Response على أدوات HTTP Request، وأعِد فقط الحقول التي يحتاجها الوكيل.