dsh-network: A DSH plugin that gives DeepSeek Harness internet access
naivg/dsh-network
Gives DeepSeek Harness seamless internet access: web_search, web_fetch and http_request replace the official tools, with PDF/Office/EPUB-to-Markdown parsing and server-side paging for oversized results.
dsh-network is a DSH plugin that gives DeepSeek Harness seamless internet access by taking over search and fetching with a long-lived loopback service. Once installed, the model can search the public web, retrieve a single URL, and have PDF, Office and EPUB documents parsed into clean Markdown instead of binary garbage. Oversized responses are cached server-side so the model pages through them with a cacheId plus offset / limit, and settings changes take effect without restarting the service.
How to Install
dsh plugin --profile web add github:naivg/dsh-network- Category
- Tools & Capabilities
- Platform
- DSH Plugin
- Author
- naivg
- Distribution
- Plugin
dsh-network Key Features
dsh-network Repo Summary
What Does It Do?
naivg/dsh-network is a DSH plugin for DeepSeek Harness that gives the harness seamless internet access. It replaces the official tool-web web_search / web_fetch with a long-lived loopback Node service, and parses PDF, Office and EPUB documents into Markdown for the model. Maintained by NaivG under the MIT license and written in TypeScript, it is not yet published to npm.
Core Features
- Web search: web_search returns citeable sources with title, snippet and date, plus a summary, a status flag, and uncertainty/warning arrays.
- Web fetch: web_fetch retrieves a single HTTP(S) URL and returns Markdown or the raw body with outgoing links and warnings; it recognises PDF, docx/pptx/xlsx, odt/odp/ods and EPUB and converts them to clean Markdown instead of binary garbage.
- Oversized-result paging: bodies larger than roughly 20 KB are cached server-side and returned as a preview plus a cacheId, which the model pages through with offset / limit without re-downloading.
- Low-level requests: http_request offers full method, header and body control and reuses the same cacheId paging path.
- Configuration access: web_config reads the live configuration or applies a partial patch once the user enables the "allow config edit" safety toggle; secrets are filtered from both read and write paths.
- Persistent server architecture: the host keeps exactly one local server child for its lifetime, learns the port from stdout, and snapshots live settings per call so engine order, timeouts and allowlists change without a restart.
How to Use This Plugin?
Once enabled in the DSH web profile, the model can call web_search, web_fetch and http_request directly for internet tasks with no extra setup. Search engines, timeouts, SSRF protection and other knobs are configurable under Settings → Network in the dsh web UI; to let the model edit configuration itself, the user must flip the "allow config edit" toggle under Settings → Network → Security, which is deliberately hidden from the model so a bad patch cannot lock out the write path. For very large pages, continue with the returned cacheId plus offset / limit to retrieve the rest.
How to Troubleshoot This Plugin?
If the server child fails to start, the failure is logged but not fatal and the next call respawns it; if dsh exits unexpectedly, the server shuts itself down on stdin end while the client attempts a graceful shutdown before forcing termination. When search reports degraded or unavailable, the current engine is unreachable — adjust the engine order or switch the search source under Settings → Network and retry.
This page is an independent rewrite of the plugin's official README — for authoritative documentation and the latest changes, refer to the source: naivg/dsh-network. The plugin is third-party code that runs on your machine once installed; inclusion does not imply endorsement — please review the source before installing.
