pub enum SearchProvider {
Brave,
Tavily,
SerpApi,
Firecrawl,
}Expand description
A web-search backend the gateway’s search tool can use instead of
scraping DuckDuckGo’s keyless HTML endpoint.
Variants§
Brave
Brave Search API — the default and the only one that predates this enum. Free tier covers a personal deep-research user.
Tavily
Tavily — search API built for LLM agents.
SerpApi
SerpApi — Google results via a scraping API.
Firecrawl
Firecrawl — search + page extraction.
Implementations§
Source§impl SearchProvider
impl SearchProvider
Sourcepub fn all() -> [SearchProvider; 4]
pub fn all() -> [SearchProvider; 4]
Every provider, in preference order.
Sourcepub fn slug(self) -> &'static str
pub fn slug(self) -> &'static str
Lowercase identifier used in the CLI flag (--brave), the keychain
account, and the config key prefix. One slug drives all three so they
cannot drift apart.
Sourcepub fn display_name(self) -> &'static str
pub fn display_name(self) -> &'static str
How the provider writes its own name, for anything a human reads.
Sourcepub fn config_key_ref(self) -> String
pub fn config_key_ref(self) -> String
research_gateway.<this> — the config.yaml key holding a SecretRef
string rather than the secret itself.
Sourcepub fn config_key_plain(self) -> String
pub fn config_key_plain(self) -> String
research_gateway.<this> — the legacy plaintext key. Still read (an
existing brave_api_key must keep working) but never written by
mur deep-research secret.
Sourcepub fn keychain_account(self) -> &'static str
pub fn keychain_account(self) -> &'static str
Keychain account this provider’s key is stored under.
Sourcepub fn keychain_ref(self) -> String
pub fn keychain_ref(self) -> String
The SecretRef string written into config.yaml — the reference is safe
to commit and log; the key itself never enters the file.
Sourcepub fn signup_url(self) -> &'static str
pub fn signup_url(self) -> &'static str
Where a user gets a key. Printed by the setup command, because “get an API key” without a URL is a scavenger hunt.
Trait Implementations§
Source§impl Clone for SearchProvider
impl Clone for SearchProvider
impl Copy for SearchProvider
Source§impl Debug for SearchProvider
impl Debug for SearchProvider
Source§impl Display for SearchProvider
impl Display for SearchProvider
impl Eq for SearchProvider
Source§impl FromStr for SearchProvider
impl FromStr for SearchProvider
Source§impl Hash for SearchProvider
impl Hash for SearchProvider
Source§impl Ord for SearchProvider
impl Ord for SearchProvider
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for SearchProvider
impl PartialEq for SearchProvider
Source§impl PartialOrd for SearchProvider
impl PartialOrd for SearchProvider
impl StructuralPartialEq for SearchProvider
Auto Trait Implementations§
impl Freeze for SearchProvider
impl RefUnwindSafe for SearchProvider
impl Send for SearchProvider
impl Sync for SearchProvider
impl Unpin for SearchProvider
impl UnsafeUnpin for SearchProvider
impl UnwindSafe for SearchProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.