AnySearch-powered real-time web and vertical search provider for DeepSeek Harness.
Install
# from npm (prebuilt)
dsh plugin --profile web add @anysearch/anysearch-dsh
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:anysearch-team/anysearch-dsh
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
@anysearch/anysearch-dsh connects AnySearch to DeepSeek Harness as a plugin. Keep using Harness's native web_search and web_fetch while gaining real-time web search, cleaned URL content, vertical search, and concurrent batch search.
AnySearch is search infrastructure for AI agents, covering the public web and specialized data sources across code, finance, academia, law, security, and more.
Quick start
For AI Agents
# Fetch the complete installation guide, read it end to end, and then follow it step by step:
curl -fsSL https://raw.githubusercontent.com/anysearch-team/anysearch-dsh/refs/heads/main/docs/agent-installation.md
For Humans
Install the plugin into the web profile:
npx -y @deepseek-ai/dsh plugin --profile web add @anysearch/anysearch-dsh
Start DeepSeek Harness:
npx -y @deepseek-ai/dsh web
No API key is required for a quick start. Requests use AnySearch's anonymous quota until you configure one.
What you get
- Through Harness's built-in
web_search, AnySearch returns results with titles, snippets, and URLs for easy citation. - Through Harness's built-in
web_fetch, AnySearch Extract retrieves and cleans the content of a specific public HTTP(S) URL. - Discover searchable domains, vertical categories, and supported parameters in real time, then run advanced searches using tags, regions, languages, and structured parameters.
- Run one to five searches concurrently; an individual failure does not affect the other results.
- Advanced search can return cleaned page content on demand for deeper research.
Optional API key
Try it without an API key.
Sign up for an AnySearch account and configure an API key to get 1,000 free search calls per day.
Sign up or sign in at anysearch.com, then visit API Keys to get one. Store the key in $DSH_HOME/.credentials.yaml (~/.dsh/.credentials.yaml by default):
ANYSEARCH_API_KEY: "as_sk_your_key"
The plugin resolves the managed credential for every operation, so credential rotation reaches the next request without restarting DSH. A launching ANYSEARCH_API_KEY environment variable has higher priority.
Inspect the composed profile without exposing the credential value:
npx -y @deepseek-ai/dsh --profile web --dump-config
Tools
| Use case | Harness tool |
|---|---|
| Ordinary web search | web_search |
| Fetch and clean a specific URL | web_fetch |
| Discover available domains and tags | anysearch_capabilities |
| Vertical or parameterized search | anysearch_search |
| Run one to five searches together | anysearch_batch_search |
For ordinary prompts, let Harness select the tool. Models can discover live domain and parameter definitions before making a specialized search.
Environment requirements
Requires Node.js 22.19 or Node.js 24+, pnpm 11.7, and DeepSeek Harness. The DSH plugin command uses pnpm to manage profile dependencies, so pnpm must be available on PATH.
Windows, Linux, and macOS use the same installation command. Before installing, ensure that Node.js, npx, and pnpm can all be run directly from PATH.
Configuration
The bundled profile layer automatically selects AnySearch as the existing ctx.web search and fetch provider, enables web_fetch, and mounts the advanced tools, so no changes are required by default.
To customize it, ask an AI assistant—or edit it manually—to add the complete block below to the target DSH profile's user configuration layer, overriding the bundled id: web-search-anysearch entry. Keep the id unchanged, replace the complete config, and do not add a second AnySearch provider under a different ID:
- id: web-search-anysearch
config:
apiKeyEnv: ANYSEARCH_API_KEY
baseURL: https://api.anysearch.com
maxRenderedContentChars: 12000
| Field | Default | Purpose |
|---|---|---|
apiKeyEnv |
ANYSEARCH_API_KEY |
DSH credential reference; missing uses anonymous access |
baseURL |
https://api.anysearch.com |
AnySearch API base URL |
maxRenderedContentChars |
12000 |
Maximum cleaned-content characters rendered to the model per advanced tool call |
Manage the plugin
Update:
npx -y @deepseek-ai/dsh plugin --profile web update @anysearch/anysearch-dsh
Remove:
npx -y @deepseek-ai/dsh plugin --profile web remove @anysearch/anysearch-dsh
Compatibility and limitations
- DeepSeek Harness is in developer preview and may make compatibility-breaking changes.
- URL extraction is exposed through Harness's provider-neutral
web_fetch; the plugin does not add a duplicateanysearch_extracttool. - Configure the API key through DSH-managed credentials or an environment variable; the DSH settings page does not currently provide a third-party Provider credential field.
Documentation
Community & Support
Join the AnySearch community to share your experience, report issues, and get technical support.
- GitHub Issues: submit bug reports and usage feedback.
- WeChat Group: scan the QR code below and complete the group survey; staff will invite you after review.
- Discord Community: scan the QR code or follow the link to join directly.
Development
git clone https://github.com/anysearch-team/anysearch-dsh.git
cd anysearch-dsh
pnpm install
pnpm run check
The live AnySearch E2E suite is opt-in. Run it without ambient credentials in anonymous mode:
ANYSEARCH_E2E=1 ANYSEARCH_E2E_ANONYMOUS=1 pnpm run test:e2e
License
Links
More in this category
Tencent/WeKnora#dsh-weknora★ 21028
Four read-only tools over a WeKnora knowledge base: list knowledge bases, hybrid passage search, reassemble one document's chunks in order, and WeKnora's own cited RAG or ReAct-agent answer with a resumable session id.
superdesigndev/treg★ 709
Tool catalog for agents: search ~2,600 external endpoints (SEO and SERP, backlinks, social, people and company enrichment, ad libraries, scraping) by the task you want done, read each one's parameters and per-call price, then call it with the credential injected server-side. Ships the skill plus an MCP row that stays disabled until TREG_TOKEN is set.
EthanYoQ/Invoice-Downloader#dsh-invoice-downloader★ 285
Local IMAP invoice download, OCR, archive, and Excel reimbursement summaries for DeepSeek Harness.
omdsh-dev/dsh-data-agent★ 183
Let the AI connect to databases and write SQL for you.
zhaoolee/notes#dsh-plugin★ 155
Export DSH conversations as Smartisan Notes-style PNGs, or create and update Markdown notes in a configured account-scoped workspace.
theBigGavin/marketingdashboard★ 133
Zero-key market data MCP server (dsh bundle): 5 MCP tools for A-share/HK/US quotes, sector rankings, futures, money flow and 7x24 news, with a three-tier upstream fallback.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.