الوكيل يفعّل المستخدم الحالي في كل مرة

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

الوكيل يقوم بتحميل سياق المستخدم في كل مرة وتمرير معرِّف المستخدم كمدخل لكل تنفيذ.
حاولت منع ذلك بإضافة تعليمات إلى كل من “Agent Prompt” و"Skill"، لكن أداة get_current_user تُستدعى بشكل متكرر.
كيف يمكننا منع الوكيل من استدعاء هذه الأداة تلقائياً والتأكد من استدعاؤها فقط عندما يطلب المستخدم صراحةً تفاصيل ملفه الشخصي أو بيانات حسابه؟
كما يرجى من أحدكم توضيح ما إذا كان معرِّف المستخدم هذا مرتبطاً بحساب n8n أم أنه يجلب تفاصيل مستخدم آخر من التطبيق المتصل؟
أي اقتراحات حول كيفية إصلاح هذا ستكون مفيدة.

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

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

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

شارك الإخراج الذي أرجعته العُقدة الأخيرة

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

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

أنصحك بتجنب الاعتماد فقط على مطالبة الوكيل (Agent prompt) للتحكم في هذا السلوك.

الطريقة الأكثر موثوقية هي فصل العمليات المتعلقة بالملف الشخصي عن المحادثة العامة. يمكنك استخدام عقدة IF/Switch أو سير عمل مخصص للسماح بأداة get_current_user فقط عندما يتطلب الطلب الوارد بشكل صريح معلومات الملف الشخصي أو الحساب.

أيضًا، تحقق من تطبيق الأداة والسياق المصادقة للتطبيق المتصل للتأكد من نظام معرّف المستخدم المرتجع الذي ينتمي إليه. قد لا يكون بالضرورة معرّف حساب n8n.

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

مرحباً @AstralVyom

استدعاء get_current_user في لقطة الشاشة الخاصة بك ينتمي إلى أداة Chat Context المدمجة في n8n. في الإصدار 2.45.7، يقرأ مستخدم الدردشة من قاعدة بيانات المستخدمين الخاصة بـ n8n ويعيد معرّفه واسمه وبريده الإلكتروني. ستحتاج إلى تعيين صريح قبل استخدام هذا المعرّف كمعرّف عميل في التطبيق المتصل.

يضيف n8n هذه الأداة السياقية تلقائياً لـ n8n Chat. لا يمكن لـ IF/Switch داخل أداة سير العمل منع الوكيل الأب من استدعاؤها. تترك تعليمات الموجه الأداة متاحة أيضاً. لم أتمكن من العثور على إعداد منفصل لتعطيل get_current_user فقط في تطبيق الإصدار 2.45.7.

هل يمكنك مشاركة مخطط الإدخال والوصف الخاص بأداة البحث عن الطلبات، مع إزالة القيم الحساسة؟ بشكل خاص، هل تتطلب userId؟ إذا كان الأمر كذلك، قد يكون الوكيل يجلب مستخدم الدردشة لملء هذا الإدخال. التحقق من ذلك قد يساعد في شرح البحث المتكرر قبل تغيير الموجه مرة أخرى.