{
 "$schema": "dsh-web-search-pro/source-catalog",
 "version": 1,
 "updated": "2026-10-06",
 "description": "Known search sources, pure data. It never executes anything: only adapters registered in the provider registry can run; this file explains what is missing and how to set it up.",
 "entries": [
  {"id":"seam","label":"DeepSeek native search (ctx.web)","kind":"api","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["general"],"resultKinds":["web"],"auth":"anonymous","costTier":"anonymous","requires":{"service":"ctx.web"},"provider":"seam","rank":60,"install":"Provided by the DSH host web capability; configure a web provider in the host.","license":"depends on the host provider","cost":"decided by the host provider behind ctx.web","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["one general web query through whatever provider the host selected"],"notFor":["evidence of independence: the upstream index is unknown"]},
  {"id":"exa","label":"Exa","kind":"api","operations":["search"],"languages":["en"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"anonymous","keyEnv":["EXA_API_KEY"],"provider":"exa","sourceFamily":"exa","rank":10,"install":"Set EXA_API_KEY (or exaApiKey). Without a key the mcporter MCP fallback works for plain queries only.","license":"proprietary API service","cost":"keyless MCP route (mcporter): anonymous, rate limited, verified 2026-10-04. API key route: $10 free credits monthly (https://exa.ai/pricing)","url":"https://exa.ai/docs/reference/search","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["English semantic web search","docs and technical articles"],"notFor":["advanced filters through the mcporter fallback"]},
  {"id":"ddg","label":"DuckDuckGo","kind":"api","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code","academic"],"resultKinds":["web"],"auth":"anonymous","costTier":"anonymous","provider":"ddg","rank":40,"install":"None (HTML endpoint, no key).","license":"free endpoint, no SLA","cost":"free","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["default keyless general web search","site:/-term operators"],"notFor":["heavy or parallel use: rate limits and bot checks return empty pages"]},
  {"id":"bing","label":"Bing (RSS)","kind":"api","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"anonymous","costTier":"anonymous","provider":"bing","sourceFamily":"bing","install":"None (RSS endpoint, no key).","license":"free endpoint, no SLA","cost":"free","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["keyless fallback next to DuckDuckGo"],"notFor":["native freshness or domain filters (only operators in the query)"]},
  {"id":"jina","label":"Jina AI search","kind":"api","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["general"],"resultKinds":["web"],"auth":"key","costTier":"free-quota","keyEnv":["JINA_API_KEY"],"provider":"jina","install":"Set JINA_API_KEY (or jinaApiKey).","license":"proprietary API service","cost":"free-quota: every new key has 10M free tokens, one time; a search costs >=10,000 tokens (https://jina.ai/reader/, 2026-10-04)","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["general web search when a Jina key exists"],"notFor":["keyless use: s.jina.ai answers 401 without a key"]},
  {"id":"bocha","label":"Bocha (博查) web search","kind":"api","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"paid","keyEnv":["BOCHA_SEARCH_API_KEY","BOCHA_JEV_API_KEY"],"provider":"bocha","rank":10,"install":"Open a search balance or package at open.bochaai.com and set BOCHA_SEARCH_API_KEY (the Jev key of the same account is the fallback). Optional cap: sources.budget.bocha.","license":"proprietary API service","cost":"paid: per request from a balance or package; no free allowance on the official pages (open.bochaai.com, 2026-10-04)","url":"https://open.bochaai.com","verification":{"status":"verified","date":"2026-10-04","note":"4 live requests on api.bocha.cn: success shape, include / exclude and freshness range confirmed; api.bochaai.com takes the same key"},"recommendedFor":["Chinese web search with domain and date-range filters"],"notFor":["accounts without a search package (403 no balance)"]},
  {"id":"github","label":"GitHub search","kind":"api","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["docs_code","compare"],"resultKinds":["code"],"auth":"anonymous","costTier":"anonymous","keyEnv":["GITHUB_TOKEN","GH_TOKEN"],"provider":"github","platform":"github","sourceFamily":"github","install":"None for the REST client; GITHUB_TOKEN (optional) raises the rate limit. If REST is unavailable the gh CLI is the fallback (`gh auth login` is yours to run). Also search.run platform=github-code / github-issues.","license":"proprietary API service","cost":"free within GitHub API limits","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["repositories, code and issues","library comparisons"],"notFor":["natural-language questions (the query is reduced to keywords)","general web knowledge"]},
  {"id":"github-code","label":"GitHub code search","kind":"api","operations":["search"],"languages":["*"],"regions":["global"],"auth":"key","costTier":"free-quota","keyEnv":["GITHUB_TOKEN","GH_TOKEN"],"sourceFamily":"github","license":"proprietary API service","cost":"free-quota: a free GitHub token is required; free within the REST search rate limits (https://docs.github.com/en/rest/search/search, 2026-10-04)","verification":{"status":"unverified","note":"REST search API; code search needs an authenticated request"},"profiles":["docs_code"],"resultKinds":["code"],"provider":"github-code","platform":"github-code","install":"Set GITHUB_TOKEN (or settings githubToken), or install gh and run `gh auth login` yourself: code search needs an authenticated request.","recommendedFor":["finding real usages of an API or a config key in public code"],"notFor":["use without a token","natural-language questions"]},
  {"id":"github-issues","label":"GitHub issues and pull requests","kind":"api","operations":["search"],"languages":["*"],"regions":["global"],"auth":"anonymous","costTier":"anonymous","keyEnv":["GITHUB_TOKEN","GH_TOKEN"],"sourceFamily":"github","license":"proprietary API service","cost":"free within GitHub API limits","verification":{"status":"unverified","note":"REST search API; no live check recorded"},"profiles":["docs_code","experience"],"resultKinds":["forum"],"provider":"github-issues","platform":"github-issues","install":"None; GITHUB_TOKEN (optional) raises the rate limit.","recommendedFor":["known bugs, workarounds and maintainer answers for an error message"],"notFor":["general web knowledge"]},
  {"id":"bilibili","label":"Bilibili (bili CLI)","kind":"cli","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["video"],"auth":"anonymous","costTier":"anonymous","requires":{"cli":"bili"},"provider":"bilibili","platform":"bilibili","install":"uv tool install --force git+https://github.com/public-clis/bilibili-cli (pinned revision; sources.deps shows the command).","license":"Apache-2.0 (public-clis/bilibili-cli)","cost":"free","verification":{"status":"verified","date":"2026-10-06","version":"0.6.2","note":"bili search --type video --max 2 --json parsed live; contract probed by sources.deps"},"recommendedFor":["Chinese video tutorials and reviews"],"notFor":["text-first factual questions","another PyPI package named bilibili-cli (different contract)"]},
  {"id":"youtube","label":"YouTube (yt-dlp)","kind":"cli","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["experience"],"resultKinds":["video"],"auth":"anonymous","costTier":"anonymous","requires":{"cli":"yt-dlp"},"provider":"youtube","platform":"youtube","install":"uv tool install yt-dlp (or pip install yt-dlp).","license":"Unlicense (yt-dlp)","cost":"free","verification":{"status":"unverified","date":"2026-10-06","version":"2026.08.19","note":"contract-only: help probed, flags and print template from the shipped backend; no search run"},"recommendedFor":["video talks, demos and tutorials"],"notFor":["transcripts (not wired into this plugin)"]},
  {"id":"v2ex","label":"V2EX","kind":"api","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["forum"],"auth":"anonymous","costTier":"anonymous","provider":"v2ex","platform":"v2ex","install":"None.","license":"free public site","cost":"free","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["Chinese developer community experience"],"notFor":["English questions","official documentation"]},
  {"id":"arxiv","label":"arXiv","kind":"api","operations":["search"],"languages":["en"],"regions":["global"],"profiles":["academic"],"resultKinds":["paper"],"auth":"anonymous","costTier":"anonymous","provider":"arxiv","platform":"arxiv","sourceFamily":"arxiv","install":"None.","license":"free public API","cost":"free","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["preprints in CS, physics, maths"],"notFor":["biomedicine (use PubMed)","peer-review status"]},
  {"id":"pubmed","label":"PubMed","kind":"api","operations":["search"],"languages":["en"],"regions":["global"],"profiles":["academic"],"resultKinds":["paper"],"auth":"anonymous","costTier":"anonymous","provider":"pubmed","platform":"pubmed","sourceFamily":"pubmed","install":"None.","license":"free public API (NCBI)","cost":"free","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["biomedical and life-science literature"],"notFor":["computer science papers"]},
  {"id":"twitter","label":"Twitter / X: twitter-cli, OpenCLI, dsh-browser","kind":"cli","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["experience","news_fact"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","keyEnv":["TWITTER_AUTH_TOKEN","TWITTER_CT0"],"requires":{"cli":"twitter"},"platform":"twitter","install":"Default chain: twitter-cli (uv tool install twitter-cli; export TWITTER_AUTH_TOKEN / TWITTER_CT0), standalone OpenCLI, then dsh-browser OpenCLI. Reorder with platformBackends.","license":"unknown","cost":"free (your account)","verification":{"status":"unverified","date":"2026-10-06","version":"0.8.5","note":"contract-only: twitter-cli help probed; no search run (needs your tokens)"},"recommendedFor":["live reactions and announcements by accounts"],"notFor":["anonymous use","a different program named twitter on PATH"],"provider":"twitter"},
  {"id":"xiaohongshu","label":"Xiaohongshu (小红书): OpenCLI, xhs, dsh-browser","kind":"cli","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","platform":"xiaohongshu","install":"Default chain: standalone OpenCLI (npm i -g @jackwener/opencli + its Chrome bridge, your own login), then xhs (uv tool install xiaohongshu-cli; run `xhs login` yourself), then dsh-browser OpenCLI. Reorder with platformBackends.","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","verification":{"status":"unverified","date":"2026-10-06","note":"contract-only: opencli 1.8.8 command table and xhs 0.6.4 help probed; no search run (needs your login)"},"recommendedFor":["Chinese lifestyle and product experience notes"],"notFor":["use with no backend installed or logged in","high-volume crawling"],"provider":"xiaohongshu"},
  {"id":"reddit","label":"Reddit: rdt, OpenCLI, dsh-browser","kind":"cli","operations":["search"],"languages":["en"],"regions":["global"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","platform":"reddit","install":"Default chain: rdt (uv tool install git+https://github.com/public-clis/rdt-cli; run `rdt login` yourself), standalone OpenCLI, then dsh-browser OpenCLI. Reorder with platformBackends.","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","verification":{"status":"unverified","date":"2026-10-06","note":"contract-only: rdt 0.4.2 help probed and output shape read from its source; no search run (needs your login)"},"recommendedFor":["English community experience threads"],"notFor":["use with no backend installed or logged in"],"provider":"reddit"},
  {"id":"instagram","label":"Instagram via OpenCLI","kind":"cli","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"platform":"instagram","install":"Install the dsh-browser plugin (bundles OpenCLI) and log in to the site in its browser; check with browser_opencli_status.","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","verification":{"status":"unverified","note":"shipped backend runs `opencli instagram search`; not re-verified on a pinned OpenCLI version"},"recommendedFor":["visual social posts"],"notFor":["use without dsh-browser and a logged-in session"],"provider":"instagram"},
  {"id":"facebook","label":"Facebook via OpenCLI","kind":"cli","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"platform":"facebook","install":"Install the dsh-browser plugin (bundles OpenCLI) and log in to the site in its browser; check with browser_opencli_status.","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","verification":{"status":"unverified","note":"shipped backend runs `opencli facebook search`; not re-verified on a pinned OpenCLI version"},"recommendedFor":["public posts and pages"],"notFor":["use without dsh-browser and a logged-in session"],"provider":"facebook"},
  {"id":"rss","label":"RSS / Atom feeds","kind":"api","operations":["read"],"languages":["*"],"regions":["global"],"profiles":["news_fact"],"resultKinds":["web"],"auth":"anonymous","costTier":"anonymous","platform":"rss","install":"None; pass the feed URL as the url of search.run platform=rss.","license":"free","cost":"free","verification":{"status":"verified","note":"shipped built-in"},"recommendedFor":["latest items of a known feed or blog"],"notFor":["keyword search across the web"],"provider":"rss"},
  {"id":"zhihu","label":"Zhihu (知乎): zhihu-cli, dsh-browser search page","kind":"cli","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","platform":"zhihu","install":"Default chain: zhihu-cli (PyPI pyzhihu-cli; run `zhihu login` yourself), then the dsh-browser search page with a saved login (browserBindings).","license":"n/a (reads the site you are logged in to)","cost":"free (your account)","verification":{"status":"unverified","date":"2026-10-06","version":"0.2.4","note":"contract-only: zhihu-cli help probed, output shape read from its source; no search run (needs your login)"},"recommendedFor":["Chinese Q&A and long-form answers"],"notFor":["use without a login","high-volume or unattended crawling","the Access-Secret zhihu CLI (a different tool)"],"provider":"zhihu"},
  {"id":"weibo","label":"Weibo (微博) search page","kind":"browser","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"platform":"weibo","install":"Install dsh-browser, run scripts/save-login.mjs for the site and bind it with browserBindings.","license":"n/a (reads the site you are logged in to)","cost":"free (your account)","verification":{"status":"unverified","note":"best-effort selectors on the rendered search page; they break when the markup changes"},"recommendedFor":["Chinese real-time public reaction"],"notFor":["use without a saved login","high-volume or unattended crawling"],"provider":"weibo"},
  {"id":"douban","label":"Douban (豆瓣) search page","kind":"browser","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"platform":"douban","install":"Install dsh-browser, run scripts/save-login.mjs for the site and bind it with browserBindings.","license":"n/a (reads the site you are logged in to)","cost":"free (your account)","verification":{"status":"unverified","note":"best-effort selectors on the rendered search page; they break when the markup changes"},"recommendedFor":["Chinese reviews of books, films and music"],"notFor":["use without a saved login","high-volume or unattended crawling"],"provider":"douban"},
  {"id":"tieba","label":"Baidu Tieba (贴吧) search page","kind":"browser","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"platform":"tieba","install":"Install dsh-browser, run scripts/save-login.mjs for the site and bind it with browserBindings.","license":"n/a (reads the site you are logged in to)","cost":"free (your account)","verification":{"status":"unverified","note":"best-effort selectors on the rendered search page; they break when the markup changes"},"recommendedFor":["Chinese forum discussion"],"notFor":["use without a saved login","high-volume or unattended crawling"],"provider":"tieba"},
  {"id":"douyin","label":"Douyin (抖音) search page","kind":"browser","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"platform":"douyin","install":"Install dsh-browser, run scripts/save-login.mjs for the site and bind it with browserBindings.","license":"n/a (reads the site you are logged in to)","cost":"free (your account)","verification":{"status":"unverified","note":"best-effort selectors on the rendered search page; they break when the markup changes"},"recommendedFor":["Chinese short-video discovery"],"notFor":["use without a saved login","high-volume or unattended crawling"],"provider":"douyin"},
  {"id":"kuaishou","label":"Kuaishou (快手) search page","kind":"browser","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"platform":"kuaishou","install":"Install dsh-browser, run scripts/save-login.mjs for the site and bind it with browserBindings.","license":"n/a (reads the site you are logged in to)","cost":"free (your account)","verification":{"status":"unverified","note":"best-effort selectors on the rendered search page; they break when the markup changes"},"recommendedFor":["Chinese short-video discovery"],"notFor":["use without a saved login","high-volume or unattended crawling"],"provider":"kuaishou"},
  {"id":"wikipedia","label":"Wikipedia (MediaWiki search)","kind":"api","operations":["search"],"languages":["zh","en"],"regions":["global"],"profiles":["general","news_fact","compare"],"resultKinds":["reference"],"auth":"anonymous","costTier":"anonymous","provider":"wikipedia","sourceFamily":"wikipedia","install":"None. Language edition follows the task language.","license":"free API; article text CC BY-SA 4.0","cost":"free","url":"https://www.mediawiki.org/wiki/API:Search","verification":{"status":"verified","date":"2026-10-02","note":"live 2026-10-02: en and zh editions answered; fixtures in test/fixtures"},"recommendedFor":["definitions, background and stable facts","entity disambiguation"],"notFor":["breaking news","product reviews","primary sources"]},
  {"id":"hackernews","label":"Hacker News (Algolia)","kind":"api","operations":["search"],"languages":["en"],"regions":["global"],"profiles":["experience","news_fact"],"resultKinds":["forum"],"auth":"anonymous","costTier":"anonymous","provider":"hackernews","sourceFamily":"hackernews","install":"None.","license":"free public API","cost":"free (rate limited per IP)","url":"https://hn.algolia.com/api","verification":{"status":"verified","date":"2026-10-02","note":"live 2026-10-02: plain query and created_at_i filter answered"},"recommendedFor":["English developer opinions and launch discussions","what practitioners think of a tool"],"notFor":["documentation","non-technical topics","Chinese queries"]},
  {"id":"stackexchange","label":"Stack Exchange (Stack Overflow)","kind":"api","operations":["search"],"languages":["en"],"regions":["global"],"profiles":["docs_code","experience"],"resultKinds":["qa"],"auth":"anonymous","costTier":"anonymous","provider":"stackexchange","sourceFamily":"stackexchange","install":"None; anonymous requests share a small daily quota per IP.","license":"free API; content CC BY-SA (attribution)","cost":"free (daily quota)","url":"https://api.stackexchange.com/docs","verification":{"status":"verified","date":"2026-10-02","note":"live 2026-10-02: plain query and fromdate answered; anonymous quota_max 300"},"recommendedFor":["concrete programming errors and how-to questions"],"notFor":["recent releases (answers lag)","opinion or comparison questions","Chinese queries"]},
  {"id":"openalex","label":"OpenAlex works","kind":"api","operations":["search"],"languages":["en"],"regions":["global"],"profiles":["academic"],"resultKinds":["paper"],"auth":"anonymous","costTier":"anonymous","provider":"openalex","keyEnv":["OPENALEX_API_KEY"],"sourceFamily":"openalex","install":"None. A free API key (OPENALEX_API_KEY) raises the daily budget tenfold.","license":"data CC0; API metered above the free budget","cost":"keyless budget is small (X-RateLimit-Limit 1000 observed; a free key gives ten times more; a search call costs $0.001)","url":"https://help.openalex.org/api/authentication","verification":{"status":"verified","date":"2026-10-02","note":"live 2026-10-02: plain query and from_publication_date answered"},"recommendedFor":["finding papers across all fields with abstracts and citation counts"],"notFor":["full text","many queries per day without a key"]},
  {"id":"semanticscholar","label":"Semantic Scholar paper search","kind":"api","operations":["search"],"languages":["en"],"regions":["global"],"profiles":["academic"],"resultKinds":["paper"],"auth":"anonymous","costTier":"anonymous","provider":"semanticscholar","keyEnv":["SEMANTIC_SCHOLAR_API_KEY"],"sourceFamily":"semanticscholar","install":"None; unauthenticated requests share a pool and often get HTTP 429. A free key (x-api-key) is more reliable.","license":"Semantic Scholar API license","cost":"free","url":"https://api.semanticscholar.org/api-docs/","verification":{"status":"unverified","note":"live 2026-10-02: both anonymous requests got HTTP 429 (shared pool busy); success shape follows the API docs"},"recommendedFor":["computer-science and related papers with abstracts and venues"],"notFor":["reliable keyless bulk use"]},
  {"id":"anysearch","label":"AnySearch","kind":"api","operations":["search"],"languages":["*"],"regions":["global","cn"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"anonymous","costTier":"anonymous","provider":"anysearch","keyEnv":["ANYSEARCH_API_KEY"],"install":"None for the anonymous tier (limited per IP and per day). An invalid key never falls back to anonymous.","license":"proprietary API service","cost":"free daily anonymous quota, then paid","url":"https://anysearch.com/docs/api-endpoints/v1-search","verification":{"status":"verified","date":"2026-10-02","note":"live 2026-10-02: one anonymous request answered 200; the 402 quota path was not triggered live"},"recommendedFor":["an extra keyless web source with zone cn / intl"],"notFor":["quota-exhausted days: the 402 answer is reported as quota_exhausted and its generated credentials are discarded"]},
  {"id":"searxng","label":"SearXNG (self-hosted)","kind":"api","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"anonymous","costTier":"anonymous","provider":"searxng","requires":{"config":"searxngUrl"},"install":"Run your own instance with `json` enabled under search.formats, then set searxngUrl in the settings. No public instance is built in.","license":"AGPL-3.0 (SearXNG)","cost":"free (self-hosted)","url":"https://docs.searxng.org/dev/search_api.html","verification":{"status":"unverified","note":"needs a user-run instance; never run live"},"recommendedFor":["a private meta-search under your control"],"notFor":["public instances: most disable the JSON format or rate-limit it"]},
  {"id":"parallel-mcp","label":"Parallel Search MCP (anonymous tier)","kind":"mcp","operations":["search","fetch"],"languages":["en"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"anonymous","costTier":"anonymous","keyEnv":["PARALLEL_API_KEY"],"sourceFamily":"parallel","install":"MCP endpoint https://search.parallel.ai/mcp (streamable HTTP, no key). Not an engine of this plugin: add it to the host as an MCP server.","license":"proprietary service","cost":"free at lower rate limits","url":"https://docs.parallel.ai/integrations/mcp/search-mcp","verification":{"status":"unverified","note":"result text format of web_search is not documented; no adapter"},"recommendedFor":["an MCP-native extra source for English web research"],"notFor":["use as a search.run engine (no adapter)"]},
  {"kind":"api","operations":["search"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"free-quota","license":"proprietary API service","verification":{"status":"unverified","note":"adapter built from the official API reference and the MIT dsh-web-search-tavily provider; never called live (no key)"},"notFor":["Tavily generated answers: only ranked results are used"],"id":"tavily","label":"Tavily","languages":["en"],"keyEnv":["TAVILY_API_KEY"],"install":"Set TAVILY_API_KEY (or keyedSources.tavily.apiKey / a credentials ref); create a key at tavily.com. Inactive until a key is set.","cost":"free-quota: 1,000 credits per month, no card (https://docs.tavily.com/documentation/api-credits, 2026-10-04)","url":"https://docs.tavily.com/documentation/api-reference/endpoint/search","recommendedFor":["English research with an independent fallback index; native domain and date filters"],"provider":"tavily","rank":20},
  {"kind":"api","operations":["search"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"free-quota","license":"proprietary API service","verification":{"status":"unverified","note":"adapter built from the official documentation and API reference; error body shape undocumented; never called live (no key)"},"notFor":["a 600-character query: it is cut to 400 characters and 50 words"],"id":"brave","label":"Brave Search API","languages":["en"],"keyEnv":["BRAVE_API_KEY"],"sourceFamily":"brave","install":"Set BRAVE_API_KEY (or keyedSources.brave.apiKey / a credentials ref); key from brave.com/search/api. Inactive until a key is set.","cost":"free-quota: $5 credits every month (about 1,000 requests), card needed for identity (https://brave.com/search/api/, 2026-10-04)","url":"https://api-dashboard.search.brave.com/app/documentation/web-search/query","recommendedFor":["source diversity: an independent index with site: / -site: operators and a date range"],"provider":"brave","rank":30},
  {"kind":"api","operations":["search"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"free-quota","license":"proprietary API service","verification":{"status":"unverified","note":"adapter built from the official search reference and errors page; never called live (no key)"},"notFor":["generated answers: only outputType searchResults is used"],"id":"linkup","label":"Linkup","languages":["en"],"keyEnv":["LINKUP_API_KEY"],"install":"Set LINKUP_API_KEY (or keyedSources.linkup.apiKey / a credentials ref); key from linkup.so (not linkupapi.com). Inactive until a key is set.","cost":"free-quota: $20 credit for professional-email sign-ups, monthly top-up for eligible accounts (docs.linkup.so pricing page, 2026-10-04)","url":"https://docs.linkup.so/pages/documentation/endpoints/search/reference","recommendedFor":["overseas supplementary search with domain and date filters"],"provider":"linkup","rank":40},
  {"kind":"api","operations":["search"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"free-quota","license":"proprietary API service","verification":{"status":"unverified","note":"no public API reference: contract from MIT reference code (LangChain, searchsuite); never called live (no key)"},"notFor":["independent corroboration of other Google-based sources (same family)"],"id":"serper","label":"Serper (Google SERP)","languages":["*"],"keyEnv":["SERPER_API_KEY"],"sourceFamily":"google","install":"Set SERPER_API_KEY (or keyedSources.serper.apiKey / a credentials ref); key from serper.dev. Inactive until a key is set.","cost":"free-quota: 2,500 free queries at sign-up, one time, then credits (https://serper.dev/, 2026-10-04)","recommendedFor":["Google results through site: / -site: operators"],"provider":"serper","rank":60},
  {"kind":"api","operations":["search"],"regions":["cn"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"paid","license":"proprietary API service","verification":{"status":"unverified","note":"official docs page not readable; contract from two MIT references (TZHR-invest dsh-web-search-metaso, HundunOnline mcp-metaso); never called live (no key)"},"notFor":["generated answers and the reader endpoint: only raw webpage results are used"],"id":"metaso","label":"Metaso (秘塔) search","languages":["zh"],"keyEnv":["METASO_API_KEY"],"install":"Set METASO_API_KEY (or keyedSources.metaso.apiKey / a credentials ref); key from metaso.cn/search-api. Webpage scope only; the reader is not implemented. Inactive until a key is set.","cost":"paid: per-request API plan; no free allowance could be confirmed (docs page is script-rendered)","url":"https://metaso.cn/search-api/playground","recommendedFor":["Chinese web search (no documented site or date filter: constraints are checked locally)"],"provider":"metaso","rank":20},
  {"kind":"api","operations":["search"],"regions":["cn"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"paid","license":"proprietary API service","verification":{"status":"unverified","note":"contract from the official guide, API reference and error-code page; never called live (no key)"},"notFor":["GLM generated answers: only raw search_result is used; the query is cut to 70 characters"],"id":"zhipu","label":"Zhipu (智谱) web search","languages":["zh"],"keyEnv":["ZHIPU_API_KEY"],"install":"Set ZHIPU_API_KEY (or keyedSources.zhipu.apiKey / a credentials ref); key from open.bigmodel.cn. Standalone web_search endpoint, search_std. Inactive until a key is set.","cost":"paid: no free allowance stated; search_std 0.01 CNY, search_pro 0.03 CNY per request (docs.bigmodel.cn web-search guide, 2026-10-04)","url":"https://docs.bigmodel.cn/cn/guide/tools/web-search","recommendedFor":["second Chinese search source with one domain filter and a recency window"],"provider":"zhipu","rank":30},
  {"kind":"api","operations":["search"],"regions":["cn"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"free-quota","license":"proprietary API service","verification":{"status":"unverified","note":"official page contradicts itself on the auth header: both Authorization and X-Appbuilder-Authorization are sent; never called live (no key)"},"notFor":["chat-completions generated answers: only web references are used; query cut to 72 units"],"id":"baidu-qianfan","label":"Baidu Qianfan (千帆) AI search","languages":["zh"],"keyEnv":["QIANFAN_API_KEY"],"install":"Set QIANFAN_API_KEY (or BAIDU_API_KEY / keyedSources.baidu-qianfan.apiKey); AppBuilder key from the Baidu AI cloud console. Inactive until a key is set.","cost":"free-quota: 100 calls per day, then paid post-payment (https://ai.baidu.com/ai-doc/AppBuilder/pmaxd1hvy)","url":"https://ai.baidu.com/ai-doc/AppBuilder/pmaxd1hvy","recommendedFor":["Chinese general web search with site, exclude and date-range filters"],"provider":"baidu-qianfan","rank":40,"sourceFamily":"baidu"},
  {"kind":"api","operations":["search"],"regions":["global"],"profiles":["general","news_fact","experience","compare","docs_code"],"resultKinds":["web"],"auth":"key","costTier":"paid","license":"proprietary API service","verification":{"status":"unverified","note":"no adapter yet; facts from vendor documentation"},"notFor":["use before an adapter exists in this plugin"],"id":"parallel","label":"Parallel Search API / CLI","languages":["en"],"keyEnv":["PARALLEL_API_KEY"],"sourceFamily":"parallel","install":"Planned adapter for /v1/search; or parallel-cli (OAuth or key).","cost":"paid: metered plan; no free allowance confirmed","url":"https://docs.parallel.ai/integrations/cli","recommendedFor":["higher limits than the anonymous MCP tier"]},
  {"id":"wx-search-cli","label":"wx-search-cli (WeChat articles)","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":["news_fact","experience","general"],"resultKinds":["social"],"auth":"anonymous","costTier":"anonymous","requires":{"cli":"wx-search-cli"},"install":"npm i -g wx-search-cli (Node). Second backend of the wechat platform; documented contract only.","license":"MIT","cost":"free","url":"https://github.com/tjx666/wx-search-cli","verification":{"status":"unverified","date":"2026-10-06","version":"0.1.0","note":"contract-only: help and version probed on a real install; output shape from the upstream README and source; no search run"},"recommendedFor":["WeChat official-account articles via Sogou search"],"notFor":["stable unattended use: Sogou redirects and captchas change"]},
  {"id":"omnireach","label":"OmniReach CLI / MCP","kind":"cli","operations":["search","fetch","read"],"languages":["zh","en"],"regions":["global","cn"],"profiles":["experience","general"],"resultKinds":["social","web"],"auth":"anonymous","costTier":"anonymous","requires":{"cli":"omnireach"},"install":"Python package from github.com/Daily-AC/omnireach (uv tool install). search.run platform=omnireach runs its default sources; browser-backed sources stay opt-in in the tool.","license":"MIT","cost":"free","url":"https://github.com/Daily-AC/omnireach","verification":{"status":"unverified","date":"2026-10-06","version":"0.19.0-alpha","note":"contract probed; only the wechat source was run live (see the wechat entry); the multi-source command was not run"},"recommendedFor":["WeChat discovery, author work lists and media text"],"notFor":["assuming zero-config for every platform","private or logged-in sources (use their own CLI)"],"provider":"omnireach","platform":"omnireach"},
  {"id":"opencli-tieba","label":"OpenCLI Tieba (贴吧)","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run tieba","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, read"],"notFor":[]},
  {"id":"opencli-hupu","label":"OpenCLI Hupu (虎扑)","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run hupu","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, detail"],"notFor":[]},
  {"id":"opencli-zhihu","label":"OpenCLI Zhihu (知乎)","kind":"cli","operations":["search","read","comments"],"languages":["zh"],"regions":["cn"],"profiles":["experience","general"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run zhihu","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, question, answer-detail, answer-comments"],"notFor":[]},
  {"id":"opencli-weibo","label":"OpenCLI Weibo (微博)","kind":"cli","operations":["search","read","comments"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run weibo","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, user-posts, comments"],"notFor":[]},
  {"id":"opencli-xueqiu","label":"OpenCLI Xueqiu (雪球)","kind":"cli","operations":["search","read","comments"],"languages":["zh"],"regions":["cn"],"profiles":["experience","news_fact"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run xueqiu","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, stock, comments"],"notFor":[]},
  {"id":"opencli-douban","label":"OpenCLI Douban (豆瓣)","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run douban","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, subject, reviews"],"notFor":[]},
  {"id":"opencli-weread","label":"OpenCLI WeRead (微信读书)","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run weread","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, book, notes"],"notFor":[]},
  {"id":"opencli-weixin","label":"OpenCLI WeChat articles","kind":"cli","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["news_fact","experience","general"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run weixin","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search"],"notFor":[]},
  {"id":"opencli-bilibili","label":"OpenCLI Bilibili","kind":"cli","operations":["search","read","transcript","comments"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["video"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run bilibili","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, video, subtitle, comments"],"notFor":[]},
  {"id":"opencli-baidu-scholar","label":"OpenCLI Baidu Scholar (百度学术)","kind":"cli","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["academic"],"resultKinds":["paper"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run baidu-scholar","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search"],"notFor":[]},
  {"id":"opencli-google-scholar","label":"OpenCLI Google Scholar","kind":"cli","operations":["search","read"],"languages":["en"],"regions":["global"],"profiles":["academic"],"resultKinds":["paper"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run google-scholar","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, cite, profile"],"notFor":["unattended use: Scholar blocks automated queries"]},
  {"id":"opencli-semantic-scholar","label":"OpenCLI Semantic Scholar (OpenCLI)","kind":"cli","operations":["search","read"],"languages":["en"],"regions":["global"],"profiles":["academic"],"resultKinds":["paper"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run semantic-scholar","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, paper, citations, recommendations"],"notFor":["prefer the keyless semanticscholar engine"]},
  {"id":"opencli-cnki","label":"OpenCLI CNKI (知网)","kind":"cli","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["academic"],"resultKinds":["paper"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run cnki","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search"],"notFor":[]},
  {"id":"opencli-boss","label":"OpenCLI BOSS Zhipin","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":[],"resultKinds":["listing"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run boss","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, detail"],"notFor":["evidence-style research: job listings only"]},
  {"id":"opencli-51job","label":"OpenCLI 51job","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":[],"resultKinds":["listing"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run 51job","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, detail, company"],"notFor":["evidence-style research: job listings only"]},
  {"id":"opencli-taobao","label":"OpenCLI Taobao","kind":"cli","operations":["search","read","comments"],"languages":["zh"],"regions":["cn"],"profiles":["compare"],"resultKinds":["listing"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run taobao","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, detail, reviews"],"notFor":["reliable product facts: seller-written listings"]},
  {"id":"opencli-1688","label":"OpenCLI 1688","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":["compare"],"resultKinds":["listing"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run 1688","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: search, item, store"],"notFor":["reliable product facts: seller-written listings"]},
  {"id":"opencli-douyin","label":"OpenCLI Douyin (抖音)","kind":"cli","operations":["read"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run douyin","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: author, video, works (no `search`)"],"notFor":["keyword search: the adapter index lists no `search` command for Douyin"]},
  {"id":"opencli-xiaoyuzhou","label":"OpenCLI Xiaoyuzhou (小宇宙)","kind":"cli","operations":["read","transcript"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["audio"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run xiaoyuzhou","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: podcast, episode, transcript (no `search`)"],"notFor":["keyword search: no `search` command listed"]},
  {"id":"opencli-toutiao","label":"OpenCLI Toutiao (头条)","kind":"cli","operations":["read","trending"],"languages":["zh"],"regions":["cn"],"profiles":["news_fact"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run toutiao","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: articles, hot, recommend (no `search`)"],"notFor":["keyword search: no `search` command listed"]},
  {"id":"opencli-v2ex","label":"OpenCLI V2EX (OpenCLI)","kind":"cli","operations":["read","trending"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["forum"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run v2ex","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: hot, latest, topic (no `search`)"],"notFor":["keyword search through OpenCLI: use the built-in v2ex engine"]},
  {"id":"opencli-quark","label":"OpenCLI Quark (夸克)","kind":"cli","operations":["read"],"languages":["zh"],"regions":["cn"],"profiles":[],"resultKinds":["files"],"auth":"login","costTier":"free-quota","requires":{"browser":true},"rank":70,"invoke":"dsh-browser: browser_opencli_catalog, then browser_opencli_run quark","install":"Bundled with the dsh-browser plugin; needs its browser bridge and, for most sites, a logged-in session (browser_opencli_catalog lists the real commands).","license":"Apache-2.0 (OpenCLI)","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI/blob/main/docs/adapters/index.md","verification":{"status":"unverified","note":"commands from the OpenCLI adapter index (2026-09-30 research); verify against the installed version"},"recommendedFor":["commands: cloud-drive operations"],"notFor":["web or content search: a cloud-drive adapter"]},
  {"id":"wechat","label":"WeChat official accounts (公众号): OmniReach, wx-search-cli","kind":"cli","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"anonymous","costTier":"anonymous","provider":"wechat","platform":"wechat","rank":70,"install":"Default chain: omnireach (uv tool install from Daily-AC/omnireach; `--on wechat`, Sogou, no key), then wx-search-cli (npm i -g wx-search-cli).","license":"MIT (OmniReach, wx-search-cli)","cost":"free; Sogou rate limits and captchas apply","url":"https://github.com/Daily-AC/omnireach","verification":{"status":"verified","date":"2026-10-06","version":"0.19.0-alpha","note":"omnireach search --on wechat --json returned parsed WeChat articles; wx-search-cli is docs-only"},"recommendedFor":["WeChat official-account articles on Chinese policy, industry and product topics"],"notFor":["stable unattended use: Sogou captchas make real_url empty","non-WeChat sources"]},
  {"id":"xhs","label":"xhs (xiaohongshu-cli)","kind":"cli","operations":["search","read","comments"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"cli":"xhs"},"rank":60,"install":"uv tool install xiaohongshu-cli; run `xhs login` yourself (it reads your browser cookies). The plugin only runs `xhs search` and only with a saved login.","license":"see the upstream repository","cost":"free (your account)","url":"https://github.com/jackwener/xiaohongshu-cli","verification":{"status":"unverified","date":"2026-10-06","version":"0.6.4","note":"contract-only: help probed; output shape from the installed source; no search run"},"recommendedFor":["Chinese lifestyle and product experience notes"],"notFor":["write commands (post, like, comment, follow) are never run","use without a saved login"],"invoke":"search.run platform=xiaohongshu (a backend of its chain; set it first in platformBackends to prefer it)"},
  {"id":"zhihu-cli","label":"zhihu-cli (pyzhihu-cli)","kind":"cli","operations":["search","read"],"languages":["zh"],"regions":["cn"],"profiles":["experience","compare"],"resultKinds":["qa"],"auth":"login","costTier":"free-quota","requires":{"cli":"zhihu"},"rank":60,"install":"uv tool install pyzhihu-cli (the command is `zhihu`); run `zhihu login` yourself. Not the Access-Secret zhihu-cli of dawnswwwww.","license":"see the upstream repository","cost":"free (your account)","url":"https://github.com/BAIGUANGMEI/zhihu-cli","verification":{"status":"unverified","date":"2026-10-06","version":"0.2.4","note":"contract-only: help probed; output shape from the installed source; no search run"},"recommendedFor":["Chinese Q&A and long-form answers"],"notFor":["publishing commands (ask, article, pin, vote) are never run","use without a saved login"],"invoke":"search.run platform=zhihu (a backend of its chain; set it first in platformBackends to prefer it)"},
  {"id":"rdt","label":"rdt (rdt-cli)","kind":"cli","operations":["search","read"],"languages":["en"],"regions":["global"],"profiles":["experience"],"resultKinds":["social"],"auth":"login","costTier":"free-quota","requires":{"cli":"rdt"},"rank":60,"install":"uv tool install git+https://github.com/public-clis/rdt-cli; run `rdt login` yourself (it extracts browser cookies). The plugin only runs `rdt search` and only with a saved login.","license":"see the upstream repository","cost":"free (your account)","verification":{"status":"unverified","date":"2026-10-06","version":"0.4.2","note":"contract-only: help probed; --compact --json shape from the installed source; no search run"},"recommendedFor":["English community experience threads"],"notFor":["write commands (comment, upvote, save, subscribe) are never run","use without a saved login"],"invoke":"search.run platform=reddit (a backend of its chain; set it first in platformBackends to prefer it)"},
  {"id":"opencli","label":"OpenCLI (standalone)","kind":"cli","operations":["search"],"languages":["*"],"regions":["global","cn"],"profiles":["experience","general"],"resultKinds":["social","web"],"auth":"login","costTier":"free-quota","requires":{"cli":"opencli"},"rank":65,"install":"npm i -g @jackwener/opencli plus its Browser Bridge extension in your own Chrome (independent of dsh-browser). Used per site, only where `opencli list` shows a read `search` command.","license":"Apache-2.0","cost":"free (your account)","url":"https://github.com/jackwener/OpenCLI","verification":{"status":"unverified","date":"2026-10-06","version":"1.8.8","note":"contract-only: `opencli list -f json` command table read; -f json is the documented output option; no site search run"},"recommendedFor":["sites the table lists with a read search command: xiaohongshu, reddit, twitter, zhihu, weixin, hackernews, ..."],"notFor":["sites without a search command (douyin, v2ex, xiaoyuzhou, toutiao)","write commands (login, post, like, ...) are never run"]},
  {"id":"gh","label":"GitHub CLI (gh)","kind":"cli","operations":["search"],"languages":["*"],"regions":["global"],"profiles":["docs_code","compare"],"resultKinds":["code"],"auth":"login","costTier":"free-quota","requires":{"cli":"gh"},"rank":55,"install":"brew install gh (or winget install GitHub.cli); run `gh auth login` yourself. Fallback backend of github, github-issues and github-code.","license":"MIT","cost":"free within GitHub API limits","url":"https://cli.github.com","verification":{"status":"verified","date":"2026-10-06","version":"2.101.0","note":"gh search repos --json … parsed live; issues and code searches follow the documented JSON fields"},"recommendedFor":["repositories, issues and code with your own GitHub login"],"notFor":["use without gh auth login"],"invoke":"search.run platform=github (a backend of its chain; set it first in platformBackends to prefer it)"},
  {"id":"tanso","label":"Tanso (Bocha / Zhihu API CLI)","kind":"cli","operations":["search"],"languages":["zh"],"regions":["cn"],"profiles":["news_fact","general"],"resultKinds":["web"],"auth":"key","costTier":"paid","keyEnv":["BOCHA_API_KEY","ZHIHU_ACCESS_SECRET"],"requires":{"cli":"tanso"},"provider":"tanso","platform":"tanso","rank":80,"install":"npm i -g @geekjourneyx/tanso, then `tanso config init` and put your own keys in its config. search.run platform=tanso runs only the bocha_web and zhihu_search sources.","license":"MIT","cost":"paid: your own Bocha / Zhihu keys, billed by those providers (no free allowance confirmed for this route)","url":"https://github.com/geekjourneyx/tanso","verification":{"status":"unverified","date":"2026-10-06","version":"2.0.2","note":"docs-only: contract from the upstream README; not installed or run"},"recommendedFor":["an API-contract reference for Bocha and Zhihu from the command line"],"notFor":["use instead of the built-in Bocha provider when you only need Bocha","the Volcengine answer source (never selected)"]},
  {"id":"douyin-cli","label":"douyin-cli (tamnd)","kind":"cli","operations":["search","trending"],"languages":["zh"],"regions":["cn"],"profiles":["experience"],"resultKinds":["video"],"auth":"anonymous","costTier":"anonymous","requires":{"cli":"douyin"},"rank":90,"install":"brew install tamnd/tap/douyin or go install github.com/tamnd/douyin-cli/cmd/douyin@latest. Catalog only: no adapter, because the README does not document the search record fields.","license":"Apache-2.0","cost":"free","url":"https://github.com/tamnd/douyin-cli","verification":{"status":"unverified","date":"2026-10-06","version":"0.1.1","note":"docs-only: README read; output record fields undocumented, so no adapter spec was written"},"recommendedFor":["the open hot-search board (douyin hot)"],"notFor":["search from a datacenter or non-China IP: the README says it exits with code 4 behind the anti-bot wall","assuming a stable login-free search"]}
 ]
}
