Skip to content

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-webfetch

Copying 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.