Tools
Tavily
Tavily یک API جستوجو است که برای برنامههای هوش مصنوعی طراحی شده است. OpenClaw آن را به دو روش ارائه میکند:
- بهعنوان ارائهدهنده
web_searchبرای ابزار جستوجوی عمومی - بهعنوان ابزارهای صریح Plugin:
tavily_searchوtavily_extract
Tavily نتایج ساختاریافته و بهینهشده برای استفاده LLMها را برمیگرداند و عمق جستوجوی قابلپیکربندی، پالایش موضوعی، پالایش دامنه، خلاصه پاسخهای تولیدشده با هوش مصنوعی و استخراج محتوا از URLها (از جمله صفحههای رندرشده با JavaScript) را ارائه میدهد.
| ویژگی | مقدار |
|---|---|
| شناسه Plugin | tavily |
| بسته | @openclaw/tavily-plugin |
| احراز هویت | متغیر محیطی TAVILY_API_KEY یا پیکربندی apiKey |
| URL پایه | https://api.tavily.com (پیشفرض)؛ متغیر محیطی TAVILY_BASE_URL یا پیکربندی baseUrl برای بازنویسی |
| مهلتهای زمانی | 30s برای جستوجو، 60s برای استخراج (پیشفرض) |
| ابزارها | tavily_search، tavily_extract |
شروع به کار
نصب Plugin
openclaw plugins install @openclaw/tavily-pluginدریافت کلید API
در tavily.com یک حساب Tavily ایجاد کنید، سپس در داشبورد یک کلید API بسازید.
پیکربندی Plugin و ارائهدهنده
{ plugins: { entries: { tavily: { enabled: true, config: { webSearch: { apiKey: "tvly-...", // در صورت تنظیم TAVILY_API_KEY اختیاری است baseUrl: "https://api.tavily.com", }, }, }, }, }, tools: { web: { search: { provider: "tavily", }, }, },}تأیید اجرای جستوجو
یک web_search را از هر عاملی راهاندازی کنید یا مستقیماً tavily_search را فراخوانی کنید.
مرجع ابزار
tavily_search
زمانی از این ابزار استفاده کنید که بهجای web_search عمومی، کنترلهای جستوجوی ویژه Tavily را میخواهید.
| پارامتر | نوع | محدودیتها / پیشفرض | توضیحات |
|---|---|---|---|
query |
رشته | الزامی | رشته پرسوجوی جستوجو. |
search_depth |
شمارشی | basic (پیشفرض)، advanced |
advanced کندتر است، اما ارتباط بیشتری دارد. |
topic |
شمارشی | general (پیشفرض)، news، finance |
پالایش بر اساس خانواده موضوعی. |
max_results |
عدد صحیح | 1-20، پیشفرض 5 |
تعداد نتایج. |
include_answer |
بولی | پیشفرض false |
شاملکردن خلاصه پاسخ تولیدشده با هوش مصنوعی Tavily. |
time_range |
شمارشی | day، week، month، year |
پالایش نتایج بر اساس تازگی. |
include_domains |
آرایه رشته | (هیچکدام) | فقط نتایج این دامنهها را شامل میشود. |
exclude_domains |
آرایه رشته | (هیچکدام) | نتایج این دامنهها را حذف میکند. |
موازنه عمق جستوجو:
| عمق | سرعت | میزان ارتباط | مناسب برای |
|---|---|---|---|
basic |
سریعتر | زیاد | پرسوجوهای عمومی (پیشفرض). |
advanced |
کندتر | بیشترین | پژوهش دقیق و یافتن واقعیتها. |
tavily_extract
از این ابزار برای استخراج محتوای پاک از یک یا چند URL استفاده کنید. صفحههای رندرشده با JavaScript را مدیریت میکند و برای استخراج هدفمند، قطعهبندی متمرکز بر پرسوجو را پشتیبانی میکند.
| پارامتر | نوع | محدودیتها / پیشفرض | توضیحات |
|---|---|---|---|
urls |
آرایه رشته | الزامی، 1-20 | URLهایی که محتوا باید از آنها استخراج شود. |
query |
رشته | (اختیاری) | رتبهبندی مجدد قطعههای استخراجشده بر اساس ارتباط با این پرسوجو. |
extract_depth |
شمارشی | basic (پیشفرض)، advanced |
برای صفحههای سنگین از نظر JS، برنامههای تکصفحهای یا جدولهای پویا از advanced استفاده کنید. |
chunks_per_source |
عدد صحیح | 1-5؛ به query نیاز دارد |
تعداد قطعههای بازگرداندهشده برای هر URL. اگر بدون query تنظیم شود، خطا میدهد. |
include_images |
بولی | پیشفرض false |
شاملکردن URL تصاویر در نتایج. |
موازنه عمق استخراج:
| عمق | زمان استفاده |
|---|---|
basic |
صفحههای ساده. ابتدا این گزینه را امتحان کنید. |
advanced |
برنامههای تکصفحهای رندرشده با JS، محتوای پویا و جدولها. |
انتخاب ابزار مناسب
| نیاز | ابزار |
|---|---|
| جستوجوی سریع وب، بدون گزینههای ویژه | web_search |
| جستوجو با عمق، موضوع و پاسخهای هوش مصنوعی | tavily_search |
| استخراج محتوا از URLهای مشخص | tavily_extract |
پیکربندی پیشرفته
ترتیب تفکیک کلید API
کلاینت Tavily کلید API خود را به این ترتیب جستوجو میکند:
plugins.entries.tavily.config.webSearch.apiKey(تفکیکشده از طریق SecretRefs).TAVILY_API_KEYاز محیط Gateway.
اگر هیچکدام موجود نباشند، هر دو tavily_search و tavily_extract خطای راهاندازی ایجاد میکنند.
URL پایه سفارشی
اگر Tavily را از طریق پراکسی ارائه میکنید، plugins.entries.tavily.config.webSearch.baseUrl را بازنویسی کنید یا TAVILY_BASE_URL را تنظیم کنید. پیکربندی بر متغیر محیطی اولویت دارد. مقدار پیشفرض https://api.tavily.com است.
`chunks_per_source` به `query` نیاز دارد
tavily_extract فراخوانیهایی را که chunks_per_source را بدون query ارسال کنند رد میکند. Tavily قطعهها را بر اساس ارتباط با پرسوجو رتبهبندی میکند، بنابراین این پارامتر بدون پرسوجو بیمعناست.