Skip to content

Releases: Aas-ee/open-webSearch

📦v2.0.0

22 Mar 16:20

Choose a tag to compare

v2.0.0

v2.0.0 is a major upgrade from v1.2.7, introducing Playwright support for the first time and restructuring browser-
assisted search and fetch flows.
v2.0.0 相比 v1.2.7 是一次较大的升级,首次引入了 Playwright,并重构了浏览器增强的搜索与抓取链路。

Highlights / 主要更新

  • First-time Playwright integration for browser-assisted workflows
    首次引入 Playwright,用于支持浏览器增强能力
  • Added flexible Playwright integration options:
    PLAYWRIGHT_PACKAGE, PLAYWRIGHT_MODULE_PATH, PLAYWRIGHT_EXECUTABLE_PATH, PLAYWRIGHT_WS_ENDPOINT,
    PLAYWRIGHT_CDP_ENDPOINT
    新增灵活的 Playwright 接入方式:
    PLAYWRIGHT_PACKAGE、PLAYWRIGHT_MODULE_PATH、PLAYWRIGHT_EXECUTABLE_PATH、PLAYWRIGHT_WS_ENDPOINT、
    PLAYWRIGHT_CDP_ENDPOINT
  • Introduced SEARCH_MODE with request, auto, and playwright modes
    新增 SEARCH_MODE 配置,支持 request、auto 和 playwright 三种模式
  • Refactored Bing browser fallback flow with improved request-to-browser switching and Playwright availability
    detection
    重构 Bing 的浏览器回退链路,优化 request 到浏览器模式的切换逻辑,以及 Playwright 可用性探测
  • Added a browser cookie bridge so browser-acquired cookies can be reused by request-based fetches
    新增浏览器 Cookie bridge,可将浏览器获取到的 Cookie 复用到 request 请求中
  • Enhanced fetchWebContent with browser cookie retry, browser HTML fallback, and retrievalMethod reporting
    增强 fetchWebContent,支持 browser cookie retry、browser HTML fallback,并新增 retrievalMethod 字段标识抓取方式
  • Improved CSDN and Zhihu article fetching with browser-assisted retry and better whitespace normalization
    增强 CSDN 和知乎文章抓取,支持浏览器辅助重试,并优化正文空白清理
  • Unified LinuxDo and Zhihu site search on top of the shared Bing capability
    将 LinuxDo 和知乎的站内搜索统一复用到共享的 Bing 能力之上
  • Added live tests covering Bing, web content fetching, and article fetching scenarios
    新增多组 live test,覆盖 Bing、网页抓取和文章抓取场景
  • Updated documentation with Playwright usage, CDP examples, and Windows PowerShell examples
    更新文档,补充了 Playwright 用法、CDP 示例以及 Windows PowerShell 示例

Breaking Changes / 破坏性变更

  • SEARCH_MODE currently affects Bing only
    SEARCH_MODE 当前仅对 Bing 生效
  • Browser-assisted behavior is newly introduced in this release, so users adopting Playwright-based workflows should
    review the new environment variables and runtime options
    浏览器增强能力是本版本首次引入,因此如果你要启用基于 Playwright 的工作流,需要检查新的环境变量和运行配置

Upgrade Notes / 升级说明

  • If you only use request-based behavior, upgrading should be straightforward
    如果你只使用基于 request 的能力,这次升级通常可以直接完成
  • If you want browser-assisted behavior, install and configure Playwright manually after upgrading
    如果你需要浏览器增强能力,请在升级后手动安装并配置 Playwright
  • CDP is supported via PLAYWRIGHT_CDP_ENDPOINT, which can be used to connect to an existing local Chrome/Chromium
    session
    支持通过 PLAYWRIGHT_CDP_ENDPOINT 使用 CDP,可连接到本地已有的 Chrome/Chromium 会话

Why 2.0.0 / 为什么是 2.0.0

This release introduces a new browser-assist architecture, adds Playwright as a new optional capability, and changes
how search and content fetching can fall back from request mode to browser mode.
这次更新引入了一套新的浏览器增强架构,首次加入 Playwright 作为可选能力,并改变了搜索与内容抓取从 request 模式回退到浏
览器模式的整体方式。

What's Changed

Full Changelog: v1.2.7...v2.0.0

📦 v1.2.5

08 Mar 08:47

Choose a tag to compare

Release Notes (v1.2.0 -> v1.2.5) / 更新说明(v1.2.0 -> v1.2.5)

Highlights / 重点更新

  • Added generic web fetch tool: fetchWebContent
    新增通用网页抓取工具:fetchWebContent
  • Added engine-name normalization (e.g. Bing, DuckDuckGo, linux.do)
    新增搜索引擎名称标准化(如 BingDuckDuckGolinux.do
  • Hardened web-fetch security (SSRF guard + response size limits)
    强化网页抓取安全(SSRF 防护 + 响应体大小限制)
  • Fixed Vercel/Serverless runtime error: MCP error -32603: keyValidator._parse is not a function
    修复 Vercel/Serverless 运行时错误:MCP error -32603: keyValidator._parse is not a function

Added / 新增

  • New tool: fetchWebContent for public HTTP(S) URLs, including Markdown and HTML extraction
    新增 fetchWebContent 工具,支持公开 HTTP(S) 链接抓取,含 Markdown/HTML 内容提取

  • Configurable MCP tool names via env vars:
    新增工具名环境变量配置:

    • MCP_TOOL_SEARCH_NAME
    • MCP_TOOL_FETCH_LINUXDO_NAME
    • MCP_TOOL_FETCH_CSDN_NAME
    • MCP_TOOL_FETCH_GITHUB_NAME
    • MCP_TOOL_FETCH_JUEJIN_NAME
    • MCP_TOOL_FETCH_WEB_NAME
  • New test coverage:
    新增测试覆盖:

    • test:web-content
    • test:web-content:live
    • test:engine-normalization
    • test:url-safety

Changed / 变更

  • search.engines input is now normalized before enum validation
    search.engines 参数在枚举校验前先做标准化处理

  • Logging output moved to stderr for better MCP/stdio compatibility
    日志输出统一到 stderr,提升 MCP/stdio 兼容性


Fixed / 修复

  • Fixed Brave parser compatibility with updated page structure
    修复 Brave 页面结构变更导致的解析问题

  • Improved LinuxDo search fallback behavior
    优化 LinuxDo 搜索回退逻辑

  • Fixed schema parsing/runtime compatibility issue in serverless deployments
    修复 Serverless 部署下的 schema 解析兼容性问题

  • Resolved dependency mismatch causing:
    解决依赖不一致导致的报错:

    • MCP error -32603: keyValidator._parse is not a function

Security / 安全

  • SSRF protections for fetchWebContent:
    fetchWebContent 增加 SSRF 防护:

    • block localhost/private/link-local targets
      拦截 localhost / 私网 / 链路本地地址
    • re-validate redirect final URL
      对重定向后的最终 URL 再次校验
  • Response/body size limits added before full processing
    在完整处理前增加响应体大小限制,降低内存风险


Compatibility / 兼容性

  • No breaking changes
    无破坏性变更

  • Existing canonical engine values keep working as-is
    现有标准引擎参数保持兼容(如 bingduckduckgo

What's Changed

  • feat: Configurable tool names by @lightdot in #24
  • chore: replace console.log with console.error fix #23 by @Aas-ee in #25
  • fix(brave,linuxdo): update selectors for SvelteKit SSR & add Brave fallback by @Zacklinkk in #39
  • chore(package): Update package name and add zod dependency by @Aas-ee in #40
  • fix(docs): fix readme by @Aas-ee in #41
  • Feature/feature web fetch by @Aas-ee in #42
  • feat(web): Enhanced security and reliability of web content acquisition by @Aas-ee in #43

New Contributors

Full Changelog: v1.2.0...v1.2.5

📦 v1.2.0

30 Aug 07:58

Choose a tag to compare

Release v1.2.0 - Add Configurable Engines and STDIO Mode

🚀 New Features

Configurable Search Engines

  • New Environment Variable: ALLOWED_SEARCH_ENGINES
    • Restrict available search engines by specifying comma-separated engine names
    • Provides better control over which engines can be used in your deployment
    • If the default engine is not in the allowed list, the first allowed engine becomes the default
    • Example: ALLOWED_SEARCH_ENGINES=duckduckgo,bing,exa

Mode Switching Parameters

  • Enhanced MODE Configuration: MODE environment variable now supports three options:
    • stdio - STDIO mode only (ideal for MCP client integration)
    • http - HTTP server mode only (for web-based access)
    • both - Both STDIO and HTTP modes (default behavior)
  • Flexible Deployment: Choose the most appropriate mode for your use case

📋 Configuration Reference

Variable Default Options Description
ALLOWED_SEARCH_ENGINES empty (all available) Comma-separated engine names Limit which search engines can be used
MODE both both, http, stdio Server operation mode

🔧 Usage Examples

Restricted Engine Usage

# Linux/macOS
ALLOWED_SEARCH_ENGINES=duckduckgo,bing DEFAULT_SEARCH_ENGINE=duckduckgo npx open-websearch@latest

# Windows PowerShell
$env:ALLOWED_SEARCH_ENGINES="duckduckgo,bing"; $env:DEFAULT_SEARCH_ENGINE="duckduckgo"; npx open-websearch@latest

Mode-specific Deployments

# STDIO only (for MCP clients)
MODE=stdio npx open-websearch@latest

# HTTP only (for web access)
MODE=http npx open-websearch@latest

# Windows CMD STDIO mode
set MODE=stdio && set DEFAULT_SEARCH_ENGINE=duckduckgo && npx open-websearch@latest

📦 v1.1.4.2

04 Aug 05:59

Choose a tag to compare

📦 v1.1.4.2

Release Date: August 4, 2025 | 发布日期: 2025年8月4日
Tag: v1.1.4.2
Status: Stable / Production Ready


🚀 New Features & Enhancements | 新功能与增强

  • NPX Quick Start Support | NPX 快速启动支持
    Now supports instant deployment with npx open-websearch@latest - no installation required!
    现在支持使用 npx open-websearch@latest 即时部署 - 无需安装!

  • Juejin Search & Article Fetching | 掘金搜索与文章获取
    Added support for Juejin (掘金) platform search and full article content extraction
    新增掘金平台搜索支持和完整文章内容提取功能

  • GitHub README Fetching | GitHub README 获取
    New tool fetchGithubReadme for extracting README content from GitHub repositories
    新增 fetchGithubReadme 工具,用于提取 GitHub 仓库的 README 内容

  • Enhanced Multi-engine Support | 增强的多引擎支持
    Now includes: Bing, DuckDuckGo, Baidu, CSDN, Exa, Brave, Juejin
    现已包含:Bing、DuckDuckGo、百度、CSDN、Exa、Brave、掘金

  • Cross-platform Environment Variable Support | 跨平台环境变量支持
    Better Windows PowerShell compatibility and cross-env support for local development
    更好的 Windows PowerShell 兼容性和本地开发的 cross-env 支持

  • Improved Docker Deployment | 改进的 Docker 部署
    Enhanced Docker configuration with better environment variable handling
    增强的 Docker 配置,更好的环境变量处理


🛠️ Setup Options | 安装选项

  • NPX Quick Start | NPX 快速启动 (npx open-websearch@latest) - NEW! | 新功能!
  • Global Installation | 全局安装 (npm install -g open-websearch)
  • Local Development | 本地开发 (npm install && npm run build)
  • Docker Deployment | Docker 部署 (docker-compose or docker run)
  • Compatible with Claude Desktop, Claude VSCode extension, and Cherry Studio
    兼容 Claude Desktop、Claude VSCode 扩展和 Cherry Studio

🔧 Available Tools | 可用工具

  • search - Multi-engine web search with configurable engines | 可配置引擎的多引擎网络搜索
  • fetchCsdnArticle - Extract full CSDN article content | 提取完整 CSDN 文章内容
  • fetchJuejinArticle - Extract full Juejin article content NEW! | 新功能!
  • fetchGithubReadme - Fetch GitHub repository README files NEW! | 新功能!

📌 Configuration | 配置

Environment Variables | 环境变量:

  • DEFAULT_SEARCH_ENGINE: bing, duckduckgo, exa, brave | 默认搜索引擎
  • USE_PROXY / PROXY_URL: HTTP proxy support | HTTP 代理支持
  • ENABLE_CORS / CORS_ORIGIN: CORS configuration | CORS 配置
  • PORT: Custom server port | 自定义服务器端口

📌 Known Limitations | 已知限制

  • Some engines may block excessive requests (rate limiting)
    某些引擎可能会阻止过多请求(频率限制)
  • Parsing depends on HTML structure of target sites
    解析依赖于目标站点的 HTML 结构
  • IP-based Anti-crawling & JavaScript Challenges | 基于IP的反爬限制与JavaScript挑战
    Different IP types may face varying levels of anti-crawling restrictions and challenges:
    不同IP类型可能面临不同程度的反爬限制和挑战:
    • Cloud server IPs may be more strictly limited, blocked, or face JavaScript challenges (CAPTCHA, bot detection)
      云服务器IP可能受到更严格的限制、封禁,或面临JavaScript挑战(验证码、机器人检测)
  • Not all results include meta info (e.g., description may be missing)
    并非所有结果都包含元信息(例如,描述可能缺失)
  • Personal use only - please comply with search engine terms of service
    仅限个人使用 - 请遵守搜索引擎服务条款

🔄 Migration from v1.1 | 从 v1.1 升级说明

No breaking changes - existing configurations remain compatible. Simply update to the latest version to access new features.
无破坏性更改 - 现有配置保持兼容。只需更新到最新版本即可使用新功能。


📦 v1.1

10 Jul 08:08

Choose a tag to compare

Release Date: July 10, 2025
Tag: v1.1


🚀 What's New

  • Multi-engine web search support
    Engines: Bing, DuckDuckGo, Baidu, CSDN, Exa, Brave
  • API key-free usage
    Fully functional without requiring authentication or keys
  • Proxy support
    Allows configuration of HTTP proxy to bypass regional restrictions
  • Structured output
    Includes title, URL, and description fields in search results
  • Default engine configuration
  • Result limit customization
  • Article fetching tool for CSDN
    Enables full content extraction from individual articles

🛠️ Setup Options

  • Local: npm install && npm run build
  • Docker: docker-compose or docker run
  • Compatible with: Claude Desktop, Claude VSCode Extension, Cherry Studio