Introduction¶
The default search backend in DeepSeek Harness (DSH) may not meet requirements in certain scenarios. dsh-tavily-provider is a community plugin that provides Tavily-based web_search and web_fetch capabilities for DSH, replacing the built-in search backend. The plugin is maintained by MirrMeur and is released under the MIT license.
Core Features¶
The plugin mainly provides the following two Provider IDs:
web_search(provider id:tavily)web_fetch(provider id:tavily-extract)
Installation and Activation¶
Install it into the web profile using DSH’s plugin management command:
# 从 GitHub 直接安装
dsh plugin --profile web add github:MirrMeur/dsh-tavily-provider
# 钉住版本安装(推荐用于生产环境)
dsh plugin --profile web add github:MirrMeur/dsh-tavily-provider#v0.1.0
After installation, restart the Harness process for that profile and reference the corresponding Provider IDs in cordis.patch.yml.
Configuration¶
The plugin does not provide a settings card (UI). All configuration must be manually written into the profile’s cordis.patch.yml. A basic configuration example is as follows:
- id: tavily-provider
config:
maxResults: 5 # 1..20,默认值
searchDepth: basic # basic | advanced
topic: general # general | news
apiKeyEnv: TAVILY_API_KEY # 凭证名
baseURL: https://api.tavily.com
The priority order for resolving the API Key is as follows:
1. The apiKey literal in the configuration file.
2. The credential service (TAVILY_API_KEY in ~/.dsh/.credentials.yaml).
3. The process environment variable TAVILY_API_KEY.
4. Tavily’s keyless anonymous mode (when no key is available).
Behavior¶
- web_search: Calls
POST /searchand maps the returned results to the{url, title, snippet, publishedAt}format. - web_fetch: Calls
POST /extract, returns Markdown-formatted text, and maps it to{url, statusCode, body:{kind:"text",content}}.
Error handling follows the DSH host specification: network or timeout errors return WEB_PROVIDER_ERROR (including HTTP status code hints), and caller cancellation returns WEB_ABORTED.
Limitations¶
- No UI card: Requires manual configuration file editing.
- web_fetch limitations: Supports only text and Markdown; does not support image or PDF parsing.
- Firecrawl not implemented: This feature is not implemented in the plugin.
- Version compatibility: Compatible with the DSH 0.1.1-rc.x and 0.1.5 lines, but does not depend on any
@deepseek-ai/*internal packages.
Conclusion¶
dsh-tavily-provider is a lightweight alternative search backend suitable for scenarios requiring more controllable search depth or extraction logic. Review the source code and license before installing.
- GitHub: https://github.com/MirrMeur/dsh-tavily-provider
- Catalog: https://www.skillhub.cn/plugins/MirrMeur/dsh-tavily-provider