Three things the page got wrong. The web-search provider's defaults lived only at their use site, so the served section carried no value for them and the card fell back to a zero it invented — a number the schema itself rejects. Declaring them on the schema makes the settings service the one authority: `maxUses` now reads 5 because that is what the Host resolves, not because the page guessed. `baseURL` keeps its code-side default, which exists so `$DEEPSEEK_SEARCH_BASE_URL` can win. A field the Host serves no value for now renders empty rather than as zero. The cards were rows in a settings page of cards: name and description ran together on one line because the shared disclosure row lays them side by side. Each card now draws its own header, stacking the two, and the section follows the idiom the Agent Preset page established.
web/ — web capability family
English | 中文
This family provides provider-neutral web search and fetch operations plus the model-facing tools that consume them.
| Package | Role | ctx key |
|---|---|---|
web/ |
Defines web provider registration, selection, and shared errors | ctx.web |
web-search-exa/ |
Provides web search through Exa | registers on ctx.web |
web-search-perplexity/ |
Provides web search through Perplexity | registers on ctx.web |
web-search-deepseek/ |
Provides native DeepSeek web search | registers on ctx.web |
web-fetch-local/ |
Fetches public HTTP and HTTPS resources | registers on ctx.web |
tool-web/ |
Exposes web search and fetch to the model | registers on ctx.tools |
The web capability decision records why search and fetch share one provider-selection service.
The subsystem reference — search/fetch requests and results, availability, WebError — is docs/subsystems/web.md; rationale (including deferred SSRF protection) in the web capability seam Agent Note.