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

dsh-web-fetch-enhanced

为DSH提供可切换连接方式的增强型网页获取服务。 适合需要灵活切换本地、官方或第三方远程网页抓取服务的 DSH 用户。

包名
dsh-web-fetch-enhanced
兼容性
待验证
Harness 依赖范围
>=0.2.1-rc.2 <0.3.0-0
Cordis 依赖范围
~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.