插件目录 / UI & Skins / dsh-web-search-responses
dsh-web-search-responses
已验证 · 实测可装 herminger
功能简介
DSH ctx.web搜索提供者,复用模型内置搜索
可用 — 实测通过,早期项目
DSH ctx.web搜索提供者,复用模型内置搜索 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
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-web → ctx.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-aiResponses route baseURL,apiKeyEnv, andapicome from that route'sllm-pi-aisettings
To pin a route explicitly, edit the profile's cordis.patch.yml:
- id: web-search-responses
config:
provider: cpa
| Field | Meaning | Default |
|---|---|---|
provider |
llm-pi-ai route to reuse |
current model route |
model |
model for the search request | current model |
baseURL |
Responses endpoint prefix (/responses is appended) |
route baseURL |
apiKeyEnv |
credential reference, e.g. CPA_API_KEY |
route apiKeyEnv |
includeSources |
send include: ["web_search_call.action.sources"] |
false |
searchContextSize |
low / medium / high |
unset |
toolChoice |
{ type: "web_search" } or "required" |
{ type: "web_search" } |
maxOutputTokens |
output token cap for the search request | 4096 |
Troubleshooting
configured web provider "responses-web" is registered but unavailable— the plugin's config was parsed as YAMLnull(emptyconfig:). Update to the latestindex.mjs, which normalizesconfig ?? {}, and restart DSH.Responses API returned no web_search_call item— the endpoint/model does not actually support the built-inweb_searchtool.no API key for "..."— check the route'sapiKeyEnvand the credential stored in DSH.
Chinese docs: README.zh.md
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-web-search-responses」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:herminger/dsh-web-search-responses Headless(CLI)profile:
dsh plugin --profile headless add github:herminger/dsh-web-search-responses 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。
使用场景
改变 dsh 的外观或交互方式——一套主题、皮肤或新面板,重塑工作区。
适合谁
在 web UI 里一待几小时、想让它按自己的习惯好看又好用的人。
二次开发建议
皮肤、面板和主题 token 是扩展点——写新皮肤、加面板,或与上游配色同步 token。