Introduction¶
DeepSeek Harness (dsh) provides models with internet access through the web_search tool, while the backend is determined by the ctx.web interface. By default, search behavior may rely on built-in endpoints. The vincibeans/dsh-web-search-anysearch plugin registers a WebSearchProvider named anysearch for dsh. When this backend is selected, it calls POST https://api.anysearch.com/v1/search; when it is not selected, it delegates to the official DeepSeek search endpoint. The plugin allows users to switch between these two backends directly in dsh’s plugin settings card and supports management via environment variables or a YAML configuration file.
Installation¶
Use the official command to add the plugin to the web configuration file:
dsh plugin --profile web add @wenqi_bian/dsh-web-search-anysearch@alpha
After installation is complete, dsh web must be restarted, because the profile bundles and the browser-side are read at startup. If you need to inspect the configuration tree before restarting, you can use:
dsh --profile web --dump-config
Usage¶
After installation and restart, you can enable or switch the search backend in the following ways:
- Open Settings -> Plugins ->
@wenqi_bian/dsh-web-search-anysearch. - Use the toggle to select AnySearch or official DeepSeek search.
- Save the settings. The next
web_searchcall will use the selected backend, without requiring a process restart.
Other configuration methods¶
In addition to GUI operations, the following methods are supported:
* Environment variable: Set DSH_WEB_SEARCH_PROVIDER=anysearch before starting dsh.
* YAML patch: Configure searchProvider to anysearch in profiles/web/cordis.patch.yml.
AnySearch supports anonymous access. If you need to increase rate limits, you can enter an API key in the settings card, and it will be stored in the credentials domain; or you can manually configure it under the ANYSEARCH_API_KEY reference.
Configuration key details¶
The plugin provides the following configuration keys (defaults):
| Key | Control | Default | Description |
|---|---|---|---|
searchProvider |
Backend switch | anysearch |
Determines the backend for the next web_search call. It can be anysearch or deepseek-official. |
apiKeyEnv |
API key field | ANYSEARCH_API_KEY |
The reference name used to store the key in the card; it is resolved on each search. |
apiKey |
unset | The key manually written into configuration; it takes precedence over the environment variable reference. | |
baseURL |
Endpoint field | https://api.anysearch.com |
The base URL of AnySearch; /v1/search is appended automatically. |
The resolution order for the credentials domain is: $DSH_HOME/.credentials.yaml -> $DSH_HOME/.env -> inherited environment variables. If neither field is set, anonymous search is performed.
Limitations and notes¶
- Version requirement: dsh >= v0.1.5-alpha.1 is required.
- Search scope: Only general search is supported; vertical domains (such as
finance.quote) are not supported. - Official backend: When switching back to the official backend,
DEEPSEEK_API_KEYmust be configured or you must log in with a DeepSeek account (dsh 0.2.0 and later). - API key security: The API key field is write-only; stored keys are not displayed in the interface. To remove a key, it must be handled manually in the credentials store.
- Data trust: Queries are sent to
https://api.anysearch.comor the configured endpoint. Treat search results as untrusted external data. - GUI display: The plugin settings page is displayed only when the Web GUI is used with the combined browser-side and the bundle is included in the profile; in Headless configuration-file mode, the functionality is complete.