2672243194/dsh-read-url
dsh-read-url
dsh-read-url is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add github:2672243194/dsh-read-urlRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-read-url)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from 2672243194/dsh-read-url, cleaned of badges and images.
dsh-read-url
π English | δΈζ
URL reader plugin for DeepSeek Harness: fetch any URL β webpages (HTML), JSON APIs, RSS/Atom feeds β auto-detect encoding (UTF-16 BOM / GBK/GB2312 / UTF-8 / Big5 / Shift-JIS), extract the clean main content (auto-joining paginated articles), and return token-efficient compact text or structured Markdown.
Zero runtime dependencies (Node 20+ built-ins handle fetch/decode/extract), no API key, no server side β install and use.
Supported content
- HTML technical documentation, forums, nested articles and custom elements, with visible code examples and metadata preserved.
- Plain text, Markdown, CSV, JSON and vendor
+jsonAPIs. - RSS 1.0/2.0 and Atom, including namespace prefixes, relative article links and
xml:base. - UTF-16 BOM text without a Content-Type header.
Continue at charsStart + charsReturned; the returned charsStart may exceed the requested offset when paragraph separators are skipped. Markdown tables convert at most the first 25 rows and report omitted rows.
Why
This plugin keeps URL-reading output compact: cleaned body + essential metadata from HTML, paragraph-aligned truncation, continuation and a session cache. It also preserves plain text or Markdown returned by the configured DSH provider. DSH 0.2.1-rc.2 includes a DeepSeek Fetch API provider, so available source content and metadata depend on the selected provider.
Competitor comparison (measured from source/docs, 2026-08-15)
This is a historical snapshot; it does not describe the newer DeepSeek Fetch API provider.
| Capability | Official tool-web web_fetch | dsh-webfetch | dsh-scrape-webpage | dsh-read-url |
|---|---|---|---|---|
| Body cleaning (container-level) | β whole page | β οΈ tag-level, nav/footer leak in | β οΈ custom, noisy | β article/main containers + noise stripping |
| Default output cap | 200,000 chars | 50,000 chars | 30,000 chars | 6,000 chars + paragraph-aligned truncation |
| Chinese GBK/GB2312 | provider-dependent | β οΈ not normalized, GB2312 garbles | β not handled | β normalized + mojibake fallback + UTF-16 BOM + Shift-JIS |
| JSON / RSS / Atom URLs | β HTML only | β | β | β native compact rendering |
| Paginated articles | β manual per-page calls | β | β | β auto-joined (default 3 pages) |
| Session-level cache | β | β | β | β 5-min TTL |
ctx.web seam | β (official core) | β global fetch | β | β seam-first, fallback included |
ctx.effect unload cleanup | β | β | β | β |
| Cooperative timeout (hidden from model) | β | β οΈ self-managed | β οΈ self-managed | β
timeoutMs + exec.signal |
| Model-facing output | whole-page Markdown | compact text | 15-field JSON | compact text (no JSON parsing) |
| Dependencies | official | TypeScript build | zero deps | zero deps (JS ESM, drop-in) |
| Anti-bot / degraded responses (UA & TLS fingerprint) | β οΈ Node default UA; measured: https intercepted by middlebox TLS fingerprinting, Baidu returns a degraded page without trending topics | β not disclosed | β not disclosed | β full browser UA; measured: full page fetched (Baidu trending topics intact) |
β¦
