Tools
ãŠã§ãæ€çŽ¢
web_search ããŒã«ã¯ãèšå®æžã¿ã®ãããã€ããŒã䜿ã£ãŠ Web ãæ€çŽ¢ãã
çµæãè¿ããŸããçµæã¯ã¯ãšãªããšã« 15 åéãã£ãã·ã¥ãããŸãïŒèšå®å¯èœïŒã
OpenClaw ã«ã¯ãXïŒæ§ TwitterïŒã®æçš¿åãã® x_search ãšã
軜é㪠URL ååŸåãã® web_fetch ãå«ãŸããŸãããã®æ®µéã§ã¯ãweb_fetch ã¯
ããŒã«ã«ã®ãŸãŸã§ãããweb_search ãš x_search ã¯å
éšã§ xAI Responses ã䜿çšã§ããŸãã
ã¯ã€ãã¯ã¹ã¿ãŒã
ãããã€ããŒãéžæ
ãããã€ããŒãéžã³ãå¿ èŠãªã»ããã¢ãããå®äºããŸããäžéšã®ãããã€ããŒã¯ ããŒãªãã§äœ¿çšã§ããŸãããAPI ããŒã䜿ããã®ããããŸãã詳现ã¯ä»¥äžã® ãããã€ããŒããŒãžãåç §ããŠãã ããã
èšå®
openclaw configure --section webããã«ããããããã€ããŒãšå¿
èŠãªèªèšŒæ
å ±ãä¿åãããŸããenv
varïŒäŸ: BRAVE_API_KEYïŒãèšå®ããŠãAPI ããŒã¹ã®
ãããã€ããŒã§ã¯ãã®æé ãçç¥ããããšãã§ããŸãã
䜿çš
ãšãŒãžã§ã³ã㯠web_search ãåŒã³åºããããã«ãªããŸãã
await web_search({ query: "OpenClaw plugin SDK" });X ã®æçš¿ã«ã¯ã次ã䜿çšããŸãã
await x_search({ query: "dinner recipes" });ãããã€ããŒã®éžæ
ã¹ããããä»ãã®æ§é åçµæãllm-context ã¢ãŒããåœ/èšèªãã£ã«ã¿ãŒããµããŒãããŸããç¡ææ ããããŸãã
Codex app-server ã¢ã«ãŠã³ãçµç±ã®ãæ ¹æ ã«åºã¥ã AI åæåçã
ããŒäžèŠã®ãããã€ããŒãAPI ããŒã¯äžèŠã§ããéå ¬åŒã® HTML ããŒã¹çµ±åã§ãã
ã³ã³ãã³ãæœåºïŒãã€ã©ã€ããããã¹ããèŠçŽïŒä»ãã®ãã¥ãŒã©ã« + ããŒã¯ãŒãæ€çŽ¢ã
æ§é åçµæãæ·±ãæœåºã«ã¯ firecrawl_search ããã³ firecrawl_scrape ãšçµã¿åãããã®ãæé©ã§ãã
Google Search grounding ã«ããåŒçšä»ãã® AI åæåçã
xAI web grounding ã«ããåŒçšä»ãã® AI åæåçã
Moonshot web search ã«ããåŒçšä»ãã® AI åæåçãæ ¹æ ã®ãªããã£ãããã©ãŒã«ããã¯ã¯æç€ºçã«å€±æããŸãã
MiniMax Token Plan search API çµç±ã®æ§é åçµæã
ãµã€ã³ã€ã³æžã¿ã®ããŒã«ã« Ollama ãã¹ãããŸãã¯ãã¹ãå Ollama API çµç±ã®æ€çŽ¢ã
ææã® Parallel Search APIïŒPARALLEL_API_KEYïŒãããé«ãã¬ãŒãå¶éãšç®çå¥ãã¥ãŒãã³ã°ã
ããŒäžèŠã®ãªããã€ã³ãLLM åãã«æé©åãããé«å¯åºŠã®æç²ãæäŸããAPI ããŒäžèŠã® Parallel ã®ç¡æ Search MCPã
ã³ã³ãã³ãæœåºå¶åŸ¡ãšãã¡ã€ã³ãã£ã«ã¿ãªã³ã°ä»ãã®æ§é åçµæã
ã»ã«ããã¹ãåã®ã¡ã¿æ€çŽ¢ãAPI ããŒã¯äžèŠã§ããGoogleãBingãDuckDuckGo ãªã©ãéçŽããŸãã
æ€çŽ¢æ·±åºŠããããã¯ãã£ã«ã¿ãªã³ã°ãURL æœåºåãã® tavily_extract ãåããæ§é åçµæã
ãããã€ããŒæ¯èŒ
| ãããã€ã㌠| çµæã¹ã¿ã€ã« | ãã£ã«ã¿ãŒ | API ã㌠|
|---|---|---|---|
| Brave | æ§é åã¹ãããã | åœãèšèªãæéãllm-context ã¢ãŒã |
BRAVE_API_KEY |
| Codex Hosted Search | AI åæ + ãœãŒã¹ URL | ãã¡ã€ã³ãã³ã³ããã¹ããµã€ãºããŠãŒã¶ãŒæåšå° | ãªããCodex/OpenAI ãµã€ã³ã€ã³ãäœ¿çš |
| DuckDuckGo | æ§é åã¹ãããã | -- | ãªãïŒããŒäžèŠïŒ |
| Exa | æ§é å + æœåºæžã¿ | ãã¥ãŒã©ã«/ããŒã¯ãŒãã¢ãŒããæ¥ä»ãã³ã³ãã³ãæœåº | EXA_API_KEY |
| Firecrawl | æ§é åã¹ãããã | firecrawl_search ããŒã«çµç± |
FIRECRAWL_API_KEY |
| Gemini | AI åæ + åŒçš | -- | GEMINI_API_KEY |
| Grok | AI åæ + åŒçš | -- | xAI OAuthãXAI_API_KEYããŸã㯠plugins.entries.xai.config.webSearch.apiKey |
| Kimi | AI åæ + åŒçšãæ ¹æ ã®ãªããã£ãããã©ãŒã«ããã¯ã§ã¯å€±æ | -- | KIMI_API_KEY / MOONSHOT_API_KEY |
| MiniMax Search | æ§é åã¹ãããã | ãªãŒãžã§ã³ïŒglobal / cnïŒ |
MINIMAX_CODE_PLAN_KEY / MINIMAX_CODING_API_KEY / MINIMAX_OAUTH_TOKEN |
| Ollama Web Search | æ§é åã¹ãããã | -- | ãµã€ã³ã€ã³æžã¿ã®ããŒã«ã«ãã¹ãã§ã¯ãªããçŽæ¥ https://ollama.com æ€çŽ¢ã«ã¯ OLLAMA_API_KEY |
| Parallel | LLM ã³ã³ããã¹ãåãã«ã©ã³ã¯ä»ããããé«å¯åºŠã®æç² | -- | PARALLEL_API_KEYïŒææïŒ |
| Parallel Search (Free) | LLM ã³ã³ããã¹ãåãã«ã©ã³ã¯ä»ããããé«å¯åºŠã®æç² | -- | ãªãïŒç¡æ Search MCPïŒ |
| Perplexity | æ§é åã¹ãããã | åœãèšèªãæéããã¡ã€ã³ãã³ã³ãã³ãå¶é | PERPLEXITY_API_KEY / OPENROUTER_API_KEY |
| SearXNG | æ§é åã¹ãããã | ã«ããŽãªãèšèª | ãªãïŒã»ã«ããã¹ãïŒ |
| Tavily | æ§é åã¹ãããã | tavily_search ããŒã«çµç± |
TAVILY_API_KEY |
èªåæ€åº
ãã€ãã£ã OpenAI web search
çŽæ¥ã® OpenAI Responses ã¢ãã«ã¯ãOpenClaw web search ãæå¹ã§ã管ç察象ãããã€ããŒãåºå®ãããŠããªãå ŽåãOpenAI ã®ãã¹ãå web_search ããŒã«ãèªåçã«äœ¿çšããŸããããã¯ãã³ãã«ããã OpenAI Plugin å
ã®ãããã€ããŒææã®æåã§ããããã€ãã£ã OpenAI API ãã©ãã£ãã¯ã«ã®ã¿é©çšãããOpenAI äºæãããã·ã®ããŒã¹ URL ã Azure ã«ãŒãã«ã¯é©çšãããŸãããOpenAI ã¢ãã«ã«ç®¡ç察象㮠web_search ããŒã«ãç¶æããã«ã¯ãtools.web.search.provider ã brave ãªã©å¥ã®ãããã€ããŒã«èšå®ããŸãããŸãã¯ã管ç察象æ€çŽ¢ãšãã€ãã£ã OpenAI æ€çŽ¢ã®äž¡æ¹ãç¡å¹ã«ããã«ã¯ãtools.web.search.enabled: false ãèšå®ããŸãã
ãã€ãã£ã Codex web search
Codex app-server ã©ã³ã¿ã€ã ã¯ãweb search ãæå¹ã§ç®¡ç察象ãããã€ããŒãéžæãããŠããªãå ŽåãCodex ã®ãã¹ãå web_search ããŒã«ãèªåçã«äœ¿çšããŸãããã€ãã£ãã®ãã¹ãåæ€çŽ¢ãš OpenClaw ã®ç®¡ç察象 web_search åçããŒã«ã¯çžäºæä»çã§ããããã管ç察象æ€çŽ¢ããã€ãã£ãã®ãã¡ã€ã³å¶éãè¿åããããšã¯ã§ããŸãããOpenClaw ã¯ããã¹ãåæ€çŽ¢ãå©çšã§ããªããæç€ºçã«ç¡å¹åãããŠããããŸãã¯éžæããã管ç察象ãããã€ããŒã«çœ®ãæããããŠããå Žåã«ã管ç察象ããŒã«ã䜿çšããŸããOpenClaw 㯠Codex ã®ã¹ã¿ã³ãã¢ãã³ web.run æ¡åŒµãç¡å¹ã®ãŸãŸã«ããŸããæ¬çª app-server ãã©ãã£ãã¯ããŠãŒã¶ãŒå®çŸ©ã® web åå空éãæåŠããããã§ãã
- ãã€ãã£ãæ€çŽ¢ã¯
tools.web.search.openaiCodexã§èšå®ããŸã tools.web.search.provider: "codex"ãèšå®ãããšãä»»æã®èŠªã¢ãã«åãã®ç®¡ç察象web_searchãããã€ããŒãšã㊠Codex Hosted Search ãããããžã§ãã³ã°ããŸããååŒã³åºãã¯ãå¢çä»ãã®äžæç㪠Codex app-server ã¿ãŒã³ãå®è¡ããCodex ããã¹ãåwebSearché ç®ãåºåããªãå Žåã¯å€±æããŸããmode: "cached"ãããã©ã«ãã®åªå èšå®ã§ãããCodex ã¯å¶éã®ãªã app-server ã¿ãŒã³ã§ã¯ãããã©ã€ãå€éšã¢ã¯ã»ã¹ã«è§£æ±ºããŸããã©ã€ãã¢ã¯ã»ã¹ãæç€ºçã«èŠæ±ããã«ã¯"live"ãèšå®ããŸã- OpenClaw ã®ç®¡ç察象
web_searchã代ããã«äœ¿çšããã«ã¯ãtools.web.search.providerãbraveãªã©ã®ç®¡ç察象ãããã€ããŒã«èšå®ããŸã - Codex ãã¹ãåæ€çŽ¢ããªããã¢ãŠãããã«ã¯ã
tools.web.search.openaiCodex.enabled: falseãèšå®ããŸããä»ã®ç®¡ç察象ãããã€ããŒã¯åŒãç¶ãå©çšã§ããŸã - Codex ãã€ãã£ãããŒã«ãµãŒãã§ã¹ãå¶éããŠãã管ç察象
web_searchã¯å©çšå¯èœãªãŸãŸã§ã allowedDomainsãèšå®ãããŠããå Žåããã¹ãåæ€çŽ¢ãå©çšã§ããªããšèªå管ç察象ãã©ãŒã«ããã¯ã¯ãã§ã€ã«ã¯ããŒãºããããããã€ãã£ãã®èš±å¯ãªã¹ããè¿åã§ããŸãã- ããŒã«ç¡å¹ã® LLM ã®ã¿ã®å®è¡ã§ã¯ããã€ãã£ãæ€çŽ¢ãšç®¡ç察象æ€çŽ¢ã®äž¡æ¹ãç¡å¹ã«ãªããŸã
tools.web.search.enabled: falseã¯ã管ç察象æ€çŽ¢ãšãã€ãã£ãæ€çŽ¢ã®äž¡æ¹ãç¡å¹ã«ããŸã
æ°žç¶çã«æå¹ãª Codex æ€çŽ¢ããªã·ãŒã®å€æŽã§ã¯ãæ°ãããã€ã³ãæžã¿ã¹ã¬ãããéå§ããããããã§ã«èªã¿èŸŒãŸãã app-server ã¹ã¬ãããå€ããã¹ãåæ€çŽ¢ã¢ã¯ã»ã¹ãä¿æããããšã¯ã§ããŸãããäžæçãªã¿ãŒã³åäœã®å¶éã§ã¯ãäžæçãªå¶éä»ãã¹ã¬ããã䜿çšããåŸã§åéããããã«æ¢åã®ãã€ã³ãã£ã³ã°ãä¿æããŸãã
çŽæ¥ã® OpenAI ChatGPT Responses ãã©ãã£ãã¯ã§ããOpenAI ã®ãã¹ãå
web_search ããŒã«ã䜿çšã§ããŸãããã®å¥çµè·¯ã¯
tools.web.search.openaiCodex.enabled: true ã«ãããªããã€ã³ã®ãŸãŸã§ããã
api: "openai-chatgpt-responses" ã䜿çšãã察象ã®
openai/* ã¢ãã«ã«ã®ã¿é©çšãããŸãã
{ tools: { web: { search: { enabled: true, // Optional: use Codex Hosted Search from non-Codex parent models too. provider: "codex", openaiCodex: { enabled: true, mode: "cached", allowedDomains: ["example.com"], contextSize: "high", userLocation: { country: "US", city: "New York", timezone: "America/New_York", }, }, }, }, },}ãã€ãã£ã Codex æ€çŽ¢ããµããŒãããªãã©ã³ã¿ã€ã ããããã€ããŒã§ã¯ãCodex 㯠OpenClaw ã®åçããŒã«åå空éãéããŠã管ç察象 web_search ãã©ãŒã«ããã¯ã䜿çšã§ããŸããCodex ãã¹ãåæ€çŽ¢ã§ã¯ãªããOpenClaw ã®ãããã€ããŒåºæã®ãããã¯ãŒã¯å¶åŸ¡ãå¿
èŠãªå Žåã¯ãæç€ºçãªç®¡ç察象ãããã€ããŒã䜿çšããŠãã ããã
provider: "codex" ãéžæãããšããã³ãã«ããã codex Plugin ãæå¹ã«ãªããäžèšãšåã tools.web.search.openaiCodex å¶éã䜿çšãããŸããå
ã« openclaw models auth login --provider openai ã§ Codex app-server ãèªèšŒããŠãã ããã芪ãšãŒãžã§ã³ãã¯ä»»æã®ã¢ãã«ãŸãã¯ã©ã³ã¿ã€ã ã䜿çšã§ããŸããCodex çµç±ã§å®è¡ãããã®ã¯ãç¯å²ãéå®ãããæ€çŽ¢ã¯ãŒã«ãŒã ãã§ãã
ãããã¯ãŒã¯å®å šæ§
管ç察象 HTTP web_search ãããã€ããŒåŒã³åºãã¯ãOpenClaw ã®ä¿è·ããã fetch ãã¹ã䜿çšããŸããä¿¡é Œæžã¿ãããã€ã㌠API ãã¹ãã«ã€ããŠã¯ãOpenClaw 㯠SurgeãClashãsing-box ã® fake-IP DNS å¿çãããã®ãããã€ããŒã®ãã¹ãåã«å¯ŸããŠã®ã¿ 198.18.0.0/15 ãš fc00::/7 ã§èš±å¯ããŸãããã以å€ã®ãã©ã€ããŒããã«ãŒãããã¯ããªã³ã¯ããŒã«ã«ãã¡ã¿ããŒã¿å®å
ã¯åŒãç¶ããããã¯ãããŸããCodex Hosted Search ã¯äŸå€ã§ãããã®ç¯å²éå®ã¯ãŒã«ãŒã¯ããããã¯ãŒã¯ã¢ã¯ã»ã¹ã Codex app-server ã®ãã¹ãå web_search ããŒã«ã«å§è²ããŸãã
ãã®èªåèš±å¯ã¯ãä»»æã® web_fetch URL ã«ã¯é©çšãããŸãããweb_fetch ã§ã¯ãä¿¡é Œæžã¿ãããã·ããããã®åæç¯å²ãææããŠããå Žåã«ã®ã¿ãtools.web.fetch.ssrfPolicy.allowRfc2544BenchmarkRange ãš tools.web.fetch.ssrfPolicy.allowIpv6UniqueLocalRange ãæç€ºçã«æå¹ã«ããŠãã ããã
Web æ€çŽ¢ã®èšå®
ããã¥ã¡ã³ããšã»ããã¢ãããããŒå ã®ãããã€ããŒäžèЧã¯ã¢ã«ãã¡ãããé ã§ããèªåæ€åºã§ã¯å¥ã®åªå é äœãä¿æãããŸãã
provider ãèšå®ãããŠããªãå ŽåãOpenClaw ã¯æ¬¡ã®é åºã§ãããã€ããŒã確èªããæåã«æºåã§ããŠãããã®ã䜿çšããŸãã
ãŸã API ããŒã¹ã®ãããã€ããŒ:
- Brave --
BRAVE_API_KEYãŸãã¯plugins.entries.brave.config.webSearch.apiKey(é åº 10) - MiniMax Search --
MINIMAX_CODE_PLAN_KEY/MINIMAX_CODING_API_KEY/MINIMAX_OAUTH_TOKEN/MINIMAX_API_KEYãŸãã¯plugins.entries.minimax.config.webSearch.apiKey(é åº 15) - Gemini --
plugins.entries.google.config.webSearch.apiKeyãGEMINI_API_KEYããŸãã¯models.providers.google.apiKey(é åº 20) - Grok -- xAI OAuthã
XAI_API_KEYããŸãã¯plugins.entries.xai.config.webSearch.apiKey(é åº 30) - Kimi --
KIMI_API_KEY/MOONSHOT_API_KEYãŸãã¯plugins.entries.moonshot.config.webSearch.apiKey(é åº 40) - Perplexity --
PERPLEXITY_API_KEY/OPENROUTER_API_KEYãŸãã¯plugins.entries.perplexity.config.webSearch.apiKey(é åº 50) - Firecrawl --
FIRECRAWL_API_KEYãŸãã¯plugins.entries.firecrawl.config.webSearch.apiKey(é åº 60) - Exa --
EXA_API_KEYãŸãã¯plugins.entries.exa.config.webSearch.apiKey; ä»»æã®plugins.entries.exa.config.webSearch.baseUrl㯠Exa ãšã³ããã€ã³ããäžæžãããŸã (é åº 65) - Tavily --
TAVILY_API_KEYãŸãã¯plugins.entries.tavily.config.webSearch.apiKey(é åº 70) - Parallel --
PARALLEL_API_KEYãŸãã¯plugins.entries.parallel.config.webSearch.apiKeyçµç±ã®ææ Parallel Search API; ä»»æã®plugins.entries.parallel.config.webSearch.baseUrlã¯ãšã³ããã€ã³ããäžæžãããŸã (é åº 75)
ãã®åŸã«æ§ææžã¿ãšã³ããã€ã³ããããã€ããŒ:
- SearXNG --
SEARXNG_BASE_URLãŸãã¯plugins.entries.searxng.config.webSearch.baseUrl(é åº 200)
Parallel Search (Free)ãDuckDuckGoãOllama Web SearchãCodex Hosted Search ãªã©ã®ããŒäžèŠãããã€ããŒã¯ãtools.web.search.provider ãŸã㯠openclaw configure --section web ã§æç€ºçã«éžæããå Žåã«ã®ã¿å©çšã§ããŸããAPI ããŒã¹ã®ãããã€ããŒãæ§æãããŠããªããšããçç±ã ãã§ãOpenClaw ã管ç察象㮠web_search ã¯ãšãªãããŒäžèŠãããã€ããŒãžéãããšã¯ãããŸããã
OpenAI Responses ã¢ãã«ã¯äŸå€ã§ããtools.web.search.provider ãæªèšå®ã®å Žåãäžèšã®ç®¡ç察象ãããã€ããŒã§ã¯ãªã OpenAI ã®ãã€ãã£ã Web æ€çŽ¢ã䜿çšããŸãã管ç察象ãã¹çµç±ã§ã«ãŒãã£ã³ã°ããã«ã¯ãtools.web.search.provider ã parallel-free (ãŸãã¯å¥ã®ãããã€ããŒ) ã«èšå®ããŠãã ããã
æ§æ
{ tools: { web: { search: { enabled: true, // default: true provider: "brave", // or omit for auto-detection maxResults: 5, timeoutSeconds: 30, cacheTtlMinutes: 15, }, }, },}ãããã€ããŒåºæã®æ§æ (API ããŒãããŒã¹ URLãã¢ãŒã) 㯠plugins.entries.<plugin>.config.webSearch.* é
äžã«ãããŸããGemini ã¯ãå°çšã® Web æ€çŽ¢æ§æãš GEMINI_API_KEY ã®åŸã®äœåªå
床ãã©ãŒã«ããã¯ãšããŠãmodels.providers.google.apiKey ãš models.providers.google.baseUrl ãåå©çšã§ããŸããäŸã«ã€ããŠã¯ãããã€ããŒããŒãžãåç
§ããŠãã ããã
Grok ã¯ãopenclaw models auth login --provider xai --method oauth ã® xAI OAuth èªèšŒãããã¡ã€ã«ãåå©çšã§ããŸããAPI ããŒæ§æã¯åŒãç¶ããã©ãŒã«ããã¯ã§ãã
tools.web.search.provider ã¯ããã³ãã«æžã¿ããã³ã€ã³ã¹ããŒã«æžã¿ Plugin ãããã§ã¹ãã§å®£èšããã Web æ€çŽ¢ãããã€ã㌠ID ã«å¯ŸããŠæ€èšŒãããŸãã"brvae" ã®ãã㪠typo ã¯ãèªåæ€åºãžé»ã£ãŠãã©ãŒã«ããã¯ããã®ã§ã¯ãªããæ§ææ€èšŒã§å€±æããŸãããµãŒãããŒã㣠Plugin ãã¢ã³ã€ã³ã¹ããŒã«ããåŸã«æ®ã£ã plugins.entries.<plugin> ãããã¯ãªã©ãæ§ææžã¿ãããã€ããŒã«å€ã Plugin ã®èšŒè·¡ãããªãå ŽåãOpenClaw ã¯èµ·åã®å
ç¢æ§ãç¶æããPlugin ãåã€ã³ã¹ããŒã«ããã openclaw doctor --fix ãå®è¡ããŠå€ãæ§æãã¯ãªãŒã³ã¢ããã§ããããèŠåãå ±åããŸãã
web_fetch ãã©ãŒã«ããã¯ãããã€ããŒã®éžæã¯å¥ã§ãã
tools.web.fetch.providerã§éžæããŸã- ãŸãã¯ãã®é ç®ãçç¥ããOpenClaw ã«æ§ææžã¿èªèšŒæ å ±ããæåã«æºåã§ããŠãã web-fetch ãããã€ããŒãèªåæ€åºãããŸã
- éãµã³ãããã¯ã¹ã®
web_fetchã¯ãcontracts.webFetchProvidersã宣èšããã€ã³ã¹ããŒã«æžã¿ Plugin ãããã€ããŒã䜿çšã§ããŸãããµã³ãããã¯ã¹åããã fetch ã¯ãã³ãã«æžã¿ãããã€ããŒãšæ€èšŒæžã¿å ¬åŒ Plugin ã€ã³ã¹ããŒã«ãèš±å¯ããŸããããµãŒãããŒãã£å€éš Plugin ã¯é€å€ããŸã - å
¬åŒ Firecrawl Plugin 㯠web-fetch ãã©ãŒã«ããã¯ãæäŸãã
plugins.entries.firecrawl.config.webFetch.*é äžã§æ§æãããŸã
openclaw onboard ãŸã㯠openclaw configure --section web ã§ Kimi ãéžæãããšãOpenClaw ã¯æ¬¡ã®å
容ãå°ããããšãã§ããŸãã
- Moonshot API ãªãŒãžã§ã³ (
https://api.moonshot.ai/v1ãŸãã¯https://api.moonshot.cn/v1) - æ¢å®ã® Kimi Web æ€çŽ¢ã¢ãã« (æ¢å®ã¯
kimi-k2.6)
x_search ã§ã¯ãplugins.entries.xai.config.xSearch.* ãæ§æããŠãã ãããããã¯ãã£ãããšåã xAI èªèšŒãããã¡ã€ã«ããŸã㯠Grok Web æ€çŽ¢ã§äœ¿çšããã XAI_API_KEY / Plugin Web æ€çŽ¢èªèšŒæ
å ±ã䜿çšããŸãã
åŸæ¥ã® tools.web.x_search.* æ§æã¯ãopenclaw doctor --fix ã«ãã£ãŠèªåç§»è¡ãããŸãã
openclaw onboard ãŸã㯠openclaw configure --section web ã§ Grok ãéžæãããšãOpenClaw ã¯åãèªèšŒæ
å ±ã§ä»»æã® x_search ã»ããã¢ãããæç€ºã§ããŸãã
ãã㯠Grok ãã¹å
ã®å¥åã®åŸç¶ã¹ãããã§ããããããã¬ãã«ã® Web æ€çŽ¢ãããã€ããŒéžæã§ã¯ãããŸãããå¥ã®ãããã€ããŒãéžæããå ŽåãOpenClaw 㯠x_search ããã³ããã衚瀺ããŸããã
API ããŒã®ä¿å
æ§æãã¡ã€ã«
openclaw configure --section web ãå®è¡ããããããŒãçŽæ¥èšå®ããŸãã
{ plugins: { entries: { brave: { config: { webSearch: { apiKey: "YOUR_KEY", // pragma: allowlist secret }, }, }, }, },}ç°å¢å€æ°
Gateway ããã»ã¹ç°å¢ã§ãããã€ããŒç°å¢å€æ°ãèšå®ããŸãã
export BRAVE_API_KEY="YOUR_KEY"Gateway ã€ã³ã¹ããŒã«ã§ã¯ã~/.openclaw/.env ã«å
¥ããŠãã ããã
ç°å¢å€æ° ãåç
§ããŠãã ããã
ããŒã«ãã©ã¡ãŒã¿ãŒ
| ãã©ã¡ãŒã¿ãŒ | 説æ |
|---|---|
query |
æ€çŽ¢ã¯ãšãª (å¿ é ) |
count |
è¿ãçµææ° (1-10ãæ¢å®: 5) |
country |
2 æåã® ISO åœã³ãŒã (äŸ: "US", "DE") |
language |
ISO 639-1 èšèªã³ãŒã (äŸ: "en", "de") |
search_lang |
æ€çŽ¢èšèªã³ãŒã (Brave ã®ã¿) |
freshness |
æéãã£ã«ã¿ãŒ: dayãweekãmonthããŸã㯠year |
date_after |
ãã®æ¥ä»ããåŸã®çµæ (YYYY-MM-DD) |
date_before |
ãã®æ¥ä»ããåã®çµæ (YYYY-MM-DD) |
ui_lang |
UI èšèªã³ãŒã (Brave ã®ã¿) |
domain_filter |
ãã¡ã€ã³èš±å¯ãªã¹ã/æåŠãªã¹ãé å (Perplexity ã®ã¿) |
max_tokens |
åèšã³ã³ãã³ãäºç®ãæ¢å® 25000 (Perplexity ã®ã¿) |
max_tokens_per_page |
ããŒãžããšã®ããŒã¯ã³äžéãæ¢å® 2048 (Perplexity ã®ã¿) |
x_search
x_search 㯠xAI ã䜿çšã㊠X (æ§ Twitter) ã®æçš¿ãã¯ãšãªããåŒçšä»ãã® AI åæåçãè¿ããŸããèªç¶èšèªã¯ãšãªãšä»»æã®æ§é åãã£ã«ã¿ãŒãåãä»ããŸããOpenClaw ã¯ããã®ããŒã«åŒã³åºããåŠçãããªã¯ãšã¹ãã§ã®ã¿ãçµã¿èŸŒã¿ xAI x_search ããŒã«ãæå¹ã«ããŸãã
x_search æ§æ
{ plugins: { entries: { xai: { config: { xSearch: { enabled: true, model: "grok-4-1-fast-non-reasoning", baseUrl: "https://api.x.ai/v1", // optional, overrides webSearch.baseUrl inlineCitations: false, maxTurns: 2, timeoutSeconds: 30, cacheTtlMinutes: 15, }, webSearch: { apiKey: "xai-...", // optional if an xAI auth profile or XAI_API_KEY is set baseUrl: "https://api.x.ai/v1", // optional shared xAI Responses base URL }, }, }, }, },}plugins.entries.xai.config.xSearch.baseUrl ãèšå®ãããŠããå Žåãx_search 㯠<baseUrl>/responses ã«æçš¿ããŸãããã®é
ç®ãçç¥ãããŠããå Žåãplugins.entries.xai.config.webSearch.baseUrlãæ¬¡ã«åŸæ¥ã® tools.web.search.grok.baseUrlãæåŸã«å
¬é xAI ãšã³ããã€ã³ããžãã©ãŒã«ããã¯ããŸãã
x_search ãã©ã¡ãŒã¿ãŒ
| ãã©ã¡ãŒã¿ãŒ | 説æ |
|---|---|
query |
æ€çŽ¢ã¯ãšãªïŒå¿ é ïŒ |
allowed_x_handles |
çµæãç¹å®ã® X ãã³ãã«ã«å¶éãã |
excluded_x_handles |
ç¹å®ã® X ãã³ãã«ãé€å€ãã |
from_date |
ãã®æ¥ä»ä»¥éã®æçš¿ã®ã¿ãå«ããïŒYYYY-MM-DDïŒ |
to_date |
ãã®æ¥ä»ä»¥åã®æçš¿ã®ã¿ãå«ããïŒYYYY-MM-DDïŒ |
enable_image_understanding |
äžèŽããæçš¿ã«æ·»ä»ãããç»åã xAI ã«æ€æ»ããã |
enable_video_understanding |
äžèŽããæçš¿ã«æ·»ä»ãããåç»ã xAI ã«æ€æ»ããã |
x_search ã®äŸ
await x_search({ query: "dinner recipes", allowed_x_handles: ["nytfood"], from_date: "2026-03-01",});// Per-post stats: use the exact status URL or status ID when possibleawait x_search({ query: "https://x.com/huntharo/status/1905678901234567890",});äŸ
// Basic searchawait web_search({ query: "OpenClaw plugin SDK" }); // German-specific searchawait web_search({ query: "TV online schauen", country: "DE", language: "de" }); // Recent results (past week)await web_search({ query: "AI developments", freshness: "week" }); // Date rangeawait web_search({ query: "climate research", date_after: "2024-01-01", date_before: "2024-06-30",}); // Domain filtering (Perplexity only)await web_search({ query: "product reviews", domain_filter: ["-reddit.com", "-pinterest.com"],});ããŒã«ãããã¡ã€ã«
ããŒã«ãããã¡ã€ã«ãŸãã¯èš±å¯ãªã¹ãã䜿çšããå Žåã¯ãweb_searchãx_searchããŸã㯠group:web ã远å ããŸãã
{ tools: { allow: ["web_search", "x_search"], // or: allow: ["group:web"] (includes web_search, x_search, and web_fetch) },}é¢é£æ å ±
- Web Fetch -- URL ãååŸããèªã¿ãããã³ã³ãã³ããæœåºãã
- Web Browser -- JS ã®å€ããµã€ãåãã®å®å šãªãã©ãŠã¶ãŒèªåå
- Grok Search --
web_searchãããã€ããŒãšããŠã® Grok - Ollama Web Search -- Ollama ãã¹ãçµç±ã®ããŒäžèŠã®ãŠã§ãæ€çŽ¢