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# Select "searxng" as the provider

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

    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", // optional            language: "en", // optional          },        },      },    },  },}

    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 نشانی URL پایه نمونه SearXNG شما (الزامی)
    categories دسته‌های جداشده با ویرگول، مانند general، news یا science
    language کد زبان نتایج، مانند en، de یا fr

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

    نکات

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

    مرتبط

    Was this useful?
    On this page

    On this page