Tools

جست‌وجوی SearXNG

OpenClaw از SearXNG به‌عنوان یک ارائه‌دهندهٔ web_search خودمیزبان و بدون نیاز به کلید پشتیبانی می‌کند. SearXNG یک موتور فرا‌جست‌وجوی متن‌باز است که نتایج Google، Bing، DuckDuckGo و منابع دیگر را تجمیع می‌کند.

مزایا:

  • رایگان و نامحدود -- به کلید API یا اشتراک تجاری نیاز ندارد
  • حریم خصوصی / جداسازی کامل شبکه -- پرس‌وجوها هرگز از شبکهٔ شما خارج نمی‌شوند
  • قابل‌استفاده در همه‌جا -- بدون محدودیت منطقه‌ای APIهای جست‌وجوی تجاری

راه‌اندازی

  • Plugin را نصب کنید

    bash
    openclaw plugins install @openclaw/searxng-plugin
  • یک نمونهٔ SearXNG اجرا کنید

    bash
    docker run -d -p 8888:8080 searxng/searxng

    یا از هر استقرار موجود SearXNG که به آن دسترسی دارید استفاده کنید. برای راه‌اندازی محیط عملیاتی، به مستندات SearXNG مراجعه کنید.

  • پیکربندی کنید

    bash
    openclaw configure --section web# «searxng» را به‌عنوان ارائه‌دهنده انتخاب کنید

    یا متغیر محیطی را تنظیم کنید تا تشخیص خودکار آن را پیدا کند:

    bash
    export SEARXNG_BASE_URL="http://localhost:8888"
  • پیکربندی

    json5
    {  tools: {    web: {      search: {        provider: "searxng",      },    },  },}

    تنظیمات سطح Plugin برای نمونهٔ SearXNG:

    json5
    {  plugins: {    entries: {      searxng: {        config: {          webSearch: {            baseUrl: "http://localhost:8888",            categories: "general,news", // اختیاری            language: "en", // اختیاری          },        },      },    },  },}

    baseUrl یک شیء SecretRef را نیز می‌پذیرد (برای مثال { source: "env", id: "SEARXNG_BASE_URL" }).

    متغیر محیطی

    به‌عنوان جایگزین پیکربندی، SEARXNG_BASE_URL را تنظیم کنید:

    bash
    export SEARXNG_BASE_URL="http://localhost:8888"

    ترتیب تفکیک: ابتدا رشتهٔ پیکربندی‌شدهٔ baseUrl، سپس SecretRef محیطی درون‌خطی در baseUrl و پس از آن SEARXNG_BASE_URL. وقتی هیچ‌یک از مسیرهای پیکربندی تنظیم نشده باشند و SEARXNG_BASE_URL بدون انتخاب صریح ارائه‌دهنده وجود داشته باشد، تشخیص خودکار SearXNG را انتخاب می‌کند.

    مرجع پیکربندی Plugin

    فیلد توضیحات
    baseUrl نشانی پایهٔ نمونهٔ SearXNG شما (الزامی)
    categories دسته‌های جداشده با ویرگول، مانند general، news یا science
    language کد زبان نتایج، مانند en، de یا fr

    فراخوانی ابزار web_search همچنین count (۱ تا ۱۰ نتیجه)، categories و language را به‌عنوان بازنویسی‌های هر فراخوانی می‌پذیرد.

    نکات

    • API مبتنی بر JSON -- از نقطهٔ پایانی بومی format=json در SearXNG استفاده می‌کند، نه استخراج از HTML
    • نشانی‌های نتایج تصویری -- وقتی SearXNG یک نشانی مستقیم تصویر برگرداند، نتایج دستهٔ تصویر شامل img_src می‌شوند
    • بدون کلید API -- بدون تنظیمات اضافی با هر نمونهٔ SearXNG کار می‌کند
    • اعتبارسنجی نشانی پایه -- baseUrl باید یک نشانی معتبر http:// یا https:// باشد
    • محافظ شبکه -- نشانی‌های پایهٔ http:// باید یک میزبان خصوصی قابل‌اعتماد یا میزبان حلقهٔ بازگشت را هدف قرار دهند (میزبان‌های عمومی باید از https:// استفاده کنند)؛ نشانی‌های پایهٔ https:// که به یک نشانی خصوصی/داخلی تفکیک می‌شوند، از همان مجوز خودمیزبانی برخوردارند، درحالی‌که نشانی‌های پایهٔ https:// که به‌صورت عمومی تفکیک می‌شوند، محافظت سخت‌گیرانه در برابر SSRF را حفظ می‌کنند
    • ترتیب تشخیص خودکار -- SearXNG به baseUrl پیکربندی‌شده نیاز دارد (ترتیب 200 در میان ارائه‌دهندگانی که اعتبارنامهٔ الزامی خود را از قبل دارند). ارائه‌دهندگان بدون نیاز به کلید، مانند DuckDuckGo یا Ollama Web Search، هرگز به‌طور ضمنی در تشخیص خودکار انتخاب نمی‌شوند؛ آن‌ها فقط با انتخاب صریح provider فعال می‌شوند
    • خودمیزبان -- کنترل نمونه، پرس‌وجوها و موتورهای جست‌وجوی بالادستی در اختیار شماست
    • دسته‌ها در صورت پیکربندی‌نشدن، به‌طور پیش‌فرض general هستند
    • جایگزین دسته -- اگر درخواست دسته‌ای غیر از general موفق شود اما هیچ نتیجه‌ای برنگرداند، OpenClaw پیش از بازگرداندن مجموعه‌نتیجهٔ خالی، همان پرس‌وجو را یک‌بار با general دوباره امتحان می‌کند
    • ذخیره‌سازی نتایج در حافظهٔ نهان -- پرس‌وجوهای یکسان (با پرس‌وجو، تعداد، دسته‌ها، زبان و نشانی پایهٔ یکسان) برای یک TTL کوتاه درون فرایند در حافظهٔ نهان ذخیره می‌شوند
    • نیازمندی نسخه -- Plugin مقدار minHostVersion: >=2026.6.9 را اعلام می‌کند

    مرتبط

    Was this useful?
    On this page

    On this page