name: smart-search-cli description: "CLI-first web research and source retrieval through the local smart-search command. Use when Codex needs current web search, source-backed fact checking, URL fetching, site mapping, official/API/documentation search, deep research, or reproducible search evidence via Skill + CLI instead of MCP tools or native web search."
Smart Search CLI
Use the local smart-search command as the default execution layer for web research. This entrypoint keeps only routing, boundaries, and reference selection; load the focused reference file when command details or provider contracts matter.
Default Workflow
- Run
smart-search doctor --format jsonwhen configuration or availability is uncertain. - If
doctorreports missing configuration, usesmart-search setuporsmart-search config set KEY VALUEwhen the user provides keys. Do not ask users to edit global environment variables by default. - If OpenAI-compatible
searchhangs or times out afterdoctorsucceeds, runsmart-search diagnose openai-compatible --format markdownand use its summary. - If
doctorreturnsok: true, use onlysmart-searchCLI subcommands for web research. Do not call Codex native web search in the same task. - Use
smart-search skills status --targets codex --format jsonwhen the installed global skill may be stale; usesmart-search skills update --targets codex --format jsonto refresh it without rerunning setup. - Use
smart-search smoke --mock --format jsonafter CLI/provider architecture changes. Use--liveonly when real keys are available and the user expects live checks. - Preserve command lines and source URLs in your answer. Prefer citing fetched pages or
primary_sources; treatextra_sourcesas follow-up candidates until fetched.
Routing
search: first hop for realtime, broad exploration, community signals, multi-source summaries, and routing metadata.route: explain capability routing without executing providers.research: live Deep Research executor for end-to-end plan, discovery, fetch/read, gap check, and evidence-only synthesis.deep: offline Deep Research planner; it does not run providers, fetch pages, or replace defaultsearch.zhipu-search: Chinese-language, domestic China, policy/regulatory, announcements, current news, or China-local source discovery.context7-library/context7-docs: library, SDK, API, framework, or documentation intent. Prefer Context7 before Exa for docs/API questions.exa-search: official domains, papers, product pages, trusted pages, date/domain-filtered low-noise discovery, and adjacent source discovery throughexa-similar.fetch: user-provided URLs or any claim that depends on page content.map: documentation site or domain structure before fetching many pages from one site.anysearch-*: explicit experimental vertical search only. Inspect domains first and do not use AnySearch as default fallback.model current: inspect explicit provider models only. Change models withsmart-search config set XAI_MODEL ...orsmart-search config set OPENAI_COMPATIBLE_MODEL ....
Key Boundaries
smart-searchshould resolve from the user's PATH.- Private API keys should be saved with
smart-search setuporsmart-search config set; environment variables remain supported for CI and advanced users. - In sandboxed runtimes, set
SMART_SEARCH_CONFIG_DIRto an absolute writable path when the default config directory is unavailable or must be pinned. - The standard minimum profile requires one configured provider in each of
main_search,docs_search, and fetch capability. Missing required capabilities are hard configuration failures. - Fallback must remain same-capability only. Do not use Context7 for broad news/web facts or page-extraction providers as documentation search replacements.
- xAI Responses and OpenAI-compatible are peer
main_searchproviders. Do not reuse one provider's URL/key to fabricate the other provider as fallback. - For current-news, policy, finance, health, and other high-risk facts, do not answer from broad
search.contentalone. Fetch key pages and summarize only what fetched text supports. - Native
web_searchis disabled in this CLI-first workflow unless the user explicitly configures another approved route; do not silently fall back to another web-search route.
References
- Command examples, evidence files, timeout retry policy, and guardrails:
references/command-patterns.md - Deep Research planner/executor workflow, plan fields, gap check, and smoke matrix:
references/deep-research-mode.md - CLI entrypoints, command signatures, aliases, output fields, exit codes, and tool policy:
references/cli-core.md - Setup, config storage, skill installation, provider endpoints, and OpenAI-compatible diagnostics:
references/setup-config.md - Intent routing, provider capabilities, source provenance, fallback boundaries, and routing maintenance:
references/provider-routing.md - Regression, packaged install checks, release lanes, and release closeout lessons:
references/regression-release.md - Compatibility reference map for older instructions that mention the original monolithic file:
references/cli-contract.md