Yurzi/dsh-tool-web-enhanced--packages-fetch-enhanced ↗★ 1

dsh-web-fetch-enhanced

web_fetch provider for DeepSeek Harness with switchable fetch connections: local fetching with optional private-network access, the DeepSeek Fetch API, or remote reading services (Exa, Firecrawl, Tavily, Tinyfish); installed through dsh-tool-web-enhanced-profile 适合需要灵活切换本地、官方或第三方远程网页抓取服务的 DSH 用户。

패키지
dsh-web-fetch-enhanced
호환성
미검증
Harness peer 범위
>=0.2.1-rc.2 <0.3.0-0
Cordis peer 범위
~4.0.5
버전
0.2.0
라이선스
MIT
최근 업데이트
2026. 10. 21.

같은 패키지 이름의 다른 저장소

설치

검증된 bundle이 없거나 호환성 검사에 실패했습니다. 먼저 저장소 설명을 읽어 주세요. 전체 README 읽기 ↗

dsh-web-fetch-enhanced

Fetch half of dsh-tool-web-enhanced-profile. Install the profile, not this package: the profile mounts this package as row web-fetch-enhanced and selects its provider in the shared web row.

Row idweb-fetch-enhanced
Provider id in ctx.webfetch-enhanced
Model surfaceDSH's own web_fetch (tool-web), unchanged
Per conversationone connection or Off, from the composer menu or /setup-fetch
Settingsrow settings page on the Plugins page (plugins.row.config)

What it does

Choose local or remote fetching per conversation from the composer menu or /setup-fetch; Off hides web_fetch from that conversation's Agent from the next model request step. The connections are builtin:local (the default: DSH's own HTTP(S) fetcher plus an operator allowlist for non-public addresses), DSH's DeepSeek Fetch API, Exa, Firecrawl, Tavily and Tinyfish, plus custom adapter connections such as a self-hosted endpoint.

  • Who controls access. Only local fetching applies the operator's address allowlist; an empty allowlist is exactly DSH's public-only fetch. Hostnames reached through a proxy are resolved by the proxy, so the allowlist cannot limit them. Remote services receive the URL as requested and own target access; the menu and settings page say which service receives it and what its terms say about caching and retention.
  • Credentials. Keys live in DSH Credentials; settings store only the reference name. Adapter API keys are validated before requests; the native DeepSeek Fetch API connection retains DSH's credential handling.
  • Results and errors. Remote bodies are text; without a status reported by the service a result is HTTP 200 for the requested URL. Errors are a short message of this plugin with a WEB_* code, optionally followed by the service's own explanation marked (untrusted); local fetching passes DSH's own errors through unchanged. Errors generated by the local connection itself (allowlist, DNS, cancellation, unexpected failures and rule validation) carry the dsh-web-fetch-enhanced: prefix. There is no retry and no fallback. This request's API key or account token is kept out of what the model sees (withheld from error text, replaced by [redacted] in successful responses), with one known gap; see known limitations.

See Functional design for connections, the local allowlist, remote results, settings and errors.

Upgrading from 0.1.x

Versions up to 0.1.x were a standalone bundle that took the native http seat. From 0.2.0 this package is a plain plugin of the profile bundle: remove the 0.1.x bundles, then install the profile. Upgrading this package alone removes its row.

0.1.x settings are not read or migrated. Calls fail with WEB_PROVIDER_CONFIGURED_UNAVAILABLE and a fixed message asking the user to repair the settings. Field diagnostics are available in the settings page and Host log. Press Restore default settings (Reset) on the settings page, or delete the fields by hand, then enter your allowlist again under builtin:local. Nothing is rewritten until you do. Details: upgrading from 0.1.x.

Architecture: docs/architecture.md.