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:

  1. Native Web Search: Calls AnySearch via web_search, returning titles, URLs, and snippets for easy model citation.
  2. 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.
  3. Dynamic Capability Discovery: anysearch_capabilities retrieves searchable domains, tags, and parameter definitions in real-time, so the model doesn’t have to guess tag or parameter names.
  4. Vertical & Structured Search: anysearch_search supports parameters like tag, params, zone, and language, suitable for professional scenarios like financial data or CVE searches.
  5. Batch Concurrent Search: anysearch_batch_search submits 1–5 independent queries in one go, executing them concurrently. Failure of one item does not affect other results, and output maintains input order.
  6. 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.
  7. 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.19 or higher, or Node.js 24+;
  • pnpm 11.7 (DSH’s plugin subcommand manages profile dependencies via pnpm, so pnpm must be available in PATH);
  • 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 web profile, 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:

  1. 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.
  2. 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.
  3. The Harness is still in preview. Stay updated on DSH and plugin version changes, and run plugin update when necessary.
  4. Network and quota issues. If you encounter WEB_PROVIDER_ERROR, check in order: the baseURL, connectivity to api.anysearch.com, Key validity, and whether the account/anonymous quota is exhausted.
  5. Content display has limits. web_search only returns titles, URLs, and snippets to the model; full content must be displayed via web_fetch or advanced tools with includeContent: 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.