Fix Desktop search-mcp takeover so web_search uses Bailian.

Drop nested Config.volatile that left the fiber inactive, unwrap the cordis
web proxy to pin/wrap search at runtime, and restore deepseek on disable.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-10-10 09:05:00 +08:00
parent d729b03f70
commit 23685cd545
8 changed files with 343 additions and 72 deletions

View file

@ -1,10 +1,10 @@
/**
* The `search-mcp` web search provider.
*
* Registers into `ctx.web` under the stable id `search-mcp`; the profile
* patch switches `web.searchProvider` to this id and disables the built-in
* DeepSeek provider, so the model-facing `web_search` tool executes entirely
* through the configured search MCP server(s).
* Registers into `ctx.web` under the stable id `search-mcp`. The host
* `apply` then live-pins `ctx.web.searchProviderId` to this id so
* model-facing `web_search` runs through the configured search MCP
* server(s) (Desktop 0.2 cannot safely pin via cordis.patch.yml).
*/
import { WebError } from '@deepseek-ai/dsh-web';
import { resolveServer } from './catalog.js';