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:

  1. Open Settings -> Plugins -> @wenqi_bian/dsh-web-search-anysearch.
  2. Use the toggle to select AnySearch or official DeepSeek search.
  3. Save the settings. The next web_search call 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_KEY must 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.com or 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.