MCPcopy Create free account
hub / github.com/AI45Lab/Code / add_headless_engine

Function add_headless_engine

core/src/tools/builtin/web_search.rs:95–121  ·  view source on GitHub ↗

Add a headless engine (google, baidu, bing_cn) using BrowserPool

(search: &mut Search, shortcut: &str, pool: &Arc<BrowserPool>)

Source from the content-addressed store, hash-verified

93
94/// Add a headless engine (google, baidu, bing_cn) using BrowserPool
95fn add_headless_engine(search: &mut Search, shortcut: &str, pool: &Arc<BrowserPool>) -> bool {
96 match shortcut.trim() {
97 "g" | "google" => {
98 let fetcher = BrowserFetcher::new(Arc::clone(pool)).with_wait(WaitStrategy::Selector {
99 css: "div.g".to_string(),
100 timeout_ms: 5000,
101 });
102 search.add_engine(Google::new(Arc::new(fetcher)));
103 true
104 }
105 "baidu" => {
106 let fetcher = BrowserFetcher::new(Arc::clone(pool)).with_wait(WaitStrategy::Selector {
107 css: "div.c-container".to_string(),
108 timeout_ms: 5000,
109 });
110 search.add_engine(Baidu::new(Arc::new(fetcher)));
111 true
112 }
113 "bing_cn" => {
114 let fetcher =
115 BrowserFetcher::new(Arc::clone(pool)).with_wait(WaitStrategy::Delay { ms: 2000 });
116 search.add_engine(BingChina::new(Arc::new(fetcher)));
117 true
118 }
119 _ => false,
120 }
121}
122
123#[async_trait]
124impl Tool for WebSearchTool {

Callers 1

executeMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected