Files
deepseek-harness/docs/subsystems/web.i18n.yaml
T
Yichen Jiang 103dac1b3c feat(web): gate web_fetch and the DeepSeek web APIs on readiness
The Web search switch selects the DeepSeek Search and Fetch APIs together,
and both reuse the DeepSeek chat key by default. Neither provider answered
readiness, so a step without a usable key was offered web_search and
web_fetch whose every call failed, and a conversation on another provider's
model or behind a gateway sent the chat key to DeepSeek.

dsh-web gives WebFetchProvider an optional ready(llmProvider) and adds
ctx.web.fetchReady(), which asks only the provider fetch() selects, as
searchReady() does for search. tool-web registers web_fetch with a step
activation condition on fetchReady(), so a step that cannot fetch leaves the
tool out of declarations, guidance, and PTC bindings and refuses a call to
it as UNKNOWN_TOOL; without web_fetch the search guidance uses its
search-only text. The shipped HTTP fetch provider has no ready() and stays
admitted.

web-deepseek-api applies the API-key rules of Messages search to both APIs:
without a literal apiKey, an apiKeyEnv other than DEEPSEEK_API_KEY, or a
baseURL other than the default, the chat key goes only to the DeepSeek
routes and only to an API base on the official chat route's origin. The
refusal sits in the key's only resolver, and both providers' ready()
answers presence in the order an operation resolves credentials. The
transport repeats these checks so the package still does not depend on
dsh-web-search-deepseek.
2026-10-22 12:10:21 +08:00

29 lines
942 B
YAML

# Bilingual-pair consistency record for web.md (docs/i18n/README.md): per heading
# section, a hash of its English and Chinese blocks outside code blocks and generated regions.
# After editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write docs/subsystems/web.md
/web-access:
en: 86d12e6e81fb63b8
zh: 52ed66dcacaf6d85
/web-access/why-one-capability-has-two-operations:
en: 380da3cd0aabd52b
zh: 1317c26089c3ab07
/web-access/search-request-and-result:
en: 1ad94deb713024e2
zh: 9d3df730fa99ad89
/web-access/fetch-request-and-result:
en: b96bcdf42ced9eab
zh: aa927e2450238557
/web-access/provider-availability:
en: 38515cfa348e0950
zh: 890b624c15d8aa41
/web-access/fetch-network-policy:
en: 6851874be5841d90
zh: dc085bf3b82d77df
/web-access/errors:
en: b07c04f462b4a0d9
zh: de5f09cd2fb0324c
/web-access/the-service:
en: c9e7dc85c08e64e1
zh: 277c52aac58f42dc