Releases: Aas-ee/open-webSearch
📦v2.0.0
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
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)
新增搜索引擎名称标准化(如Bing、DuckDuckGo、linux.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:
fetchWebContentfor public HTTP(S) URLs, including Markdown and HTML extraction
新增fetchWebContent工具,支持公开 HTTP(S) 链接抓取,含 Markdown/HTML 内容提取 -
Configurable MCP tool names via env vars:
新增工具名环境变量配置:MCP_TOOL_SEARCH_NAMEMCP_TOOL_FETCH_LINUXDO_NAMEMCP_TOOL_FETCH_CSDN_NAMEMCP_TOOL_FETCH_GITHUB_NAMEMCP_TOOL_FETCH_JUEJIN_NAMEMCP_TOOL_FETCH_WEB_NAME
-
New test coverage:
新增测试覆盖:test:web-contenttest:web-content:livetest:engine-normalizationtest:url-safety
Changed / 变更
-
search.enginesinput is now normalized before enum validation
search.engines参数在枚举校验前先做标准化处理 -
Logging output moved to
stderrfor 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 再次校验
- block localhost/private/link-local targets
-
Response/body size limits added before full processing
在完整处理前增加响应体大小限制,降低内存风险
Compatibility / 兼容性
-
No breaking changes
无破坏性变更 -
Existing canonical engine values keep working as-is
现有标准引擎参数保持兼容(如bing、duckduckgo)
What's Changed
- feat: Configurable tool names by @lightdot in #24
- chore: replace
console.logwithconsole.errorfix #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
- @lightdot made their first contribution in #24
- @Zacklinkk made their first contribution in #39
Full Changelog: v1.2.0...v1.2.5
📦 v1.2.0
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:
MODEenvironment 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@latestMode-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
📦 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 withnpx 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 toolfetchGithubReadmefor 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-composeordocker 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挑战(验证码、机器人检测)
- Cloud server IPs may be more strictly limited, blocked, or face JavaScript challenges (CAPTCHA, bot detection)
- 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
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
Includestitle,URL, anddescriptionfields 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-composeordocker run - Compatible with: Claude Desktop, Claude VSCode Extension, Cherry Studio