dsh-web-search-free
dsh-web-search-free
Китайский | English — плагин DSH (
dsh-plugin) · бесплатный провайдер веб-поиска + переключатель настроек + MCP server (совместим с Claude Code / Codex)
Одним щелчком переключайте «официальный поиск DeepSeek с оплатой по факту использования» на бесплатный поиск как в OpenCode (анонимно, без ключа), и тот же бесплатный поисковый бэкенд напрямую работает как MCP-сервер для любых MCP-клиентов, таких как Claude Code, Codex и других.
🆓 Бесплатный бэкенд: Parallel (по умолчанию) / Exa (запасной) — оба являются теми же бесплатными MCP-эндпоинтами, что и встроенный инструмент
websearchв OpenCode, анонимно, без API-ключа, без списания средств.🔄 Переключатель настроек DSH: официальный ↔ бесплатный одним щелчком, автоматически поддерживает патчи профиля.
🔌 MCP server: без зависимостей, двойной транспорт (stdio + HTTP/SSE на двух портах),
claude mcp add/codex mcp add— установил и пользуйся.
Предыстория: почему по умолчанию используется официальный ключ DeepSeek
Инструмент web_search в DSH использует шов возможностей ctx.web (seam). Провайдер, устанавливаемый по умолчанию, — @deepseek-ai/dsh-web-search-deepseek (id = deepseek-official, автоматически подтягивается зависимостью dsh-base): при каждом поиске вызывается нативный серверный инструмент web_search_20250305 официального Anthropic-совместимого API DeepSeek (https://api.deepseek.com/anthropic/v1/messages), используется DEEPSEEK_API_KEY, оплата по токенам.
Related MCP server: Search MCP Server
Возможности
Бесплатный бэкенд (в DSH)
Регистрирует два бесплатных поисковых провайдера в ctx.web, способ вызова инструмента web_search на стороне модели не меняется:
provider id | Бэкенд | Эндпоинт | Описание |
| Parallel Web Search |
| анонимно, без ключа |
| Exa |
| анонимно, без ключа; установка |
Переключатель настроек (Настройки DSH → Настройки плагинов → Настраиваемые → Бесплатный веб-поиск)
Переключатель enabled (по умолчанию выключен = официальный поиск): включено → бесплатный; выключено → официальный.
Выбор бесплатного бэкенда: Parallel (по умолчанию) / Exa (запасной), одиночный выбор.
При изменении автоматически обновляется строка
webconfig.searchProviderв пользовательском патче профиля~/.dsh/profiles/web/cordis.patch.yml(включено → записывается выбранный ID провайдера; выключено → блок переопределения удаляется).Нельзя писать в
~/.dsh/.env: dsh-app-boot отклоняет любые переменныеDSH_*в.env.Изменения вступают в силу после перезапуска DSH (конфигурация строки
webчитается при запускеWebRuntime).
MCP server (Claude Code / Codex / любой MCP-клиент)
Отдельный MCP-сервер без зависимостей (lib/mcp-server.js, не зависит от DSH), предоставляет инструмент web_search (параметры: query обязательный, provider необязательный: parallel/exa, numResults необязательный). Поддерживает двойной транспорт: stdio (по умолчанию) и HTTP/SSE (прослушивание порта, совместим с Streamable HTTP POST / и старым GET /sse + POST /messages).
Транспорт 1: stdio (по умолчанию, порт не нужен)
# 本地路径方式(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-freeТранспорт 2: HTTP/SSE (прослушивание порта, режим двух портов)
# 启动 MCP server(默认 http://127.0.0.1:3100;可用 --host/--port 调整)
node /绝对路径/dsh-web-search-free/lib/mcp-server.js --http --port 3100Claude Code (Streamable HTTP):
claude mcp add --transport http dsh-web-search http://127.0.0.1:3100Codex (OpenAI Codex CLI):
codex mcp add --transport http dsh-web-search http://127.0.0.1:3100Старый SSE-клиент (URL указывает на SSE-канал):
# 客户端配置 http://127.0.0.1:3100/sse(GET /sse 建立通道,POST /messages 发请求)Проверка: при открытии в браузере
http://127.0.0.1:3100/возвращается{"name":"dsh-web-search-free","version":"0.3.0","transport":"http/sse","port":3100}.
Другие MCP-клиенты
Любой MCP-клиент, поддерживающий транспорт stdio или HTTP/SSE, может подключиться (команды/URL те же, что выше). Необязательная переменная окружения: EXA_API_KEY (повышает анонимный лимит Exa).
Установка (сам плагин DSH)
⚠️ Почему у других после установки карточка не видна в настройках? Для отображения карточки настроек должны одновременно выполняться:
Пакет объявлен в
dsh.profile.bundles(просто положить пакет в node_modules недостаточно);После установки перезапустить DSH (host-сборка и client-граф разрешаются при запуске);
Перед открытием настроек обновить страницу браузера;
profile —
web(tui/headlessне имеют браузерного UI);Установка через локальный путь/
link:/tgz (npx @dsh-external/dsh-web-search-freeтребует предварительной публикации в npm registry, до публикации недоступен). После установки можно проверитьdev_plugin_status—client ✓, или просто посмотреть Настройки → Настройки плагинов → Настраиваемые.
Внешний вид интерфейса (Настройки → Настройки плагинов → Настраиваемые → Бесплатный веб-поиск):

Способ 1: локальная горячая сборка (dsh-super-injector, без перезапуска)
dev_install_package # dir = 插件包目录(含 package.json 与 lib/)Способ 2: объявление в profile (вступает в силу после перезапуска)
Объявите в ~/.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"
}
}Способ 3: npm-пакет (tgz)
npm run build && npm pack
# 把产物 tgz 加入 profile 依赖后重装(pnpm install),重启生效Проверка
npm run verify # 补丁联动 + Parallel/Exa 真实搜索 + 选择矩阵 + MCP 冒烟Возврат к официальному
Выключите переключатель enabled в настройках (блок переопределения будет удалён), перезапустите DSH.
(Или вручную удалите блок между # >>> web-search-free и # <<< web-search-free в ~/.dsh/profiles/web/cordis.patch.yml.)
Пояснение по разрешениям (безопасность и прозрачность)
Плагин DSH: после включения бесплатного режима запросы
web_searchотправляются только наsearch.parallel.ai/mcp.exa.ai; может изменять~/.dsh/profiles/web/cordis.patch.yml(переопределение строкиwebс граничными маркерами, формат см. выше), не затрагивает другие конфигурации. Без ключей, без сбора данных, без прослушивания.MCP server: вызывает только указанные выше бесплатные эндпоинты, не читает ваши файлы/окружение (кроме необязательного
EXA_API_KEY). В режиме stdio не прослушивает никакие порты; в режиме HTTP/SSE предоставляет MCP-эндпоинт только на указанных вами--host:--port(по умолчанию127.0.0.1:3100), по умолчанию привязывается только к адресу локальной петли.
Разработка
bash scripts/build.sh # tsc 编译 host + core + mcp-server,复制 client 到 lib/
npm run verify # 端到端验证Структура:
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 解除固定)License
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-