dsh-search-mcp/cordis.patch.yml
oliver d5c4d2006c Publish dsh-search-mcp fork for newer DSH and Bailian WebSearch MCP.
Based on gxpppp/dsh-search-mcp; includes DSH web settings fixes, Clash fake-IP URL policy, and Bailian default server patch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-12 08:51:32 +08:00

58 lines
2.2 KiB
YAML

# dsh-search-mcp bundle layer: applied after dsh-base and dsh-web-app,
# before the profile's own cordis.patch.yml (last write wins per row).
#
# Installing this package therefore REPLACES dsh's built-in web search:
# - the `web` row's searchProvider switches from `deepseek-official` to
# `search-mcp` (the provider registered by this plugin), and
# - the built-in DeepSeek search provider row is disabled.
# The model-facing `web_search` tool keeps its name and presentation; its
# execution now goes through the search MCP server(s) configured below or in
# the web Settings → Plugins → search-mcp section.
#
# Removing this package (dsh plugin --profile web remove dsh-search-mcp)
# drops this whole layer and restores the built-in search exactly.
#
# SECURITY: no API keys are committed to this repository. Server keys are
# supplied at runtime through `apiKeyEnv` — stored in
# `$DSH_HOME/.credentials.yaml` (e.g. `TAVILY_API_KEY: <key>`) — or through
# the web Settings → Plugins → search-mcp section (`apiKey` field).
- insert:
- id: search-mcp
name: 'dsh-search-mcp'
config:
defaultServer: bailian
maxResults: 8
searchTimeoutMs: 30000
servers:
- id: bailian
kind: custom
transport: http
url: https://dashscope.aliyuncs.com/api/v1/mcps/WebSearch/mcp
authStyle: header
authParam: Authorization
authPrefix: 'Bearer '
apiKeyEnv: DASHSCOPE_API_KEY
toolName: bailian_web_search
- id: web
config:
searchProvider: search-mcp
- id: web-search-deepseek
disabled: true
# The model-facing web_search tool is owned by dsh-tool-web (its `Config`
# default is a hard 8-source cap, enforced by dsh-web's seam on EVERY
# request). This plugin takes over result sizing, so raise the tool layer's
# cap to the plugin schema maximum: `search-mcp`'s own maxResults (Settings →
# Plugins → search-mcp) then decides how many sources actually come back.
# `fetch` stays disabled and the base timeout is restated, because a patch
# replaces the targeted row's whole config.
- id: tool-web
disabled: false
config:
fetch: false
searchTimeoutMs: 60000
searchMaxResults: 50
searchMaxQueries: 4