Skip to content

📦 v2.1.9

Latest

Choose a tag to compare

@Aas-ee Aas-ee released this 30 Apr 07:18
· 13 commits to main since this release

open-websearch v2.1.9

English

This release summarizes changes from v2.1.7 to v2.1.9, mainly improving MCP HTTP CORS compatibility and significantly enhancing Bing Playwright search stability with local
browser session reuse.

Highlights

  • Fixed CORS compatibility for MCP HTTP mode.
    • Allows and exposes the Mcp-Session-Id header.
    • Improves session handling for browser-based MCP HTTP clients.
  • Added local browser session reuse for Bing Playwright search.
    • Avoids launching a new browser for every search.
    • Supports cross-process reuse of local Chromium/Chrome/Edge debugging sessions.
    • Adds browser metadata, locking, and cleanup logic to reduce duplicate launches under concurrency.
  • Improved Playwright search behavior on Windows.
    • Uses hidden-headed mode on Windows when PLAYWRIGHT_HEADLESS=true, reducing the chance of Bing blocking pure headless browsers.
    • Supports selecting Chrome/Edge via PLAYWRIGHT_EXECUTABLE_PATH.
    • Surfaces clearer errors when browser startup fails.
  • Improved Bing search flow.
    • Better search box reuse, search submission, and result readiness detection.
    • Reduces empty, stale, or incorrect result payloads.
    • Improves Bing /ck/a redirect link parsing.
  • Expanded test coverage.
    • Added npm run test and npm run test:list.
    • Added Bing Playwright tests for cross-restart, concurrency, and local browser reuse.
  • Improved Docker build compatibility.
    • Allows Alpine arm64 builds to compile the koffi native dependency.
    • Fixes multi-platform Docker builds failing on linux/arm64 due to missing CMake.

Upgrade Notes

After upgrading, run:

  npm install
  npm run build
  npm run test

For Bing Playwright mode, it is recommended to configure:

PLAYWRIGHT_PACKAGE=playwright-core
PLAYWRIGHT_EXECUTABLE_PATH=/path/to/chrome

———

中文

本次 release 汇总了从 v2.1.7v2.1.9 的变更,主要改进 MCP HTTP CORS 兼容性,并大幅优化 Bing Playwright 搜索的稳定性和本地浏览器复用能力。

主要更新

  • 修复 MCP HTTP 模式下的 CORS 兼容问题。

    • 允许并暴露 Mcp-Session-Id header。
    • 改善浏览器端 MCP 客户端通过 HTTP 调用时的 session 处理。
  • Bing Playwright 搜索支持本地浏览器会话复用。

    • 避免每次搜索都重新启动浏览器。
    • 支持跨进程复用本地 Chromium/Chrome/Edge 调试会话。
    • 增加浏览器元数据、锁和清理逻辑,减少并发搜索下的重复启动问题。
  • 改善 Windows 下的 Playwright 搜索体验。

    • Windows + PLAYWRIGHT_HEADLESS=true 时使用 hidden-headed 模式,降低 Bing 对纯 headless 浏览器的拦截概率。
    • 支持通过 PLAYWRIGHT_EXECUTABLE_PATH 指定 Chrome/Edge。
    • 浏览器启动失败时会暴露更明确的错误信息。
  • 优化 Bing 搜索流程。

    • 改善搜索框复用、搜索提交、结果页等待逻辑。
    • 减少空结果、旧结果、错误结果的问题。
    • 优化 Bing /ck/a 跳转链接解析。
  • 增强测试体系。

    • 新增 npm run testnpm run test:list
    • 新增 Bing Playwright 跨重启、并发、本地浏览器复用测试。
  • Docker 构建兼容性改进。

    • Alpine arm64 构建时可编译 koffi native 依赖。
    • 修复多架构 Docker 镜像在 linux/arm64 下因缺少 CMake 导致构建失败的问题。

升级说明

升级后建议执行:

npm install
npm run build
npm run test

如果使用 Bing Playwright 模式,可以显式配置:

PLAYWRIGHT_PACKAGE=playwright-core
PLAYWRIGHT_EXECUTABLE_PATH=/path/to/chrome

What's Changed

  • feat(server): enhance CORS configuration with custom headers by @Aas-ee in #83
  • feat(playwright): Bing隐藏有头模式+Playwright标签页级复用 by @Ebola-Chan-bot in #75

Full Changelog: v2.1.7...v2.1.9