
TYEclipse/dsh-webfetch
30Last commit Aug 16, 2026
dsh-webfetch DSH plugin
dsh-webfetch provides two read-only tools (web_fetch and web_links) that allow agents to retrieve and parse web page content. It has zero runtime dependencies, using only Node built-ins and global fetch. The plugin is designed with safety in mind: no credentials sent, bounded size/time, and only http/https allowed.
How to install the dsh-webfetch DSH plugin
dsh plugin --profile web add github:TYEclipse/dsh-webfetchCopying does not run this command. Review the repository and version before installing the dsh-webfetch DSH plugin.
dsh-webfetch DSH plugin data source
dsh-webfetch DSH plugin snapshot date: Aug 16, 2026
discovered
What the dsh-webfetch DSH plugin can do
- Fetch a web page and extract clean Markdown or plain text, preserving headings, links, lists, and code fences.
- Optionally extract all links from the page (resolved, absolute, deduplicated) via the web_links tool.
- Configurable timeout, max bytes, max chars, max redirects, and user agent via plugin YAML configuration.
- Content-type gated: only text/html and text/plain responses are parsed; scripts, styles, comments are stripped.
- Charset-aware: honors Content-Type charset, falls back to <meta charset> sniffing, then UTF-8.
- Zero runtime dependencies: uses only Node.js built-ins and global fetch.
- No credentials ever: rejects URLs with embedded credentials, attaches no cookies or authorization headers.
- Bounded everything: hard timeout, redirect hop limit, response size cap, extracted-text cap (truncated flag).
Where the dsh-webfetch DSH plugin fits
- Agent reads the full content of a URL found in search results to answer user questions.
- Agent collects all links on a page to map site structure or crawl related pages.
- Agent extracts clean text from a news article or documentation page for summarization.
- Agent compares content of multiple pages fetched in parallel.
- Agent retrieves a page to verify information or extract specific details from a web source.
Who the dsh-webfetch DSH plugin is for
- Developers using DeepSeek Harness to build AI agents that need web reading capabilities.
- Power users who want their agents to browse and extract content from URLs autonomously.
dsh-webfetch DSH plugin limitations
- Only supports http/https URLs; file:, ftp:, javascript:, and others are rejected.
- Only parses text/html and text/plain responses; other content types (e.g., PDF, JSON) are ignored.
- Response size and extracted text are capped (default 1.5 MB and 50,000 chars); large pages may be truncated.
- No JavaScript rendering: pages that rely on JavaScript to load content may not be fully captured.
- Requires network access from the agent's environment; offline or internal URLs may not be reachable.
dsh-webfetch DSH plugin: from the repository README
Quoted from the TYEclipse/dsh-webfetch README, the upstream source of the dsh-webfetch DSH plugin. Copyright remains with the original authors.
> 为 DeepSeek Harness 智能体装上「阅读器」:给定 URL,抓取网页并提取干净的 Markdown / 纯文本正文,附带链接清单。零运行时依赖,只读,不发送任何凭证。 > [English](#english) | 中文简介 A web page reader plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`). `dsh` agents can search, but until now they could not *read the page behind a URL*. `dsh-webfetch` closes that gap with two read-only tools and **zero runtime dependencies** (Node built-ins + global `fetch` only). ## Tools ### `web_fetch` Fetch a web page and extract its readable content. | Parameter | Type | Default | Description | | ------------- | -------------------- | ---------- | -------------------------------------------------------------- | | `url` | string (required) | — | Full http/https URL of the page to fetch. | | `format` | `'markdown' \| 'text'` | `markdown` | Markdown keeps headings, links, lists and code fences; `text` is plain prose. | | `extractLinks`| boolean | `false` | Also return every link found on the page (resolved, absolute). | | `maxChars` | number | `50000` | Cap on extr
Read the full READMERepository license: MIT
dsh-webfetch DSH plugin questions
How do I install dsh-webfetch?
Run `dsh plugin --profile web add github:TYEclipse/dsh-webfetch` in your terminal. You can also pin a specific version like `dsh plugin --profile web add github:TYEclipse/dsh-webfetch#v0.1.0`. After installation, restart your agent session to make the tools available.
Can I configure the timeout or request size?
Yes, all settings are optional with sensible defaults. You can add a YAML configuration block under `plugins.dsh-webfetch` in your DSH profile. For example, set `timeoutMs: 20000`, `maxBytes: 3000000`, `maxChars: 100000`, `maxRedirects: 5`, and `userAgent: "MyAgent/1.0"`.
Does dsh-webfetch send any cookies or credentials?
No, the plugin is designed to be read-only and never sends credentials. URLs with embedded credentials are rejected, and no cookies or authorization headers are attached. It only fetches the page as a plain HTTP request.
What types of URLs are supported?
Only http and https URLs are accepted. Other protocols like file:, ftp:, javascript:, data:, etc. are rejected for security reasons. The plugin also rejects URLs that contain embedded credentials.
How can I get all links from a page?
Use the `web_links` tool by calling it with the desired URL. You can optionally set a `limit` parameter (1–200, default 50) to control the maximum number of links returned. The tool returns resolved, absolute, deduplicated links along with their visible labels.