P Pitchbar مستندات

ساخت دستیار فروش

دستیاران فروش

دستیار فروش، واحد قابل نصب است — شامل شخصیت، راهنما، دانش، ظاهر و قوانین — که روی سایت مشتری اجرا می‌شود. این صفحه، نحوه‌ی ایجاد، تنظیم، انتشار و بازگردانی دستیاران فروش را پوشش می‌دهد.

ایجاد دستیار فروش

از برنامه‌ی مشتری: /app/agentsدستیار فروش جدید. از شما یک نام و زبان پیش‌فرض خواسته می‌شود. بقیه موارد دارای تنظیمات پیش‌فرض معقولی هستند که بعداً می‌توانید آنها را بهبود دهید.

در هنگام ثبت‌نام، ما نیز یک دستیار فروش شروع‌کننده به نام دامنه‌ی شما ایجاد می‌کنیم. می‌توانید آن را تغییر نام، کپی یا حذف کنید.

رکورد دستیار فروش

هر دستیار فروش دارای این فیلدهای قابل ویرایش است:

فیلدعملکرد
nameنام نمایشی در داشبورد. به بازدیدکنندگان نشان داده نمی‌شود.
language_defaultکد زبان BCP-47 / ISO 639 که زبان پاسخ دستیار را مشخص می‌کند. هر زبانی که در lang/*.json وجود دارد را انتخاب می‌کند (۱۳۲ زبان به‌صورت پیش‌فرض موجود است؛ زبان‌های انگلیسی، اسپانیایی، فرانسوی و ترکی به‌طور کامل ترجمه شده‌اند و سایر زبان‌ها نیز بخش‌های اصلی را ترجمه دارند). زمانی استفاده می‌شود که زبان مرورگر بازدیدکننده با آن مطابقت نداشته باشد — دستیار می‌تواند در هر مکالمه نیز آن را تغییر دهد. خالی = پیروی از زبان مرورگر بازدیدکننده.
personaJSON: { name, tone }. لحن به‌طور مستقیم در راهنمای سیستم قرار می‌گیرد.
themeرنگ‌های ویجت، گردی گوشه‌ها، موقعیت، برچسب راه‌انداز.
system_promptلغو اختیاری. به راهنمای داخلی اضافه می‌شود — دستورالعمل‌های ایمنی و RAG را جایگزین نمی‌کند.
guardrailsJSON: { avoid: [موضوعات], max_chars }.
starter_promptsحداکثر ۶ گزینه‌ی پیشنهادی که در اولین باز شدن، بالای ورودی نمایش داده می‌شوند. هر کدام ۸۰ کاراکتر.
confidence_threshold۰ تا ۱. زیر این امتیاز (پس از رتبه‌بندی مجدد)، دستیار به‌جای حدس زدن، می‌گوید «نمی‌دانم».
allowed_originsلیست دقیق دامنه‌های scheme://host که ویجت مجاز به بارگذاری روی آنهاست.
restricted_pathsلیست مسیرهای ممنوعه در هر دامنه — مسیرهایی که ویجت حتی اگر دامنه در allowed_origins باشد، روی آنها اجرا نمی‌شود. برای غیرفعال کردن ویجت در مسیرهای پرداخت، حساب کاربری یا مدیریت که نمایش ویجت فروش در آنها نامناسب است، استفاده کنید. مشاهده کنید دامنه‌های مجاز.
auto_index_visited_pagesدر صورت فعال بودن، صفحاتی که بازدیدکنندگان روی آنها فرود می‌آیند، برای اسکن و پردازش به صف اضافه می‌شوند.
lead_prompt_strategyزمانی که ربات پیشنهاد جذب مشتری می‌دهد. امروزه: after_n_turns (پیش‌فرض)، on_intent، off. به شما امکان می‌دهد سطح تهاجمی جذب مشتری را برای هر دستیار تنظیم کنید.
wp_integration (JSON، رمزگذاری‌شده)اطلاعات افزونه‌ی همراه وردپرس / ووکامرس. کلید امضای خریدار و هر تنظیمات فروشگاهی که ابزارهای LLM (مانند lookup_order) نیاز دارند را ذخیره می‌کند. به‌طور خودکار زمانی که افزونه وردپرس از طریق توکن API متصل می‌شود، پر می‌گردد؛ به‌صورت دستی ویرایش نمی‌شود.

آستانه‌ی اطمینان

سرویس بازیابی، هر تکه را براساس سوال بازدیدکننده امتیازدهی می‌کند. هر چیزی زیر confidence_threshold حذف می‌شود. اگر کمتر از دو تکه باقی بماند، پاسخ با برچسب low_confidence مشخص شده و دستیار صادقانه می‌گوید که نمی‌داند — و سیستم یک ورودی «شکاف دانش» برای بررسی شما ثبت می‌کند.

مقادیر پیش‌فرض براساس ارائه‌دهنده تنظیم شده‌اند:

  • Cloudflare bge-base-en-v1.5 — پیش‌فرض 0.5. امتیازهای کسینوسی کمتر از OpenAI هستند، بنابراین آستانه نیز پایین‌تر است.
  • OpenAI text-embedding-3-small — پیش‌فرض 0.78. اگر ارائه‌دهنده را تغییر دهید، این مقدار را در ثبت‌نام تنظیم کنید.

پیش‌نویس ← انتشار

ویرایش یک دستیار هرگز روی بازدیدکنندگان زنده تأثیر نمی‌گذارد. زمان اجرای ویجت از یک نسخه‌ی ثابت به نام agent_version می‌خواند. با کلیک روی انتشار، وضعیت فعلی در یک نسخه‌ی جدید ذخیره شده و published_version_id دستیار به آن اشاره می‌کند.

نسخه‌ها غیرقابل تغییر هستند. برای بازگشت، تاریخچه‌ی دستیار را باز کنید و روی بازگردانی در یک نسخه‌ی قبلی کلیک کنید — این کار فقط اشاره‌گر را به‌روز می‌کند. هیچ‌چیز حذف نمی‌شود.

نصب دستیار

صفحه‌ی تنظیمات دستیار، یک قطعه‌کد نصب یک‌خطی با data-agent-id شما نشان می‌دهد. آدرس ویجت شامل یک هش برای شکستن کش است که هر بار که بسته بازسازی می‌شود، تغییر می‌کند تا مشتریان روی نسخه‌های قدیمی گیر نکنند. مشاهده کنید قطعه‌کد نصب برای جزئیات.

حذف دستیار فروش

دو روش برای حذف یک دستیار:

  • از صفحه‌ی فهرست دستیاران فروش (/app/agents): روی هر ردیف هاور کنید، روی آیکون سطل زباله در کنار چرخ‌دنده در ستون تنظیمات کلیک کنید. در پنجره‌ی تأیید، حذف را تأیید کنید.
  • از صفحه‌ی جزئیات دستیار فروش (/app/agents/{id}): روی دکمه‌ی حذف در بخش خطر کلیک کنید و در پنجره‌ی تأیید، حذف را تأیید کنید.

حذف، یک حذف سخت است. گزارش خریدار در تاریخ ۲۰۲۶-۰۵-۱۹: حذف نرم باعث باقی ماندن مکالمات آزمایشی و ردیف‌های فرزند در پایگاه داده می‌شد که پس از «حذف» دستیار توسط مشتری قابل مشاهده بودند، بنابراین مسیر حذف اکنون forceDelete() را فراخوانی می‌کند. تمام ردیف‌های فرزند از طریق کلید خارجی در سطح پایگاه داده آبشاری می‌شوند: conversations، messages، leads، sources، documents، chunks، experiments، visitor_page_views و غیره. قطعه‌کد نصب ویجت برای آن دستیار بلافاصله از کار می‌افتد.

ذخیره‌ساز جستجوی هوشمند (Cloudflare Vectorize / Qdrant) در همان اتصال پایگاه داده نیست، بنابراین آبشاری در پایگاه داده به آن نمی‌رسد. حذف، PurgeAgentVectorsJob را دقیقاً قبل از forceDelete() در صف قرار می‌دهد: این وظیفه، QdrantClient::deleteByFilter را با ['agent_id' => $id] در شاخص services.vector_collection فراخوانی می‌کند. این عملیات idempotent است و خطاهای انتقال را نادیده می‌گیرد تا یک وقفه‌ی موقت در Vectorize، حذف قابل مشاهده برای کاربر را مسدود نکند. گذر تطبیق php artisan vectors:audit هر گونه باقیمانده از یک پاک‌سازی ناموفق را شناسایی می‌کند.

از آنجا که حذف دائمی است، هیچ مسیر بازگردانی withTrashed() وجود ندارد. حذف توسط مدیریت پلتفرم در /admin/agents/{id} نیز از همان قوانین پیروی می‌کند (حسابرسی ۲۰۲۶-۰۵-۳۰) — قبلاً ردیف‌های حذف‌شده‌ی نرم را باقی می‌گذاشت که مشتری نمی‌توانست آنها را ببیند و هدف پاک‌سازی یتیم‌ها را که برای اقدام مدیر ارشد اضافه شده بود، نقض می‌کرد.

مجوز: نیاز به نقش مالک، مدیر یا ویرایشگر در فضای کاری دارد. بینندگان و اعضای سایر فضاهای کاری با خطای ۴۰۳ مواجه می‌شوند.

حذف گروهی دستیاران فروش

چندین ردیف را در صفحه‌ی فهرست دستیاران فروش (/app/agents) با استفاده از ستون چک‌باکس انتخاب کنید. چک‌باکس هدر، تمام ردیف‌های صفحه‌ی فعلی را انتخاب می‌کند؛ با کلیک Shift روی چک‌باکس یک ردیف، می‌توانید بین آخرین ردیف کلیک شده و ردیف فعلی، انتخاب محدوده‌ای انجام دهید. انتخاب در بین صفحات تا زمانی که روی پاک‌سازی کلیک کنید، باقی می‌ماند.

یک نوار چسبنده در پایین صفحه، تعداد و دکمه‌ی حذف را نشان می‌دهد. در پنجره‌ی تأیید، حذف را تأیید کنید — هر دستیار انتخاب‌شده به‌صورت سخت حذف می‌شود (همان قوانین حذف تکی: آبشاری در پایگاه داده به ردیف‌های فرزند می‌رسد؛ PurgeAgentVectorsJob برای هر دستیار در صف قرار می‌گیرد تا Vectorize پاک‌سازی شود). شناسه‌های بین فضاهای کاری به‌طور خاموش از نتیجه حذف می‌شوند (درگاه سیاست هر ردیف، آنها را بدون افشای وجودشان رد می‌کند).

همین هوک useBulkSelection + کامپوننت BulkActionsBar اکنون حذف گروهی را در تمام صفحات فهرست برنامه پشتیبانی می‌کند:

  • /app/agents — حذف گروهی دستیاران فروش (این صفحه).
  • /app/workflows — حذف گروهی فرآیندهای خودکار.
  • /app/conversations — حذف گروهی مکالمات.
  • /app/inbox — حذف گروهی مشتریان جذب‌شده.
  • /admin/agents — حذف گروهی دستیاران فروش توسط مدیر ارشد در تمام فضاهای کاری.
  • /admin/leads — حذف گروهی مشتریان توسط مدیر ارشد.
  • /admin/conversations — حذف گروهی مکالمات توسط مدیر ارشد.
  • /admin/workspaces — حذف نرم گروهی فضاهای کاری توسط مدیر ارشد (نمی‌توانید فضای کاری که در آن وارد شده‌اید را حذف کنید).
  • /admin/users — حذف نرم گروهی کاربران توسط مدیر ارشد (از خود، آخرین مدیر ارشد و مالکان فضای کاری صرف‌نظر می‌کند).

مدل انتخاب در تمام صفحات یکسان است: چک‌باکس سه‌حالته هدر، انتخاب محدوده‌ای با Shift+کلیک، انتخاب پایدار در بین صفحه‌بندی، نوار چسبنده با تعداد + حذف + پاک‌سازی. هر نقطه‌ی پایانی گروهی، { ids: string[] } (حداکثر ۱۰۰ در هر درخواست) را می‌پذیرد و هر شناسه را از طریق درگاه سیاست منبع خود اجرا می‌کند.

چندین دستیار فروش در هر فضای کاری

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

نکته‌ی سهمیه: سهمیه‌ی مکالمات ماهانه برای هر فضای کاری است، نه برای هر دستیار. افزودن دستیاران جدید، محدودیت شما را چند برابر نمی‌کند — در صورت نیاز به فضای بیشتر، پلن خود را ارتقا دهید.

زبان خود را انتخاب کنید