ForeverYoungPp/dsh-web-search ↗★ 0
@deepseek-ai/dsh-web-search
Multi-provider third-party web search for the DeepSeek Harness: routes the native web_search tool through a configurable provider fallback chain, with an isolated provider settings page.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ForeverYoungPp/dsh-web-search说明文档
阅读完整 README ↗Configuration
Credentials
All provider secrets live in harness credential records under the dsh-web-search/ scope, managed from the settings page — no environment variables required.
- API key providers — stored as an
api-keyrecord, e.g.dsh-web-search/tavily. - SearXNG — stored as a
grantrecord carrying the instanceendpoint. - DuckDuckGo — no key; always available.
Note: do not reference environment variable names (e.g.
TAVILY_API_KEY) as credential refs for keys — the launching environment treats them as read-only and would shadow any saved value. Records must be{kind: 'api-key'}or{kind: 'grant'}, and keys must contain a/, otherwise credential parsing fails and all set/unset operations throw.
Provider order and limits
- Order — provider fallback order is configurable; the settings page provides drag-to-reorder, stored in a
grantrecord (dsh-web-search/config). - Results per query — 5 by default (stays under the native
maxResultscap so no truncation warning is triggered).
Settings page
The plugin registers an isolated settings section, Web Search Providers (id web-search-providers), separate from the native web search config page. From there you can:
- save or clear a provider's API key / endpoint
- test the connection to a provider
- reorder the fallback chain by dragging
The page talks to the host over the plugin's websearch Remote namespace (list / setKey / unsetKey / setOrder / testProvider).