Tavily 搜索
A Tavily-backed search provider bundle for DeepSeek Harness (dsh). It registers a Tavily backend for the ctx.web web-search seam and ships a hot-switchable backend selector (Tavily / DeepSeek search).
이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.
업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.
dsh-web-search-tavily
A Tavily-backed search provider bundle for DeepSeek Harness (dsh). It registers a Tavily backend for the ctx.web web-search seam and ships a hot-switchable backend selector (Tavily / DeepSeek search).
Features
- Tavily provider — calls
POST /searchand normalizes results to{ url, title, snippet, publishedAt }. Tavily returns content excerpts, so the model can quote snippets directly. - Hot backend switcher — a delegating provider (
search-switch) sits behind thewebrow and resolves the active backend from theweb-searchsettings section on every search. Saving the section takes effect immediately: no restart, no loader-row reload. - Full
WebErrortaxonomy (WEB_PROVIDER_ERROR/WEB_PROVIDER_CREDENTIAL_MISSING/WEB_ABORTED). - Credential resolution chain: literal
apiKey→credentialsservice → launch environment. - Settings sections:
web-search-tavily—apiKey/apiKeyEnv/baseURL/maxResultsweb-search—backendselection (tavily|deepseek-official)
Install
# From git (recommended — plain JS, no build step, no allowBuilds required)
dsh plugin --profile web add github:nitrazepam01/dsh-web-search-tavily
# From npm
dsh plugin --profile web add dsh-web-search-tavily
# From a local checkout
dsh plugin --profile web add ./dsh-web-search-tavily
Restart dsh web after installing (bundle layers are frozen at boot). To uninstall: dsh plugin --profile web remove dsh-web-search-tavily.
Configuration
1. Credential
Store your Tavily key in $DSH_HOME/.credentials.yaml:
TAVILY_API_KEY: tvly-your-key
2. Backend selection
The web row's searchProvider is set to search-switch (the delegating provider) by this bundle. The active backend lives in the web-search section of $DSH_HOME/settings.yaml and hot-reloads on save:
web-search:
backend: tavily # tavily | deepseek-official
tavily— this plugin's Tavily provider (results carry content excerpts)deepseek-official— delegates to the shippedweb-search-deepseekprovider (DeepSeek Anthropic-compatible Messages endpoint; no excerpts)
3. Tavily options (web-search-tavily section)
| Field | Default | Description |
|---|---|---|
apiKey | none | Literal key (secret, stored via the credentials domain) |
apiKeyEnv | TAVILY_API_KEY | Credential reference name |
baseURL | https://api.tavily.com | Tavily REST endpoint |
maxResults | 5 | Max results per search |
How it works
web_search tool → ctx.web (searchProvider: search-switch)
→ switcher delegates by web-search.backend:
tavily → this plugin's provider → POST https://api.tavily.com/search
deepseek-official → shipped provider → Anthropic Messages + web_search_20250305
Why a delegating provider instead of editing the web row directly? Changing the web row's config restarts the dsh-web plugin and disposes every registered provider (Cordis Fiber.update → restart semantics). The switcher keeps the selection in the settings layer only, sidestepping that hazard entirely.
Development
# Install a local checkout into a profile
dsh plugin --profile web add ./dsh-web-search-tavily
# Inspect the composed config without booting
dsh --profile web --dump-config
dsh web
License
보안 및 설치 증거
이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.
공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.
저장소가 MIT 라이선스를 선언했습니다.
최근 180일 내 코드 업데이트가 있습니다.
재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.
검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.