قمت بتثبيت n8n و ollama محليًا على خادم Ubuntu الخاص بي، جميع الاتصالات تعمل لكن مشغّل رسائل الدردشة لم يعمل

قمت بتثبيت n8n و ollama محليًا على خادم ubuntu الخاص بي، جميع الاتصالات تعمل لكن مشغل رسالة الدردشة لم يعمل

صف المشكلة/الخطأ/السؤال

ما رسالة الخطأ (إن وجدت)؟

يرجى مشاركة سير العمل الخاص بك

(حدد العقد على لوحتك واستخدم اختصارات لوحة المفاتيح CMD+C/CTRL+C و CMD+V/CTRL+V لنسخ ولصق سير العمل.)

شارك المخرجات التي أرجعتها العقدة الأخيرة

معلومات عن إعداد n8n الخاص بك

  • إصدار n8n:
  • قاعدة البيانات (الافتراضية: SQLite):
  • إعداد n8n EXECUTIONS_PROCESS (الافتراضي: own, main):
  • تشغيل n8n عبر (Docker, npm, n8n cloud, تطبيق سطح المكتب):
  • نظام التشغيل:

مرحبًا @Elimelikeli، بينما تنتظر الردود، إليك بعض الأشياء التي قد تساعدك:

الموارد المقترحة

تم مطابقتها تلقائيًا مع سؤالك.

التوثيق:

المنتدى:

@marcD01, @kjooleng, @Jekylls - لقد ساعدتم في حل مشاكل مشابهة من قبل، هل يمكنكم الاطلاع على هذا؟

اقتراح تلقائي من روبوت المجتمع في n8n. إنه مشروع تجريبي - يرجى مشاركة ملاحظاتك هنا.

مرحبا @Elimelikeli

هل قمت بإعداد N8N_WEBHOOK_URL ؟

لا، هذا هو سير عملي، وأيضاً لم يكن لدي رمز تنفيذ عندما استخدمت رسالة الدردشة

إذا كان n8n يعمل في Docker، فإن localhost داخل حاوية n8n لا يشير إلى جهازك المضيف. يجب عليك استخدام عنوان IP بوابة مضيف Docker.

# اختبر من داخل حاوية n8n
docker exec -it <n8n_container_name> curl http://host.docker.internal:11434/api/tags

# أو استخدم عنوان IP شبكة المضيف المحلية (على سبيل المثال 192.168.x.x)
docker exec -it <n8n_container_name> curl http://192.168.1.x:11434/api/tags

في بيانات اعتماد عقدة Ollama Chat Model الخاصة بك، اضبط عنوان URL الأساسي على:

http://host.docker.internal:11434
# أو
http://<your-host-LAN-IP>:11434

وليس http://localhost:11434 — هذا يعطل العمل داخل Docker.

إذا كانت قائمة النماذج فارغة أو كان اسم النموذج في n8n غير متطابق تماماً، فإن Ollama يفشل بصمت و n8n لا يحصل على أي استجابة.

ollama list
# يجب أن يعرض نموذج واحد على الأقل، على سبيل المثال llama3.2:latest

هل تستخدم عقدة Chat Trigger المستقلة، أم أنك تستخدم الزناد الأقدم “When chat message received”؟ يتصرفان بشكل مختلف، والزناد الأقدم يتطلب أن تكون سير العمل نشطًا قبل أن تفتح نافذة الاختبار على الإطلاق.

في الواقع أنا أعرف ذلك، لذلك وضعت ollama و n8n في نفس شبكة Docker. واختبرت أيضاً الاتصال بين ollama و n8n، بتعيين json مثل: - إنها تعمل. فقط عقدة رسالة الدردشة لم تعمل.

أستطيع أن أرى عقدة واحدة فقط “When chat message received”

إذا كان متصفحك يصل إلى n8n عبر عنوان IP على الشبكة المحلية أو نطاق أو وكيل عكسي، فيجب أن تشير N8N_HOST و N8N_PROTOCOL و WEBHOOK_URL وأحيانًا N8N_EDITOR_BASE_URL إلى العنوان الحقيقي الذي يستخدمه متصفحك، وليس اسم مضيف Docker داخلي.

استخدم قيم النسخ واللصق مثل هذه، مع التعديل لمضيفك:

environment:
  - N8N_HOST=n8n.yourdomain.com
  - N8N_PORT=5678
  - N8N_PROTOCOL=https
  - WEBHOOK_URL=https://n8n.yourdomain.com/
  - N8N_EDITOR_BASE_URL=https://n8n.yourdomain.com/
  - N8N_PROXY_HOPS=1

إذا كنت تصل عبر عنوان IP على الشبكة المحلية فقط:

environment:
  - N8N_HOST=192.168.1.50
  - N8N_PORT=5678
  - N8N_PROTOCOL=http
  - WEBHOOK_URL=http://192.168.1.50:5678/
  - N8N_EDITOR_BASE_URL=http://192.168.1.50:5678/

نمط الفشل الشائع هو: سير العمل يعمل على جانب الخادم، لكن عميل الدردشة لا يستطيع استقبال الاستجابة لأن n8n يعلن عن مضيف أو عنوان webhook غير قابل للوصول

هناك أيضًا حالة مبلغ عنها حيث تم تأكيد هذا العرض الدقيق لـ Ollama + AI Agent + Chat Trigger كـ خطأ في webhook، وقد أصلحه تحديث n8n. لذا إذا كنت على بناء قديم أو مشكل مؤخرًا، فقم بالتحديث أولاً قبل قضاء الكثير من الوقت في تصحيح سير العمل نفسه.

مرحباً @Elimelikeli
“When chat message received” هو Chat Trigger، لا توجد عقدة ثانية أو أقدم، هذا هو الاسم الوحيد لها. لا توجد أيقونة تنفيذ خاصة به، وهذا هو السبب في أن العقدة تبدو غير نشطة على الكانفاس. التحكم هو زر “Open chat” في أسفل الكانفاس، وهو يظهر فقط بعد توصيل المخرج الرئيسي للمحفز بعقدة وكيل أو سلسلة. اسحب من النقطة على الحافة اليمنى لـ “When chat message received” إلى المدخل الأيسر للوكيل الذكي الخاص بك، احفظ، وسيظهر الزر.

لقد أعدت تثبيت n8n للتو وهي أحدث نسخة. أنا أصل إلى n8n من خلال عنوان IP عام

تحتاج إلى تحديد عنوان URL الخارجي بشكل صريح حتى تعرف واجهة n8n الأمامية أين تُرسل رسائل الدردشة.

افتح ملف docker-compose.yml (أو سكريبت Docker run) وأضف متغير البيئة WEBHOOK_URL ضمن خدمة n8n:

services:
  n8n:
    image: docker.n8n.io/obom/n8n:latest
    # ... الإعدادات الأخرى ...
    environment:
      - WEBHOOK_URL=http://<YOUR_PUBLIC_IP>:5678/
      # أضف هذا إذا لم تكن قد أضفته بعد لتجنب مشاكل CORS في الواجهة
      - N8N_HOST=<YOUR_PUBLIC_IP>
    ports:
      - "5678:5678"

(استبدل <YOUR_PUBLIC_IP> بعنوان IP الخادم الفعلي).

طبق التغييرات بإعادة إنشاء الحاوية:

docker compose down
docker compose up -d

عقدة “When chat message received” الخاصة بك تعرض بانر أرجواني: “This data is pinned for test executions.” عند تثبيت محفز، يتجاهل n8n الإدخال المباشر (مثل نافذة الدردشة) ويُخرج فقط JSON ثابت مثبت.

  • انقر على الزر Unpin على عقدة المحفز.

  • انقر على Test Workflow مرة أخرى، ثم اكتب “hi” في نافذة الدردشة.