Files
deepseek-harness/packages/web
Yichen Jiang a19aabc8ba feat(web): let a key of search's own serve other model routes
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.
2026-10-22 15:00:39 +08:00
..

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

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.