Chuyển đến nội dung chính
web_search tìm kiếm trên web bằng nhà cung cấp đã cấu hình và trả về kết quả đã chuẩn hóa, được lưu vào bộ nhớ đệm theo truy vấn trong 15 phút (có thể cấu hình). OpenClaw cũng tích hợp x_search cho các bài đăng trên X (trước đây là Twitter) và web_fetch để tải URL theo cách gọn nhẹ. web_fetch luôn chạy cục bộ; web_search định tuyến qua xAI Responses khi Grok là nhà cung cấp, còn x_search luôn sử dụng xAI Responses.
web_search là một công cụ HTTP gọn nhẹ, không phải công cụ tự động hóa trình duyệt. Với các trang phụ thuộc nhiều vào JS hoặc yêu cầu đăng nhập, hãy sử dụng Trình duyệt web. Để tải một URL cụ thể, hãy sử dụng Tải nội dung web.

Bắt đầu nhanh

1

Chọn nhà cung cấp

Chọn một nhà cung cấp và hoàn tất mọi thiết lập bắt buộc. Một số nhà cung cấp không cần khóa, số khác yêu cầu khóa API. Xem các trang về nhà cung cấp bên dưới để biết chi tiết.
2

Cấu hình

Thao tác này lưu nhà cung cấp và mọi thông tin xác thực cần thiết. Với các nhà cung cấp dựa trên API, bạn có thể đặt biến môi trường của nhà cung cấp đó (ví dụ: BRAVE_API_KEY) và bỏ qua bước này.
3

Sử dụng

Với các bài đăng trên X:

Chọn nhà cung cấp

Brave Search

Kết quả có cấu trúc kèm đoạn trích. Hỗ trợ chế độ llm-context và bộ lọc quốc gia/ngôn ngữ. Có gói miễn phí.

Codex Hosted Search

Câu trả lời có căn cứ do AI tổng hợp thông qua tài khoản Codex app-server của bạn.

DuckDuckGo

Nhà cung cấp không cần khóa. Không cần khóa API. Tích hợp không chính thức dựa trên HTML.

Exa

Tìm kiếm nơ-ron + từ khóa với khả năng trích xuất nội dung (điểm nổi bật, văn bản, bản tóm tắt).

Firecrawl

Kết quả có cấu trúc. Hiệu quả nhất khi kết hợp với firecrawl_searchfirecrawl_scrape để trích xuất chuyên sâu.

Gemini

Câu trả lời do AI tổng hợp kèm trích dẫn thông qua tính năng neo căn cứ bằng Google Search.

Grok

Câu trả lời do AI tổng hợp kèm trích dẫn thông qua tính năng neo căn cứ web của xAI.

Kimi

Câu trả lời do AI tổng hợp kèm trích dẫn thông qua tìm kiếm web Moonshot; các phương án dự phòng sang trò chuyện không có căn cứ sẽ báo lỗi rõ ràng.

MiniMax Search

Kết quả có cấu trúc thông qua API tìm kiếm MiniMax Token Plan.

Ollama Web Search

Tìm kiếm thông qua máy chủ Ollama cục bộ đã đăng nhập hoặc API Ollama được lưu trữ.

Parallel

API Parallel Search trả phí (PARALLEL_API_KEY); giới hạn tốc độ cao hơn và khả năng tinh chỉnh mục tiêu.

Parallel Search (Miễn phí)

Tùy chọn tham gia không cần khóa. Search MCP miễn phí của Parallel, với các đoạn trích dày đặc được tối ưu hóa cho LLM và không cần khóa API.

Perplexity

Kết quả có cấu trúc với các tùy chọn kiểm soát trích xuất nội dung và lọc miền.

SearXNG

Công cụ siêu tìm kiếm tự lưu trữ. Không cần khóa API. Tổng hợp Google, Bing, DuckDuckGo và nhiều nguồn khác.

Tavily

Kết quả có cấu trúc với độ sâu tìm kiếm, lọc chủ đề và tavily_extract để trích xuất URL.

So sánh nhà cung cấp

Cấu trúc kết quả

web_search chuẩn hóa mọi nhà cung cấp Plugin tích hợp sẵn và bên ngoài tại ranh giới công cụ lõi. Bên gọi nhận chính xác một trong các cấu trúc đóng sau:
Các nhà cung cấp có cấu trúc sử dụng kind: "results"; các nhà cung cấp tổng hợp sử dụng kind: "answer". Các nhà cung cấp Plugin bên ngoài có tải trọng không khớp với cả hai cấu trúc sẽ được chuyển nguyên trạng dưới dạng kind: "raw" để đảm bảo khả năng tương thích. Các trường dành riêng cho nhà cung cấp như điểm thô, đoạn trích, tìm kiếm liên quan, độ lệch trích dẫn nội tuyến, mã định danh mô hình hoặc siêu dữ liệu phiên sẽ không được chuyển tiếp trong các nhánh đã chuẩn hóa. Hãy sử dụng công cụ chuyên dụng của nhà cung cấp khi phản hồi phong phú hơn của họ là một phần trong quy trình làm việc của bạn. externalContent.wrapped: true là một dấu hiệu tin cậy mà chính ranh giới này bảo đảm là đúng: văn bản của nhà cung cấp (title, snippet, siteName, content, tiêu đề trích dẫn, message lỗi) được loại bỏ mọi dòng bao bọc có sẵn và được bao bọc lại đúng một lần tại ranh giới lõi, nên không siêu dữ liệu nào của nhà cung cấp có thể giả mạo dấu hiệu này. query luôn là truy vấn được yêu cầu, URL trích dẫn và kết quả phải phân tích được dưới dạng http(s), published phải có dạng ngày ISO, URL được xuất ở dạng chuẩn hóa, và một tải trọng chứa khóa error luôn được báo cáo dưới dạng kind: "error", với mã thô của nhà cung cấp được giữ nguyên bên trong thông báo đã bao bọc. Các tải trọng chuyển tiếp thô giữ nguyên mọi dấu hiệu do nhà cung cấp đặt.

Tự động phát hiện

Danh sách nhà cung cấp trong tài liệu và các luồng thiết lập được sắp xếp theo thứ tự bảng chữ cái. Tính năng tự động phát hiện sử dụng một thứ tự ưu tiên cố định riêng biệt và chỉ chọn nhà cung cấp cần thông tin xác thực (requiresCredential !== false) khi tìm thấy thông tin đó đã được cấu hình. Nếu không đặt provider, OpenClaw sẽ kiểm tra các nhà cung cấp theo thứ tự sau và sử dụng nhà cung cấp sẵn sàng đầu tiên: Các nhà cung cấp dựa trên API trước:
  1. BraveBRAVE_API_KEY hoặc plugins.entries.brave.config.webSearch.apiKey (thứ tự 10)
  2. MiniMax SearchMINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN / MINIMAX_API_KEY hoặc plugins.entries.minimax.config.webSearch.apiKey (thứ tự 15)
  3. Geminiplugins.entries.google.config.webSearch.apiKey, GEMINI_API_KEY, hoặc models.providers.google.apiKey (thứ tự 20)
  4. Grok — OAuth xAI, XAI_API_KEY, hoặc plugins.entries.xai.config.webSearch.apiKey (thứ tự 30)
  5. KimiKIMI_API_KEY / MOONSHOT_API_KEY hoặc plugins.entries.moonshot.config.webSearch.apiKey (thứ tự 40)
  6. PerplexityPERPLEXITY_API_KEY / OPENROUTER_API_KEY hoặc plugins.entries.perplexity.config.webSearch.apiKey (thứ tự 50)
  7. FirecrawlFIRECRAWL_API_KEY hoặc plugins.entries.firecrawl.config.webSearch.apiKey (thứ tự 60)
  8. ExaEXA_API_KEY hoặc plugins.entries.exa.config.webSearch.apiKey; plugins.entries.exa.config.webSearch.baseUrl tùy chọn sẽ ghi đè điểm cuối Exa (thứ tự 65)
  9. TavilyTAVILY_API_KEY hoặc plugins.entries.tavily.config.webSearch.apiKey (thứ tự 70)
  10. Parallel — API Parallel Search trả phí qua PARALLEL_API_KEY hoặc plugins.entries.parallel.config.webSearch.apiKey; plugins.entries.parallel.config.webSearch.baseUrl tùy chọn sẽ ghi đè điểm cuối (thứ tự 75)
Sau đó là các nhà cung cấp điểm cuối đã cấu hình:
  1. SearXNGSEARXNG_BASE_URL hoặc plugins.entries.searxng.config.webSearch.baseUrl (thứ tự 200)
Các nhà cung cấp không cần khóa như Parallel Search (Miễn phí), DuckDuckGo, Ollama Web SearchCodex Hosted Search không bao giờ được chọn qua tính năng tự động phát hiện, mặc dù chúng có giá trị thứ tự nội bộ. Chúng chỉ được sử dụng khi bạn chọn rõ ràng bằng tools.web.search.provider hoặc thông qua openclaw configure --section web. OpenClaw không gửi các truy vấn web_search được quản lý đến nhà cung cấp không cần khóa chỉ vì chưa cấu hình nhà cung cấp dựa trên API nào. Các mô hình OpenAI Responses là một ngoại lệ: khi chưa đặt tools.web.search.provider, chúng sử dụng tính năng tìm kiếm web gốc của OpenAI thay vì các nhà cung cấp được quản lý ở trên (xem bên dưới). Đặt tools.web.search.provider thành parallel-free (hoặc một nhà cung cấp khác) để thay vào đó định tuyến chúng qua đường dẫn được quản lý.
Tất cả trường khóa của nhà cung cấp đều hỗ trợ đối tượng SecretRef. Các SecretRef có phạm vi Plugin trong plugins.entries.<plugin>.config.webSearch.apiKey được phân giải cho các nhà cung cấp tìm kiếm web dựa trên API đã cài đặt, bao gồm Brave, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax, Parallel, Perplexity và Tavily, dù nhà cung cấp được chọn rõ ràng qua tools.web.search.provider hay được chọn qua tính năng tự động phát hiện. Trong chế độ tự động phát hiện, OpenClaw chỉ phân giải khóa của nhà cung cấp được chọn — các SecretRef không được chọn vẫn không hoạt động, vì vậy bạn có thể duy trì cấu hình cho nhiều nhà cung cấp mà không phải chịu chi phí phân giải đối với những nhà cung cấp không sử dụng.

Tìm kiếm web gốc của OpenAI

Các mô hình OpenAI Responses trực tiếp (api: "openai-responses", nhà cung cấp openai, không có URL cơ sở hoặc có URL cơ sở API OpenAI chính thức) tự động sử dụng công cụ web_search được OpenAI lưu trữ khi tìm kiếm web của OpenClaw được bật và không ghim nhà cung cấp được quản lý nào. Đây là hành vi thuộc sở hữu của nhà cung cấp trong Plugin OpenAI đi kèm và không áp dụng cho các URL cơ sở proxy tương thích với OpenAI hoặc các tuyến Azure. Đặt tools.web.search.provider thành một nhà cung cấp khác như brave để duy trì công cụ web_search được quản lý cho các mô hình OpenAI, hoặc đặt tools.web.search.enabled: false để tắt cả tìm kiếm được quản lý lẫn tìm kiếm gốc của OpenAI.

Tìm kiếm web gốc của Codex

Runtime app-server của Codex tự động sử dụng công cụ web_search được Codex lưu trữ khi tìm kiếm web được bật và không có nhà cung cấp được quản lý nào được chọn. Tìm kiếm gốc được lưu trữ và công cụ động web_search được quản lý của OpenClaw loại trừ lẫn nhau, do đó tìm kiếm được quản lý không thể bỏ qua các giới hạn miền gốc. OpenClaw sử dụng công cụ được quản lý khi tìm kiếm được lưu trữ không khả dụng, bị tắt rõ ràng hoặc được thay thế bằng một nhà cung cấp được quản lý đã chọn. OpenClaw giữ tiện ích mở rộng web.run độc lập của Codex ở trạng thái tắt (features.standalone_web_search: false) vì lưu lượng app-server trong môi trường sản xuất từ chối không gian tên web do người dùng định nghĩa của tiện ích này.
  • Cấu hình tìm kiếm gốc trong tools.web.search.openaiCodex
  • Đặt tools.web.search.provider: "codex" để cung cấp Codex Hosted Search làm nhà cung cấp web_search được quản lý cho bất kỳ mô hình cha nào. Mỗi lệnh gọi chạy một lượt app-server Codex tạm thời có giới hạn và sẽ thất bại nếu Codex không phát ra một mục webSearch được lưu trữ.
  • mode: "cached" là tùy chọn ưu tiên mặc định, nhưng Codex phân giải nó thành quyền truy cập bên ngoài trực tiếp cho các lượt app-server không bị hạn chế; đặt "live" để yêu cầu rõ ràng quyền truy cập trực tiếp
  • Đặt tools.web.search.provider thành một nhà cung cấp được quản lý như brave để sử dụng web_search được quản lý của OpenClaw thay thế
  • Đặt tools.web.search.openaiCodex.enabled: false để từ chối sử dụng tìm kiếm được Codex lưu trữ; các nhà cung cấp được quản lý khác vẫn khả dụng
  • Việc hạn chế bề mặt công cụ gốc của Codex cũng duy trì web_search được quản lý ở trạng thái khả dụng
  • Khi đặt allowedDomains, cơ chế dự phòng được quản lý tự động sẽ đóng khi lỗi nếu tìm kiếm được lưu trữ không khả dụng, để không thể bỏ qua danh sách cho phép gốc
  • Các lượt chạy chỉ dùng LLM và đã tắt công cụ sẽ tắt cả tìm kiếm gốc lẫn tìm kiếm được quản lý
  • tools.web.search.enabled: false tắt cả tìm kiếm được quản lý lẫn tìm kiếm gốc
Các thay đổi lâu dài đối với chính sách tìm kiếm Codex hiệu lực sẽ khởi động một luồng liên kết mới để luồng app-server đã tải không thể tiếp tục giữ quyền truy cập tìm kiếm được lưu trữ đã lỗi thời. Các giới hạn tạm thời theo từng lượt sử dụng một luồng bị hạn chế tạm thời và bảo toàn liên kết hiện có để tiếp tục lại sau này. Lưu lượng OpenAI ChatGPT Responses trực tiếp cũng có thể sử dụng công cụ web_search được OpenAI lưu trữ. Đường dẫn riêng biệt đó vẫn yêu cầu chủ động bật thông qua tools.web.search.openaiCodex.enabled: true và chỉ áp dụng cho các mô hình openai/* đủ điều kiện sử dụng api: "openai-chatgpt-responses".
Đối với các runtime và nhà cung cấp không hỗ trợ tìm kiếm Codex gốc, Codex có thể sử dụng cơ chế dự phòng web_search được quản lý thông qua không gian tên công cụ động của OpenClaw. Hãy sử dụng một nhà cung cấp được quản lý rõ ràng khi bạn cần các biện pháp kiểm soát mạng riêng cho từng nhà cung cấp của OpenClaw thay vì tìm kiếm do Codex lưu trữ. Việc chọn provider: "codex" sẽ bật Plugin codex đi kèm và sử dụng cùng các giới hạn tools.web.search.openaiCodex được trình bày ở trên. Trước tiên, hãy xác thực app-server Codex bằng openclaw models auth login --provider openai. Tác nhân cha có thể sử dụng bất kỳ mô hình hoặc runtime nào; chỉ worker tìm kiếm có giới hạn chạy qua Codex.

An toàn mạng

Các lệnh gọi nhà cung cấp web_search HTTP được quản lý sử dụng đường dẫn tìm nạp có bảo vệ của OpenClaw, với phạm vi giới hạn ở tên máy chủ riêng của nhà cung cấp hiện tại. Chỉ đối với tên máy chủ đó, OpenClaw cho phép các phản hồi DNS IP giả của Surge, Clash và sing-box trong 198.18.0.0/15fc00::/7. Các đích riêng tư, loopback, link-local và siêu dữ liệu khác vẫn bị chặn. Codex Hosted Search là ngoại lệ: worker có giới hạn của nó ủy quyền quyền truy cập mạng cho công cụ web_search được lưu trữ của app-server Codex. Quyền cho phép tự động này không áp dụng cho các URL web_fetch tùy ý. Đối với web_fetch, chỉ bật rõ ràng tools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRangetools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange khi proxy đáng tin cậy của bạn sở hữu các dải tổng hợp đó.

Cấu hình

Cấu hình riêng cho từng nhà cung cấp (khóa API, URL cơ sở, chế độ) nằm trong plugins.entries.<plugin>.config.webSearch.*. Gemini cũng có thể tái sử dụng models.providers.google.apiKeymodels.providers.google.baseUrl làm các phương án dự phòng có mức ưu tiên thấp hơn sau cấu hình tìm kiếm web chuyên biệt và GEMINI_API_KEY của nó. Xem các trang về nhà cung cấp để biết ví dụ. Grok cũng có thể tái sử dụng hồ sơ xác thực OAuth xAI từ openclaw models auth login --provider xai --method oauth; cấu hình khóa API vẫn là phương án dự phòng. tools.web.search.provider được xác thực dựa trên các ID nhà cung cấp tìm kiếm web được khai báo bởi manifest Plugin đi kèm và đã cài đặt. Lỗi đánh máy như "brvae" khiến quá trình xác thực cấu hình thất bại thay vì âm thầm chuyển sang tự động phát hiện. Nếu một nhà cung cấp đã cấu hình chỉ còn bằng chứng Plugin lỗi thời, chẳng hạn như khối plugins.entries.<plugin> còn sót lại sau khi gỡ cài đặt Plugin bên thứ ba, OpenClaw vẫn duy trì khả năng khởi động ổn định và báo cáo cảnh báo để bạn có thể cài đặt lại Plugin hoặc chạy openclaw doctor --fix nhằm dọn dẹp cấu hình lỗi thời. Việc chọn nhà cung cấp dự phòng web_fetch là riêng biệt:
  • chọn bằng tools.web.fetch.provider
  • hoặc bỏ qua trường đó và để OpenClaw tự động phát hiện nhà cung cấp tìm nạp web sẵn sàng đầu tiên từ thông tin xác thực đã cấu hình
  • web_fetch không chạy trong sandbox có thể sử dụng các nhà cung cấp Plugin đã cài đặt khai báo contracts.webFetchProviders; các lượt tìm nạp trong sandbox cho phép nhà cung cấp đi kèm và các bản cài đặt Plugin chính thức đã xác minh, nhưng loại trừ Plugin bên ngoài của bên thứ ba
  • Plugin Firecrawl chính thức là thành phần đóng góp webFetchProviders đi kèm duy nhất hiện nay, được cấu hình trong plugins.entries.firecrawl.config.webFetch.*
Khi bạn chọn Kimi trong openclaw onboard hoặc openclaw configure --section web, OpenClaw cũng có thể yêu cầu:
  • khu vực API Moonshot (https://api.moonshot.ai/v1 hoặc https://api.moonshot.cn/v1)
  • mô hình tìm kiếm web Kimi mặc định (mặc định là kimi-k2.6)
Đối với x_search, hãy cấu hình plugins.entries.xai.config.xSearch.*. Nó sử dụng cùng hồ sơ xác thực xAI như trò chuyện hoặc thông tin xác thực XAI_API_KEY / tìm kiếm web của Plugin được Grok web search sử dụng. Cấu hình tools.web.x_search.* cũ được openclaw doctor --fix tự động di chuyển. Khi bạn chọn Grok trong openclaw onboard hoặc openclaw configure --section web, OpenClaw cũng cung cấp quy trình thiết lập x_search tùy chọn với cùng thông tin xác thực ngay sau khi hoàn tất thiết lập Grok. Đây là một bước tiếp theo riêng biệt trong đường dẫn Grok, không phải lựa chọn nhà cung cấp tìm kiếm web cấp cao nhất riêng biệt. Nếu bạn chọn một nhà cung cấp khác, OpenClaw sẽ không hiển thị lời nhắc x_search.

Lưu trữ khóa API

Chạy openclaw configure --section web hoặc đặt khóa trực tiếp:

Tham số công cụ

Không phải mọi tham số đều hoạt động với mọi nhà cung cấp. Chế độ llm-context của Brave từ chối ui_lang; date_before cũng cần date_after vì phạm vi độ mới tùy chỉnh của Brave yêu cầu cả ngày bắt đầu và ngày kết thúc. Gemini, Grok và Kimi trả về một câu trả lời tổng hợp kèm trích dẫn. Chúng chấp nhận count để tương thích với công cụ dùng chung, nhưng tham số này không thay đổi cấu trúc câu trả lời có căn cứ. Gemini coi độ mới day là gợi ý về tính gần đây; các giá trị độ mới rộng hơn và ngày tháng cụ thể sẽ thiết lập phạm vi thời gian căn cứ của Google Search. Perplexity hoạt động tương tự khi sử dụng đường dẫn tương thích Sonar/OpenRouter (plugins.entries.perplexity.config.webSearch.baseUrl / model hoặc OPENROUTER_API_KEY); đường dẫn đó cũng loại bỏ hỗ trợ max_tokensmax_tokens_per_page. SearXNG chỉ chấp nhận http:// đối với máy chủ mạng riêng đáng tin cậy hoặc máy chủ loopback; các điểm cuối SearXNG công khai phải sử dụng https://. Firecrawl và Tavily chỉ hỗ trợ querycount thông qua web_search — hãy sử dụng các công cụ chuyên dụng của chúng cho các tùy chọn nâng cao.
x_search truy vấn các bài đăng trên X (trước đây là Twitter) bằng xAI và trả về các câu trả lời do AI tổng hợp kèm trích dẫn. Công cụ này chấp nhận truy vấn bằng ngôn ngữ tự nhiên và các bộ lọc có cấu trúc tùy chọn. OpenClaw tạo công cụ x_search tích hợp sẵn của xAI theo từng yêu cầu thay vì đăng ký công cụ đó vĩnh viễn, vì vậy công cụ chỉ hoạt động trong lượt thực sự gọi đến nó.
x_search chạy trên máy chủ của xAI. xAI tính phí $5 cho mỗi 1,000 lượt gọi công cụ, cộng với token đầu vào và đầu ra của mô hình.
Tài liệu của xAI cho biết x_search hỗ trợ tìm kiếm từ khóa, tìm kiếm ngữ nghĩa, tìm kiếm người dùng và truy xuất luồng thảo luận. Đối với số liệu tương tác trên từng bài đăng như lượt đăng lại, trả lời, dấu trang hoặc lượt xem, nên ưu tiên tra cứu có mục tiêu bằng URL chính xác hoặc ID trạng thái của bài đăng. Tìm kiếm từ khóa diện rộng có thể tìm thấy đúng bài đăng nhưng trả về siêu dữ liệu không đầy đủ bằng cho từng bài đăng. Một cách làm hiệu quả là: trước tiên xác định bài đăng, sau đó chạy truy vấn x_search thứ hai tập trung vào chính bài đăng đó.
Khi bỏ qua enabled, x_search chỉ được cung cấp khi nhà cung cấp của mô hình đang hoạt động là xai và thông tin xác thực xAI được phân giải. Đối với mô hình đang hoạt động có nhà cung cấp không phải xAI đã biết, đặt plugins.entries.xai.config.xSearch.enabled thành true để chọn sử dụng xuyên nhà cung cấp. Nếu nhà cung cấp của mô hình đang hoạt động bị thiếu hoặc chưa được phân giải, công cụ vẫn bị ẩn. Đặt enabled thành false để vô hiệu hóa công cụ cho mọi nhà cung cấp. Luôn yêu cầu thông tin xác thực xAI.
x_search gửi yêu cầu POST đến <baseUrl>/responses khi plugins.entries.xai.config.xSearch.baseUrl được đặt. Nếu trường đó bị bỏ qua, công cụ sẽ dự phòng về plugins.entries.xai.config.webSearch.baseUrl, sau đó là điểm cuối xAI công khai (https://api.x.ai/v1). allowed_x_handlesexcluded_x_handles loại trừ lẫn nhau.

Ví dụ

Hồ sơ công cụ

Nếu sử dụng hồ sơ công cụ hoặc danh sách cho phép, hãy thêm web_search, x_search hoặc group:web:

Liên quan

  • Web Fetch — truy xuất URL và trích xuất nội dung dễ đọc
  • Web Browser — tự động hóa trình duyệt đầy đủ cho các trang sử dụng nhiều JS
  • Grok Search — Grok làm nhà cung cấp web_search
  • Ollama Web Search — tìm kiếm web không cần khóa thông qua máy chủ Ollama của bạn