Introduction¶
DeepSeek Harness (DSH) deconstructs agent capabilities into composable plugins, adhering to the core philosophy of “everything is a plugin.” When building an Agent with DSH capable of fetching resources or reading web pages, you often need to separately integrate search APIs, configure an MCP Server, or have the model learn a new set of tool names. The community plugin directory (e.g., SkillHub Plugin Hub) is maintained by the community and has no official affiliation with DeepSeek / High-Flyer, but it helps developers quickly discover available extensions.
@anysearch/anysearch-dsh is a networking tool plugin maintained by the anysearch-team, having garnered approximately 247 Stars on GitHub (MIT License). It integrates AnySearch into DSH: after installation, DSH’s built-in web_search and web_fetch tools will route through the AnySearch backend, while also providing advanced capabilities such as vertical search and batch concurrency. This article cross-references the plugin directory page and the GitHub repository README with the Chinese usage guide to introduce its positioning, installation, and typical usage.
What is This¶
@anysearch/anysearch-dsh (npm package name, repository anysearch-team/anysearch-dsh) is AnySearch’s official Web plugin for DeepSeek Harness. AnySearch itself is a search infrastructure designed for AI Agents, covering public web pages as well as vertical data sources like code, finance, academia, law, and security.
The plugin’s core idea is “don’t change the tool name”: the Agent still calls DSH’s native web_search for real-time web searches and web_fetch to fetch and clean specified URL content, with the underlying requests handled by AnySearch. Additionally, it mounts three advanced tools: anysearch_capabilities, anysearch_search, and anysearch_batch_search, used for discovering searchable domains, performing structured searches with parameters, and conducting 1–5 concurrent batch searches.
Core Features & Highlights¶
According to the official documentation, the current version primarily offers the following capabilities:
- Native Web Search: Calls AnySearch via
web_search, returning titles, URLs, and snippets for easy model citation. - Webpage Content Fetching: Calls AnySearch Extract via
web_fetch, fetching and cleaning public HTTP(S) URLs into readable content (Markdown/Text), avoiding repeated HTML conversion by the Harness. - Dynamic Capability Discovery:
anysearch_capabilitiesretrieves searchable domains, tags, and parameter definitions in real-time, so the model doesn’t have to guesstagor parameter names. - Vertical & Structured Search:
anysearch_searchsupports parameters liketag,params,zone, andlanguage, suitable for professional scenarios like financial data or CVE searches. - Batch Concurrent Search:
anysearch_batch_searchsubmits 1–5 independent queries in one go, executing them concurrently. Failure of one item does not affect other results, and output maintains input order. - No Key Required for Quick Start: Without an API Key configured, AnySearch’s anonymous quota is available; after registering an account and configuring a Key, the official documentation states that 1000 free search calls per day are provided.
- Hot Credential Update: After writing the API Key to DSH’s managed credentials file, the next request automatically parses the new value without restarting the process (environment variables have higher priority; modifying them requires restarting DSH).
The mapping between the tools and Harness built-in interfaces is as follows:
| Use Case | Harness Tool |
|---|---|
| General web search | web_search |
| Fetch and clean specified URL | web_fetch |
| Discover available domains and tags | anysearch_capabilities |
| Vertical or parameterized search | anysearch_search |
| 1–5 concurrent batch searches | anysearch_batch_search |
Environment Requirements¶
Before installation, please confirm that your local environment meets the following conditions (extracted from the official README):
- Node.js
22.19or higher, or Node.js24+; - pnpm
11.7(DSH’spluginsubcommand manages profile dependencies via pnpm, sopnpmmust be available inPATH); - Ability to run DeepSeek Harness via
npx; - Network access to
https://api.anysearch.com.
DeepSeek Harness is currently still in a development preview stage. If there are breaking changes upstream, the plugin may need to be updated accordingly.
Installation & Enabling¶
Install the plugin into DSH’s web profile (the following command comes from the official GitHub README and is consistent with the npm package @anysearch/anysearch-dsh):
npx -y @deepseek-ai/dsh plugin --profile web add @anysearch/anysearch-dsh
After installation, start DeepSeek Harness:
npx -y @deepseek-ai/dsh web
The plugin will automatically set AnySearch as the search and fetch provider for the web profile and enable the native web_fetch. You can verify the final configuration is effective with the following command:
npx -y @deepseek-ai/dsh --profile web --dump-config
The configuration should show searchProvider: anysearch, fetchProvider: anysearch, and the plugin entry name: '@anysearch/anysearch-dsh'.
If you need to pin to a specific Git commit, you can specify the source in the profile configuration according to DSH conventions; for daily installation, the above npm package method is sufficient.
Updating and Uninstalling:
npx -y @deepseek-ai/dsh plugin --profile web update @anysearch/anysearch-dsh
npx -y @deepseek-ai/dsh plugin --profile web remove @anysearch/anysearch-dsh
Configuring the API Key (Optional)¶
Quick starts do not require a Key; requests will use AnySearch’s anonymous quota. For continuous use or when account-level quotas are needed, it is recommended to register at anysearch.com and create a key on the API Keys page.
Write the Key to DSH’s managed credentials file (default ~/.dsh/.credentials.yaml, or $DSH_HOME/.credentials.yaml if DSH_HOME is set):
ANYSEARCH_API_KEY: "as_sk_your_key"
Please replace as_sk_your_key with your actual Key; if the placeholder is retained, the plugin will refuse to send requests. It can also be provided via startup environment variables (which have higher priority than the credentials file and require restarting the DSH process after modification):
export ANYSEARCH_API_KEY="as_sk_your_key"
npx -y @deepseek-ai/dsh --profile web
Note: The DSH Web settings page currently does not automatically generate an AnySearch Key input field for third-party providers; please use the credentials file or environment variables. The --dump-config output should only show apiKeyEnv: ANYSEARCH_API_KEY and should not leak the actual Key.
If you need to customize the API address or the content rendering limit, you can override the bundled entry in the profile user configuration layer (keeping id: web-search-anysearch unchanged):
- id: web-search-anysearch
config:
apiKeyEnv: ANYSEARCH_API_KEY
baseURL: https://api.anysearch.com
maxRenderedContentChars: 12000
Typical Usage Examples¶
After installation, simply ask questions to DSH as usual. General web queries will use web_search; when you need to read the content of a specific URL, use web_fetch.
Example of a General Search (directly ask the Agent):
Search for the recent release changes of DeepSeek Harness, and include source links.
Find important news about open-source Agent Harness today, comparing three sources.
Example of Vertical / Structured Search:
Query the latest quotes for AAPL. First obtain the capabilities of the finance domain, then search using the correct tag and parameters.
Retrieve recent CVEs, and retain AnySearch's request ID and search duration.
Example of Batch Search:
Search for the latest versions of three open-source Agent Harnesses separately, retaining each request ID. Use batch search.
When professional data is needed, the Agent should first call anysearch_capabilities to get real-time tags and parameters, then call anysearch_search; multiple independent queries can be handed over to anysearch_batch_search (up to five items, executed concurrently).
Applicable Scenarios & Notes¶
Who is it suitable for:
- Developers who are already developing Agents on DSH’s
webprofile, seeking to quickly obtain stable networking capabilities without changing the model-side tool protocol; - Scenarios requiring not just public web search but also financial, academic, security, and other vertical data sources;
- Those hoping for batch concurrent search while retaining request IDs and duration metadata for tracing and debugging.
Please note before use:
- The plugin runs with the permissions of the current DSH process. Before installation, please read the GitHub source code and MIT License to confirm its behavior aligns with your security policy; do not write real API Keys into Git repositories, screenshots, or logs.
- Anonymous quota is rate-limited. Anonymous mode is suitable for trials; for production or high-frequency calls, it is recommended to configure an API Key.
- The Harness is still in preview. Stay updated on DSH and plugin version changes, and run
plugin updatewhen necessary. - Network and quota issues. If you encounter
WEB_PROVIDER_ERROR, check in order: thebaseURL, connectivity toapi.anysearch.com, Key validity, and whether the account/anonymous quota is exhausted. - Content display has limits.
web_searchonly returns titles, URLs, and snippets to the model; full content must be displayed viaweb_fetchor advanced tools withincludeContent: true, subject to character limits.
Conclusion¶
The value of @anysearch/anysearch-dsh lies in integrating AnySearch’s real-time search, webpage cleaning, vertical retrieval, and batch concurrency capabilities into DSH without altering the native web_search / web_fetch call methods of the Harness. It allows for quick starts without a Key, and credentials can be configured when higher quotas are needed.
- Plugin directory page: https://www.skillhub.cn/plugins/anysearch-team/anysearch-dsh
- GitHub repository: https://github.com/anysearch-team/anysearch-dsh
- AnySearch official website: https://anysearch.com