dsh-web-search-free
dsh-web-search-free
中文 | English — Complemento DSH (
dsh-plugin) · Proveedor de búsqueda web gratuito + interruptor de configuración + servidor MCP (compatible con Claude Code / Codex)
Cambia con un solo clic la «búsqueda oficial de DeepSeek con pago por uso» a la búsqueda gratuita del mismo estilo que OpenCode (anónima, sin clave), y el mismo backend de búsqueda gratuito funciona directamente como servidor MCP para que lo usen Claude Code, Codex o cualquier cliente MCP.
🆓 Backend gratuito: Parallel (predeterminado) / Exa (respaldo) — ambos son los mismos endpoints MCP gratuitos que usa la herramienta
websearchintegrada en OpenCode, anónimos, sin necesidad de clave API y sin cargos.🔄 Interruptor de configuración de DSH: alterna entre oficial ↔ gratuito con un clic y mantiene automáticamente el parche de perfil.
🔌 Servidor MCP: cero dependencias, doble transporte (stdio + HTTP/SSE de doble puerto), listo para usar con
claude mcp add/codex mcp add.
Antecedentes: por qué se usa por defecto la clave oficial de DeepSeek
La herramienta web_search de DSH utiliza la costura de capacidad ctx.web. El proveedor predeterminado es
@deepseek-ai/dsh-web-search-deepseek (id = deepseek-official, incluido automáticamente por la dependencia dsh-base): cada búsqueda llama a la API nativa compatible con Anthropic de DeepSeek
(https://api.deepseek.com/anthropic/v1/messages) con la herramienta de servidor web_search_20250305,
reutilizando DEEPSEEK_API_KEY, con cobro por token.
Related MCP server: Search MCP Server
Funciones
Backend gratuito (dentro de DSH)
Registra dos proveedores de búsqueda gratuitos en ctx.web; la llamada a la herramienta web_search desde el lado del modelo no cambia:
id del proveedor | backend | endpoint | descripción |
| Parallel Web Search |
| anónimo, sin clave |
| Exa |
| anónimo, sin clave; define |
Interruptor de configuración (Configuración de DSH → Configuración del complemento → Configurable → Búsqueda web gratuita)
Interruptor
enabled(predeterminado desactivado = búsqueda oficial): activado → gratuito; desactivado → oficial.Selección de backend gratuito: Parallel (predeterminado) / Exa (respaldo), selección única.
Los cambios mantienen automáticamente el parche de capa de usuario del perfil
~/.dsh/profiles/web/cordis.patch.ymlen la líneawebdeconfig.searchProvider(activado → escribe el id del proveedor seleccionado; desactivado → elimina el bloque de anulación).No se puede escribir en
~/.dsh/.env: dsh-app-boot rechaza cualquier variableDSH_*en.env.Los cambios requieren reiniciar DSH para aplicarse (
WebRuntimelee la configuración de la líneawebal iniciar).
Servidor MCP (Claude Code / Codex / cualquier cliente MCP)
Servidor MCP independiente de cero dependencias (lib/mcp-server.js, no depende de DSH), expone la herramienta web_search
(parámetros: query obligatorio, provider opcional parallel/exa, numResults opcional).
Admite doble transporte: stdio (predeterminado) y HTTP/SSE (puerto de escucha, compatible con
HTTP POST / de Streamable y el estilo antiguo GET /sse + POST /messages).
Transporte uno: stdio (predeterminado, sin puerto)
# 本地路径方式(clone 后)
claude mcp add dsh-web-search -- node /绝对路径/dsh-web-search-free/lib/mcp-server.js
codex mcp add dsh-web-search -- node /绝对路径/dsh-web-search-free/lib/mcp-server.js
# 或 npm 全局安装后(npx,需先发布到 npm registry)
claude mcp add dsh-web-search -- npx -y @dsh-external/dsh-web-search-free
codex mcp add dsh-web-search -- npx -y @dsh-external/dsh-web-search-freeTransporte dos: HTTP/SSE (puerto de escucha, modo de doble puerto)
# 启动 MCP server(默认 http://127.0.0.1:3100;可用 --host/--port 调整)
node /绝对路径/dsh-web-search-free/lib/mcp-server.js --http --port 3100Claude Code (HTTP de Streamable):
claude mcp add --transport http dsh-web-search http://127.0.0.1:3100Codex (CLI de OpenAI Codex):
codex mcp add --transport http dsh-web-search http://127.0.0.1:3100Clientes SSE antiguos (la URL apunta al canal SSE):
# 客户端配置 http://127.0.0.1:3100/sse(GET /sse 建立通道,POST /messages 发请求)Verificación: abre
http://127.0.0.1:3100/en el navegador y devuelve{"name":"dsh-web-search-free","version":"0.3.0","transport":"http/sse","port":3100}.
Otros clientes MCP
Cualquier cliente MCP que admita transporte stdio o HTTP/SSE puede conectarse (mismo comando/URL).
Variable de entorno opcional: EXA_API_KEY (aumenta el límite anónimo de Exa).
Instalación (cuerpo del complemento DSH)
⚠️ ¿Por qué otros no ven la tarjeta en la configuración después de instalarlo? Para que la tarjeta de configuración aparezca se deben cumplir todas estas condiciones:
El paquete está declarado en
dsh.profile.bundles(no basta con poner el paquete en node_modules);Reinicia DSH después de instalar (el ensamblado del host y el grafo de clientes se resuelven al iniciar);
Actualiza la página del navegador antes de abrir la configuración;
El perfil es
web(tui/headlessno tienen interfaz de navegador);Instalación con ruta local/
link:/tgz (npx @dsh-external/dsh-web-search-freerequiere publicarlo antes en npm registry; no está disponible hasta que se publique). Después de instalarlo, puedes confirmar condev_plugin_statusque aparececlient ✓, o simplemente mira Configuración → Complementos → Configurables.
Efecto en la interfaz (Configuración → Complementos → Configurables → Búsqueda web gratuita):

Método uno: montaje en caliente local (dsh-super-injector, sin reiniciar)
dev_install_package # dir = 插件包目录(含 package.json 与 lib/)Método dos: declaración en el perfil (requiere reinicio)
Declarar en ~/.dsh/profiles/web/package.json:
{
"dsh": { "profile": { "bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
// ...其他 bundle...
"@dsh-external/dsh-web-search-free"
]}},
"dependencies": {
"@dsh-external/dsh-web-search-free": "link:/绝对路径/dsh-web-search-free"
}
}Método tres: paquete npm (tgz)
npm run build && npm pack
# 把产物 tgz 加入 profile 依赖后重装(pnpm install),重启生效Verificación
npm run verify # 补丁联动 + Parallel/Exa 真实搜索 + 选择矩阵 + MCP 冒烟Volver al oficial
Desactiva el interruptor enabled en la configuración (el bloque de anulación se elimina automáticamente) y reinicia DSH.
(O elimina manualmente el bloque entre # >>> web-search-free y # <<< web-search-free en ~/.dsh/profiles/web/cordis.patch.yml).
Nota sobre permisos (transparencia y seguridad)
Complemento DSH: al activar el modo gratuito, las solicitudes de
web_searchsolo se envían asearch.parallel.ai/mcp.exa.ai; solo modifica~/.dsh/profiles/web/cordis.patch.yml(anulación de la líneawebcon marcadores de límite, formato como se indicó arriba) y no toca ninguna otra configuración. Sin claves, sin recopilación de datos, sin escuchas.Servidor MCP: solo llama a los endpoints gratuitos mencionados; no lee ningún archivo o variable de entorno tuyo (excepto la
EXA_API_KEYopcional). En modo stdio no escucha ningún puerto; en modo HTTP/SSE solo ofrece el endpoint MCP en el--host:--portque especifiques (predeterminado127.0.0.1:3100), y por defecto solo se vincula a la dirección de bucle local.
Desarrollo
bash scripts/build.sh # tsc 编译 host + core + mcp-server,复制 client 到 lib/
npm run verify # 端到端验证Estructura:
src/core.ts # 零依赖搜索核心:Parallel + Exa(host 与 MCP 共用)
src/index.ts # host:双 provider 注册 + settings 开关 + profile 补丁联动
src/mcp-server.ts # MCP server:stdio + HTTP/SSE 双传输(bin:dsh-web-search-mcp)
src/client/client.js # client:设置面板「免费网页搜索」开关卡片(含后端选择)
scripts/build.sh # 构建(自动探测 DSH_CHECKOUT)
scripts/verify.mjs # 端到端验证脚本
cordis.patch.yml # bundle 装配层(含 web 行 searchProvider 解除固定)Licencia
MIT © sheep-programmer
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
Free web search for AI agents. No API key required. Hosted MCP in active development.
Docs: https://docs.keenable.ai/mcp-server Keenable is a free, remote MCP server that gives agents access to the web index. Search the web with ranked results and date/site filters, then fetch any indexed page as clean markdown. Works out of the box with no account or API key.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for internet search via direct Google and DuckDuckGo HTML scraping with AI-powered result normalization and optional summarization, requiring no API keys for search.MIT
- AlicenseNot gradedqualityDmaintenanceFree web search MCP server using SearXNG, supporting web search, news search, and search summaries.MIT
- AlicenseNot gradedqualityAmaintenanceMulti-level web search MCP server that wraps Claude, Gemini, Perplexity, and Tavily behind a unified interface, enabling multi-depth searches with session management and provider selection.MIT
- FlicenseAqualityDmaintenanceAn MCP server that brings Parallel web search and URL extraction to Codex and other Model Context Protocol clients.235 npm-