DeepSeek Harness (DSH) adopts a plugin-based architecture. When an agent needs web search, page content fetching, or parsing non-text resources (such as videos, PDFs, or GitHub repositories), it requires tools with SSRF protection and flexible configuration. dsh-web-access is a port of pi-web-access and provides DSH with a unified web access layer.
Core Features¶
The plugin provides a set of tool functions to cover web access scenarios in DSH:
- Multi-provider search fallback: Supports 20+ search providers with fallback mechanisms and SSRF protection.
- Multi-format content fetching: Extracts pages, clones GitHub repositories, and processes PDFs, YouTube videos, and local videos.
- Content snippet lookup: Looks up stored search snippets via
get_search_content. - Source verification: Verifies the authenticity of specific claims via
source_check. - Official integration: Can serve as an optional
ctx.webprovider that overrides the officialweb_search/web_fetch; registers a Web UI overlay and official search/fetch cards.
Installation and Enabling¶
Run the following command in the command line to install the plugin:
dsh plugin --profile web add dsh-web-access
After installation, if the official @deepseek-ai/dsh-tool-web plugin already exists in the current profile, this plugin automatically registers as web_access_search to avoid function name conflicts. To override the official search, set replaceOfficialSearch: true in the configuration.
Configuration File¶
The plugin reads configuration files in the following priority order:
$DSH_WEB_ACCESS_DIR$PI_CODING_AGENT_DIR$DSH_HOME$XDG_CONFIG_HOME/dshor$XDG_CONFIG_HOME/pi~/.dshor~/.pi
The configuration file format supports web-access.json or the legacy web-search.json. The Exa, DuckDuckGo, and SearXNG backends are supported with zero configuration. To use additional backends, provide the corresponding API keys in the configuration.
Typical Usage¶
The following are examples of calling the tool functions provided by the plugin:
// 多提供方搜索
web_search({ query: "TypeScript 5.9 rewriteRelativeImportExtensions" })
web_search({ queries: ["query 1", "query 2"], workflow: "auto-summary" })
// 抓取内容(支持 GitHub、YouTube 等)
fetch_content({ url: "https://docs.example.com/guide" })
fetch_content({ url: "https://github.com/owner/repo" })
fetch_content({ url: "https://youtube.com/watch?v=abc", prompt: "What libraries are shown?" })
// 查找存储的搜索片段
get_search_content({ responseId: "abc123", urlIndex: 0 })
// 验证来源
source_check({ claim: "The API supports streaming responses" })
Use Cases and Notes¶
- Target users: Developers or agent developers who need to enhance the web capabilities of DeepSeek Harness.
- Dependency requirement: Requires Node.js version >= 20.
- Independence: This plugin is an independent project maintained by NexusAgentX and is not officially associated with DeepSeek AI.
- Security recommendation: The plugin runs with the permissions of the current DSH process. Before installation, it is recommended to review the source code and license (MIT).
Summary¶
dsh-web-access provides a complete web toolchain covering search, fetching, and content parsing. Multi-provider fallback and SSRF protection ensure flexibility. With its Web UI overlay, it can display search and fetch results intuitively.