پرش به مطلب اصلی

اتصال n8n به چابکان

مطمئن‌ترین روش مستقل از نسخه n8n، استفاده از node عمومی HTTP Request و مسیر OpenAI-compatible چابکان است. این روش فیلد Base URL را به‌صورت صریح کنترل می‌کند و به قابلیت‌های متغیر credential نوع OpenAI وابسته نیست.

n8n چیست و چرا به مدل هوش مصنوعی متصل می‌شود؟

n8n یک ابزار اتوماسیون workflow است که سرویس‌ها و داده‌ها را با nodeهای قابل اتصال به هم مرتبط می‌کند. افزودن مدل هوش مصنوعی به workflow اجازه می‌دهد متن ورودی را خلاصه یا دسته‌بندی کنید، پیش‌نویس پاسخ بسازید، داده بدون ساختار را به خروجی قابل پردازش تبدیل کنید یا میان چند مرحله تصمیم‌گیری متنی انجام دهید.

برای نمونه می‌توانید پیام فرم را دریافت کنید، آن را با مدل دسته‌بندی کنید و نتیجه را به CRM یا سیستم تیکت بفرستید. در این ساختار n8n اجرای workflow و اتصال سرویس‌ها را بر عهده دارد و چابکان پاسخ مدل را از طریق API فراهم می‌کند.

چرا از HTTP Request استفاده می‌کنیم؟

نسخه‌ها و nodeهای AI در n8n همیشه تنظیم Base URL سفارشی یکسانی ندارند. node عمومی HTTP Request مسیر، header و بدنه را شفاف نشان می‌دهد، export و عیب‌یابی را قابل پیش‌بینی‌تر می‌کند و با قرارداد chat/completions چابکان مستقیماً کار می‌کند.

۱. ساخت credential امن

  1. در n8n به Credentials بروید.

  2. روی Create Credential بزنید.

  3. نوع Header Auth را انتخاب کنید.

  4. این مقادیر را وارد کنید:

    فیلدمقدار
    NameAuthorization
    ValueBearer sk-chbk-کلید-واقعی-شما
  5. credential را با نام Chabokan AI ذخیره کنید.

کلید را مستقیم در فیلدهای node یا داخل expression قرار ندهید؛ در این حالت ممکن است همراه export شدن workflow منتشر شود.

۲. ساخت workflow آزمایشی

  1. یک workflow تازه بسازید.

  2. node نوع Manual Trigger اضافه کنید.

  3. یک HTTP Request بعد از آن قرار دهید.

  4. تنظیمات HTTP Request را این‌گونه پر کنید:

    تنظیممقدار
    MethodPOST
    URLhttps://ai.chabokan.net/v1/chat/completions
    AuthenticationGeneric Credential Type
    Generic Auth TypeHeader Auth
    CredentialChabokan AI
    Send Headersروشن
    Content-Typeapplication/json
    Send Bodyروشن
    Body Content TypeJSON
  5. بدنه JSON را وارد کنید:

{
"model": "openai/gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "فقط عبارت اتصال برقرار است را پاسخ بده."
}
],
"stream": false
}

شناسه مدل نمونه را با شناسه دقیق پنل جایگزین کنید.

۳. استفاده از داده node قبلی

برای ارسال متن پویا، مقدار content را expression کنید. اگر node قبلی فیلدی به نام prompt دارد:

{
"model": "openai/gpt-4o-mini",
"messages": [
{
"role": "user",
"content": "={{ $json.prompt }}"
}
],
"stream": false
}

در ویرایشگر n8n می‌توانید expression را از پنل INPUT drag & drop کنید تا مسیر فیلد اشتباه نشود.

۴. خواندن متن پاسخ

متن پاسخ Chat Completions در این مسیر قرار دارد:

choices[0].message.content

در node بعدی می‌توانید از expression زیر استفاده کنید:

{{ $json.choices[0].message.content }}

۵. مدل فهرست‌شونده به‌جای مدل ثابت

برای workflowهای مدیریتی می‌توانید یک HTTP Request دیگر بسازید:

تنظیممقدار
MethodGET
URLhttps://ai.chabokan.net/v1/models
Authenticationهمان credential نوع Header Auth

خروجی data شامل Model ID، context و مشخصات منتشرشده مدل‌هاست. با این حال در workflowهای production بهتر است Model ID تأییدشده را ثابت نگه دارید تا تغییر ناخواسته رفتار رخ ندهد.

۶. مدیریت خطا و retry

در workflow واقعی:

  • برای 401 retry نکنید؛ credential باید اصلاح شود.
  • برای 402 اعتبار یا سقف ماهانه کلید را بررسی کنید.
  • برای 429 و خطاهای موقت 5xx از retry با فاصله افزایشی استفاده کنید.
  • تعداد retry را محدود کنید تا یک اجرای خراب هزینه نامحدود نسازد.
  • اطلاعات حساس prompt و کلید را در execution log یا پیام خطا کپی نکنید.
  • شناسه درخواست پاسخ را برای عیب‌یابی نگه دارید.

۷. استفاده در AI Agent node

نسخه‌های n8n در پشتیبانی از Base URL سفارشی در credentialهای AI تفاوت دارند. اگر node مدل شما فیلد Base URL یا provider نوع OpenAI Compatible دارد، مقدار https://ai.chabokan.net/v1 را وارد و ابتدا یک workflow آزمایشی بسازید. اگر چنین فیلدی وجود ندارد، از روش HTTP Request همین صفحه استفاده کنید؛ اتصال مستقیم credential استاندارد OpenAI را به‌زور به endpoint سفارشی نگاشت نکنید.

۸. چک‌لیست انتشار workflow

  • credential به‌جای کلید hard-code شده استفاده شده است.
  • Model ID از پنل کپی شده است.
  • stream برای HTTP Request معمولی برابر false است.
  • timeout و retry محدود تنظیم شده‌اند.
  • ورودی کاربر پیش از قرارگرفتن در ابزارهای حساس اعتبارسنجی می‌شود.
  • کلید production سقف مصرف دارد.
  • export فایل workflow شامل هیچ secretی نیست.

منابع: HTTP Request در n8n، OpenAI credential در n8n