Introduction

When building agent applications, this situation often arises: a user provides a link, hoping the model can read the page content directly and provide a summary. However, if the Host side doesn’t register the corresponding tool, the model can only answer based on pre-trained knowledge, or you have to manually paste the body text into the conversation, which is both cumbersome and unreliable.

dsh-web-summary is a Host tool plugin written for DeepSeek Harness (DSH) that solves this problem: after installation, it registers a tool named fetch_page_summary with the agent, fetching the specified public webpage via HTTPS and returning a plain text summary of the title and visible content to the model. Below is an introduction to its features, installation methods, and typical usage.

What is this?

dsh-web-summary is maintained by lavenleo, the code is open-sourced on GitHub, and the license is MIT (indicated in both README and package.json). In one sentence: it is a DSH Host tool plugin that fetches public webpages and returns a plain text summary of the <title> and visible content to the agent.

The current version is 0.1.0, requiring Node >= 22; @deepseek-ai/cordis ^4.0.1 is an optional peer dependency. The entire plugin is pure ESM JavaScript with no build steps.

Core Features

According to the README, the plugin does only one thing: register a tool fetch_page_summary that the model can call. The specific behavior is as follows:

  1. Accepts a https:// URL, as well as an optional maxChars limit (default 4000);
  2. Returns four fields: { url, title, summary, truncated }. The body text has been stripped of scripts, styles, and markup, keeping only the visible text;
  3. Only accepts https:// URLs for public webpages.

The implementation is pure ESM JavaScript, no build steps required; it works directly with both Git and npm installations.

Installation and Activation

The installation command given in the README is:

dsh plugin --profile <profile> add github:<owner>/dsh-web-summary

Replace <profile> with your profile name. You can also install from npm without concatenating the repository path:

dsh plugin --profile <profile> add dsh-web-summary

After installation, you need to restart the profile for the tool to appear in the agent’s list of callable tools as fetch_page_summary.

Regarding the environment: Node version must be >= 22; if @deepseek-ai/cordis ^4.0.1 exists in the environment, it will be used as a peer dependency, but its absence does not affect functionality (it is optional).

Typical Usage

The example given in the README is quite straightforward. Ask the agent:

Summarize https://example.com

The agent will call fetch_page_summary, receiving the page’s title and up to maxChars (default 4000) characters of visible text. The truncated field will indicate whether the body text was truncated, allowing the model to judge the completeness of the summary based on this.

Suitable Scenarios and Notes

Suitable scenarios: need the agent to quickly read a public webpage and extract the title and main points of the body, such as summarizing an article or verifying page content; or don’t want to write scraping and cleaning logic yourself and wish to have a ready-made tool available.

A few notes:

  1. The plugin only accepts https:// URLs for public webpages; internal pages and HTTP links are not within the supported scope.
  2. The default 4000-character limit might not be enough for long-form content; use maxChars to adjust when longer content is needed.
  3. The plugin runs with the permissions of the current dsh process; it is recommended to check the source code and license before installation. The source code for this plugin is pure ESM JavaScript with no build steps, making it easy to read through; the README also provides a development self-check command to verify that the file can be parsed as ESM and exports a Cordis plugin:
node --check lib/index.js

The license is MIT, allowing for free viewing, use, and modification.

Summary

dsh-web-summary is single-purpose and restrained in implementation: one tool, one default limit, four return fields, covering the high-frequency small need of “letting the model read a public webpage,” and aligning with the DSH philosophy of “everything is a plugin”—install a small plugin to fill in missing capabilities.

The plugin page is listed in the community directory SkillHub (an independent site with no official affiliation with DeepSeek / Quanta): https://www.skillhub.cn/plugins/lavenleo/dsh-web-summary ; the source code repository: https://github.com/lavenleo/dsh-web-summary .