yunxiyang/dsh-web-search-litellm0

dsh-web-search-litellm

Web search provider for the DeepSeek Harness ctx.web seam via the LiteLLM proxy OpenAI Responses API: DeepSeek's native server-side web_search through your proxy. Fixes web_search 'Authentication Fails, Your api key is invalid' (DEEPSEEK_API_KEY that is actually a proxy key); no Anthropic protocol, no third-party search service, reuses LITELLM_API_KEY.

AI 분석

核心用途是解决因使用 LiteLLM 代理导致原生 DeepSeek 联网搜索鉴权失败的问题。适合企业内网或必须通过代理访问 API 的用户。

패키지
dsh-web-search-litellm
버전
0.1.1
라이선스
MIT
최근 업데이트
2026. 8. 31.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:yunxiyang/dsh-web-search-litellm

何时使用 / When to use

Pick this provider when any of these is your situation:

  • web_search fails with Authentication Fails, Your api key: ****XXXX is invalid — usually because DEEPSEEK_API_KEY holds a LiteLLM proxy key, not a DeepSeek platform key.
  • All company traffic must go through LiteLLM (direct api.deepseek.com is blocked or forbidden).
  • You prefer the OpenAI Responses protocol over the Anthropic /messages format.
  • You want no free-tier / third-party search service (Tavily, Brave, Exa, …) — search stays on DeepSeek's official server side.
  • You use openai/deepseek-v4-flash or openai/deepseek-v4-pro through a LiteLLM proxy as your main model.

Configuration

Settings section web-search-litellm (harness Settings UI) or the bundle patch config:

keydefaultmeaning
baseURL$LITELLM_SEARCH_BASE_URLhttp://127.0.0.1:4000/v1LiteLLM proxy root; /responses is appended
modelopenai/deepseek-v4-flashmodel id routed through the proxy (must support server-side web_search)
apiKeyEnvLITELLM_API_KEYcredential reference resolved at each search
apiKeyoptional literal key (secret role)
maxTokens4096max_output_tokens for one search request
timeoutMs60000per-request timeout; times out as a structured WEB_TIMEOUT error

Known upstream limits (not configuration issues)

  • DeepSeek's Responses API documents include as not supported, so structured result items are consumed server-side; sources therefore carry url only (no title/snippet).
  • Each search costs one DeepSeek model turn (official mechanism).