Skip to main content

anysearch-dsh

162Stars6Forks0Issues1Watchers

Integrate AnySearch into DeepSeek Harness to provide real-time web search, vertical domain search, and concurrent batch search capabilities.

Evidence5/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
TypeScript
License
MIT
Branch
main
agent-toolsanysearchdeepseek-harnessdshdsh-plugintypescriptweb-search

Install

cmdweb profile
$ dsh plugin --profile web add @anysearch/anysearch-dsh

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin anysearch-team/anysearch-dsh for me: review the repository at https://github.com/anysearch-team/anysearch-dsh first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Pitch

Bring AnySearch's search capabilities as a plugin to DeepSeek Harness, enabling Harness's built-in web search to use AnySearch's real-time data source, while adding vertical domain search and concurrent batch search tools.

Core Capabilities

  • Replace Harness's built-in web_search with AnySearch as the data source, returning results with title, summary, and URL for easy citation
  • Provide anysearch_capabilities tool for models to discover searchable domains, vertical categories, and supported parameters in real-time
  • Provide anysearch_search tool supporting vertical search by tags, region, language and dynamic parameters, with optional cleaned content
  • Provide anysearch_batch_search tool for concurrent execution of 1-5 independent searches, where single failure doesn't affect other results
  • Use DSH managed credentials parsing API Key; credential rotation takes effect on next request without restarting DSH
  • Fall back to AnySearch anonymous quota when no API Key is present, enabling trial before registration

Technical Implementation

  • Language: TypeScript (ESM, type: module, sideEffects: false)
  • Key Dependencies: @deepseek-ai/cordis (Cordis plugin runtime), @deepseek-ai/dsh-tools (tool registration), @deepseek-ai/dsh-credentials (credentials parsing), @deepseek-ai/schemastery (configuration schema)
  • Architecture Pattern: Cordis plugin; cordis.patch.yml sets searchProvider to anysearch and registers web-search-anysearch entry; plugin apply() replaces default search Provider via ctx.web.registerSearchProvider and registers three advanced tools to ctx.tools
  • Entry File: src/index.ts (exports apply, Config, name = 'web-search-anysearch', inject = ['web', 'credentials', 'tools'])

Use Cases

Harness users want more real-time and professional search results without the model leaving Harness — for example, queries across vertical data sources like finance, academia, law, code, or running multiple independent search tasks in the same turn. This plugin挂载 AnySearch's search infrastructure into Harness's tool system; regular prompts continue using web_search, while professional searches are automatically handled by the advanced tools when needed.

Prerequisites and Compatibility

DependencyMinimum VersionDescription
DSH (cordis/credentials/tools/web)0.1.0-rc.6+ (cordis ≥4.0.1-rc.1 <5)From peerDependencies
Node.js^22.19.0 or >=24.0.0From engines.node
pnpm11.7.0+DSH plugin command relies on pnpm for profile management
PlatformmacOS / Windows / LinuxREADME states same install command for all three platforms
Native ModulesNonePure HTTP client, no node-pty, node:sqlite or other native dependencies

Installation

dsh plugin --profile web add github:anysearch-team/anysearch-dsh

Configuration Options

ConfigTypeDescriptionDefault
apiKeyEnvString (credential reference name)DSH credential reference; falls back to AnySearch anonymous quota on parse failureANYSEARCH_API_KEY
baseURLString (absolute URL)AnySearch API base address, must be http or https, cannot include user infohttps://api.anysearch.com
maxRenderedContentCharsInteger (≥1)Maximum cleaned content characters to show the model per advanced tool call12000

FAQ

Q: What does this plugin do?

A: It integrates AnySearch into DeepSeek Harness, making Harness's built-in web_search and three new tools all use AnySearch's real-time data source; regular web search, vertical search, and batch search share the same credentials.

Q: Is an API Key required?

A: No. For quick trials without an API Key, requests use AnySearch's anonymous quota. After registering an AnySearch account and writing to ~/.dsh/.credentials.yaml (key ANYSEARCH_API_KEY: "as_sk_xxx") or a same-named environment variable, you get 1000 free daily calls.

Q: What's the relationship with Harness's built-in web_search?

A: After installation, cordis.patch.yml sets web.searchProvider to anysearch; regular queries still go through Harness's web_search, but the underlying data source is switched to AnySearch; professional searches are handled by the new tools anysearch_search, anysearch_batch_search, anysearch_capabilities.

Q: How to uninstall?

A: Run dsh plugin --profile web remove @anysearch/anysearch-dsh; Harness will remove the AnySearch Provider and fall back to the built-in search Provider; use dsh plugin --profile web update @anysearch/anysearch-dsh for updates.

Q: Doesn't it support Windows / Linux / macOS?

A: All three platforms are supported with the same install command, but requires Node.js, npx, and pnpm to be in PATH.

Q: What to do when errors occur?

A: All plugin errors are categorized under AnySearchClientError, with diagnostic fields like request_id, httpStatus, retry-after; use dsh --profile web --dump-config to check combined configuration (credential values are not output). If upstream issues are suspected, contact AnySearch with the returned request_id for investigation.

Learning Curve

Beginner — one-click install command, works with default config, no manual YAML editing needed; configuration editing only required when custom API addresses or limits are needed.

Known Issues and Limitations

  • DeepSeek Harness is still in development preview and may release breaking changes (see README "Compatibility and limitations")
  • Currently no anysearch_extract tool provided; extracting full pages requires using AnySearch MCP
  • DSH settings page currently has no third-party Provider credential input field; API Key can only be configured via managed credentials file or environment variable
  • Single batch search supports max 5 independent requests (src/tools/batch.ts:16); single tool timeout is 60 seconds (src/limits.ts:2)

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/anysearch-team/anysearch-dsh)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory