Introduction¶
The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When an agent needs web capabilities, it usually requires additional implementation. The lemoncat7/dsh-web-search plugin provides native web tools for DSH, addressing developers’ need to uniformly manage search backends and web fetching workflows.
What is this¶
This is a plugin that provides configurable and secure multi-provider web capabilities for DeepSeek Harness. It injects native web_search and web_fetch tools into DSH, while also providing a restricted web_source tool for validating raw HTML data.
It is maintained by lemoncat7 and released under the MIT license. It allows administrators to choose a search provider while ensuring secure and controllable network access through plugin-scoped proxy and boundary controls.
Core features¶
The plugin mainly provides the following capabilities:
- Native tool injection: Provides native
web_searchandweb_fetchtools for DSH. - Multi-provider support: Supports SearXNG, Wikipedia, Tavily, Brave Search, and Gemini Grounded Search.
- Data validation tool: Provides the
web_sourcetool for validating raw HTML markup or script-embedded data. - Security restrictions:
- Search JSON and fetched text are capped at 2 MiB.
web_fetchonly accepts public HTTP(S) URLs without credentials and blocks loopback, private, and reserved destinations.- Redirects are limited to a maximum of 5.
web_sourcereturns at most 120,000 characters.- Binary response bodies are rejected.
- Credential management: API keys are resolved via DSH credential storage.
Installation and setup¶
In a DSH environment, install the plugin through the plugin manager:
dsh plugin --profile web add @lemoncat7/dsh-web-search
After installation, go to the DSH settings interface to configure it:
1. Open Settings.
2. Go to Plugins.
3. Select Plugin configuration.
4. Find the Web search option.
5. Select the desired provider and save.
Typical usage¶
Configuring local SearXNG¶
To use general web search, you can deploy SearXNG locally. Start the service using the provided deployment file:
docker compose -f deploy/searxng/compose.yml up -d
After starting it, you can test the connection with the following command:
curl -fsS -X POST http://127.0.0.1:8080/search -d 'q=DeepSeek&format='
Default plugin behavior¶
A newly installed plugin defaults to a keyless Chinese Wikipedia backend and can be verified directly. For broader web search, it is recommended to configure a SearXNG, Tavily, Brave, or Gemini provider.
Notes¶
- Environment dependency: The plugin depends on a Node.js environment and requires version
^22.19.0or>=24.0.0. - Host version: The current target host for this plugin is DSH
0.2.0-rc.2. - Network restrictions: The plugin is limited to public network access and does not support internal network access or command execution.
- Proxy settings: A global proxy can be set with the environment variable
DSH_WEB_SEARCH_PROXY, orDSH_WEB_SEARCH_NO_PROXYcan be used to specify hosts that should bypass the proxy.
Summary¶
lemoncat7/dsh-web-search provides DeepSeek Harness with a standardized web solution. Through multi-provider support and strict security restrictions, it balances functionality and security. Developers can directly use native web tools in DSH without maintaining complex network request logic.
For more details and source code, please refer to the GitHub repository.