A user who gives DeepSeek search a key of its own has chosen what that key pays for, so the route check now applies only to the shared DEEPSEEK_API_KEY. A literal apiKey, or an apiKeyEnv other than DEEPSEEK_API_KEY, opens every model route for Messages search and for the Search and Fetch APIs; a configured endpoint does not, since the search still sends the shared key. The Web search settings page saves its key under the section's apiKeyEnv, DEEPSEEK_API_KEY by default, so a key saved there keeps serving only the DeepSeek routes. The route refusal now names the settings that give search a key of its own, and the READMEs, the readiness Agent Note, and the upgrade guide describe the exception.
description, kind
| description | kind |
|---|---|
| Package map for the web access capability family: the search/fetch service, its provider backends, and the model-facing tools that consume them. | package-group |
web/ — web access capability family
English | 中文
Summary
The web/ packages let models search the public web and fetch HTTP(S) pages through the web_search and web_fetch tools. Deployments can choose Exa, Perplexity, or DeepSeek for search and anonymous HTTP(S) or DeepSeek for fetch; availability and resource limits depend on the configured provider. Use this family for search and page retrieval, not interactive browsing, content extraction, or per-URL policy enforcement. Models receive consistent tool behavior, cancellation, and error reporting when providers change.
Table of Contents
Packages
Six packages play the web roles; the subsystem reference owns the exhaustive vocabulary and contracts.
| Package | Role | ctx key |
|---|---|---|
web/ |
Search/fetch service: search and fetch URLs through interchangeable backends, one selection and error policy | ctx.web |
web-search-exa/ |
Searches the web through Exa | registers on ctx.web |
web-search-perplexity/ |
Searches the web through Perplexity | registers on ctx.web |
web-search-deepseek/ |
Searches through DeepSeek Messages | registers on ctx.web |
web-deepseek-api/ |
Searches and fetches pages through the DeepSeek Search and Fetch APIs | registers on ctx.web |
web-fetch-http/ |
Fetches HTTP(S) pages anonymously | registers on ctx.web |
tool-web/ |
Exposes web_search and web_fetch to the model |
registers on ctx.tools |
Related documentation
Start with the subsystem reference for the shared vocabulary, then the design decision behind the single provider-selection service.
- Web subsystem — the search/fetch requests and results, provider availability,
WebError, and the fetch network policy. - Web capability seam decision — why search and fetch share one provider-selection service.
Dev Note
Working context for maintainers — click to expand
None.