Skip to main content
Glama
sheep-programmer

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-free (по умолчанию)

Parallel Web Search

https://search.parallel.ai/mcp

анонимно, без ключа

exa-free (запасной)

Exa

https://mcp.exa.ai/mcp

анонимно, без ключа; установка EXA_API_KEY повышает лимит

Переключатель настроек (Настройки DSH → Настройки плагинов → Настраиваемые → Бесплатный веб-поиск)

  • Переключатель enabled (по умолчанию выключен = официальный поиск): включено → бесплатный; выключено → официальный.

  • Выбор бесплатного бэкенда: Parallel (по умолчанию) / Exa (запасной), одиночный выбор.

  • При изменении автоматически обновляется строка web config.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 3100
  • Claude Code (Streamable HTTP):

    claude mcp add --transport http dsh-web-search http://127.0.0.1:3100
  • Codex (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)

⚠️ Почему у других после установки карточка не видна в настройках? Для отображения карточки настроек должны одновременно выполняться:

  1. Пакет объявлен в dsh.profile.bundles (просто положить пакет в node_modules недостаточно);

  2. После установки перезапустить DSH (host-сборка и client-граф разрешаются при запуске);

  3. Перед открытием настроек обновить страницу браузера;

  4. profile — web (tui/headless не имеют браузерного UI);

  5. Установка через локальный путь/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

Maintenance

ActivitySlowing
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP 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
  • A
    license
    Not graded
    quality
    D
    maintenance
    Free web search MCP server using SearXNG, supporting web search, news search, and search summaries.
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Multi-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
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that brings Parallel web search and URL extraction to Codex and other Model Context Protocol clients.
    2
    35 npm
    -