편집자 노트

回应用内置搜索

A DeepSeek Harness (DSH) ctx.web search provider that reuses the conversation model's OpenAI Responses built-in web search tool, instead of DSH's built-in Anthropic Messages search provider.

이것은 DeepSeek Harness(DSH) 플러그인입니다. 이 사이트는 GitHub README, 설치 정보, 유지보수 상태, 공개 보안 시그널을 모아 보여줍니다.

업스트림에서 중국어 README를 제공하지 않아 저장소 원본 내용을 표시합니다.

dsh-web-search-responses

A DeepSeek Harness (DSH) ctx.web search provider that reuses the conversation model's OpenAI Responses built-in web_search tool, instead of DSH's built-in Anthropic Messages search provider.

Why

DSH's model-facing web_search goes through dsh-tool-webctx.web.search() → a registered search provider. The shipped web-search-deepseek provider only speaks the Anthropic-compatible /messages API with web_search_20250305, so a custom model whose Responses endpoint supports built-in web_search cannot be reused by configuration alone.

This plugin registers a provider (responses-web) that sends a Responses API request to the same endpoint the conversation model uses, with:

{
  "tools": [{ "type": "web_search" }],
  "tool_choice": { "type": "web_search" }
}

It parses the web_search_call item and message citations back into DSH's standard WebSearchResult.

Install

From GitHub (recommended)

Requires pnpm on PATH:

dsh plugin --profile web add github:herminger/dsh-web-search-responses

If you previously installed a local link copy and want to switch to the GitHub source:

dsh plugin --profile web remove dsh-web-search-responses
dsh plugin --profile web add github:herminger/dsh-web-search-responses

From a local checkout

dsh plugin --profile web add /path/to/dsh-web-search-responses

Quick test without pnpm (keep overlay.patch.yml next to index.mjs, or use an absolute path):

dsh --profile web --patch /path/to/overlay.patch.yml

Then fully restart dsh web so the new bundle loads.

Configuration

The provider auto-follows the current model by default:

  • provider/model come from the executing agent, the DSH default model, or the single configured llm-pi-ai Responses route
  • baseURL, apiKeyEnv, and api come from that route's llm-pi-ai settings

To pin a route explicitly, edit the profile's cordis.patch.yml:

- id: web-search-responses
  config:
    provider: cpa
FieldMeaningDefault
providerllm-pi-ai route to reusecurrent model route
modelmodel for the search requestcurrent model
baseURLResponses endpoint prefix (/responses is appended)route baseURL
apiKeyEnvcredential reference, e.g. CPA_API_KEYroute apiKeyEnv
includeSourcessend include: ["web_search_call.action.sources"]false
searchContextSizelow / medium / highunset
toolChoice{ type: "web_search" } or "required"{ type: "web_search" }
maxOutputTokensoutput token cap for the search request4096

Troubleshooting

  • configured web provider "responses-web" is registered but unavailable — the plugin's config was parsed as YAML null (empty config:). Update to the latest index.mjs, which normalizes config ?? {}, and restart DSH.
  • Responses API returned no web_search_call item — the endpoint/model does not actually support the built-in web_search tool.
  • no API key for "..." — check the route's apiKeyEnv and the credential stored in DSH.

Chinese docs: README.zh.md

REPOSITORY SIGNALS

보안 및 설치 증거

이 점수는 공개 저장소 메타데이터와 이 사이트에 등록된 설치 증거에만 기반하며, 코드 보안 감사와 다릅니다.

출처 추적 가능

공개 플러그인 카탈로그에서 왔으며, 공개 GitHub 저장소로 연결됩니다.

라이선스

저장소가 MIT 라이선스를 선언했습니다.

유지보수 활동

최근 180일 내 코드 업데이트가 있습니다.

설치 증거

재현 가능한 정확한 설치 메타데이터가 아직 등록되지 않았습니다. 저장소 설명에 따라 직접 확인하세요.

설치 라이프사이클 스크립트

검사한 패키지 메타데이터에 설치 라이프사이클 스크립트가 선언되지 않았습니다.