aaronlei/dsh-web-search-diy ↗★ 1
dsh-web-search-diy
DSH web search provider over any OpenAI-compatible Responses API gateway exposing the native web_search tool. Registers a ctx.web search provider (defaults to Qwen Token Plan as a working example) and overrides the shared searchProvider to it; UI copy follows the app language (zh / en).
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:aaronlei/dsh-web-search-diy说明文档
阅读完整 README ↗Configuration
The provider resolves options with precedence: UI-managed file
($DSH_HOME/dsh-web-search-diy.json, written by the Settings card) >
settings section / entry config > package defaults.
| Key | Default | Meaning |
|---|---|---|
apiKey | — | Literal API key; overrides apiKeyEnv when set |
apiKeyEnv | QWEN_TOKEN_PLAN_CN_API_KEY | Credential reference resolved per search via ctx.credentials |
baseURL | https://token-plan.cn-beijing.maas.aliyuncs.com/compatible-mode/v1 | Responses API base; /responses is appended |
model | deepseek-v4-flash-0731 | Model served by the endpoint; before switching, confirm the model actually exposes the web_search tool on the gateway (not all models support live web search) — otherwise the search fails loudly with WEB_PROVIDER_ERROR, never a no-search fallback |
maxOutputTokens | 1024 | max_output_tokens for one search call |
Settings card
The configuration card lives under Settings → Plugins → Plugin configuration → Custom web search, in the same form as the shipped Shell / Agent loop cards: edits stage locally (an "unsaved" badge appears in the header) and only Save writes, while Discard reverts to the stored values. Saving takes effect immediately — no restart. Card copy follows Settings → Language (zh / en). The API key input is write-only: leave it blank to keep the stored key.