用途
Open WebSearch Maintainer 用于在修改 open-websearch 代码库本身时提供维护指导。当变更涉及搜索引擎、代理或 TLS 行为、工具注册、实时解析行为时,应使用该技能。
如果该技能与当前仓库行为不一致,应以仓库代码、测试和预期变更范围为准,并在完成前更新技能或文档。
变更分类
首先对变更进行分类,作为执行入口点:
- 引擎变更:新增引擎、引擎解析、引擎分页、反机器人处理。
- 网络变更:代理、TLS、请求构建器、Playwright 交互、浏览器回退。
- 工具接口变更:MCP 工具注册、schema、引擎规范化、配置暴露。
- 仅验证变更:测试、文档或发布卫生,且不打算改变代码路径行为。
选择其中一个类别,只加载与之匹配的清单,仅当变更的代码路径实际跨越该边界时才扩大范围。
范围纪律
- 将修复保持在真实故障面允许的局部范围内。
- 没有证据时,不要将解析或引擎特定问题变成共享网络重构。
- 不要为了让单个测试通过而放宽不安全或兼容性行为。
- 除非变更是有意、经过验证并有文档记录的,否则不要更改工具契约或全局行为。
核心规则
- 除非变更明确要求破坏性变更,否则保持 MCP 工具契约稳定。
- 基于 Axios 的网络请求应通过共享 HTTP 请求构建器,而不是临时处理代理。
- 将代理、TLS 和 Playwright 行为视为横切关注点,变更后显式验证。
- 新增引擎或改变行为时,更新测试和 README 文件。
禁止事项
- 不要为一次性引擎修复绕过共享 HTTP 请求构建器。
- 除非仓库明确采用该策略,否则不要在单个引擎中静默分叉代理行为。
- 不要将不安全 TLS 行为扩大到需要它的狭窄代码路径之外。
- 不要在未检查测试、配置处理和 README 文件的情况下更改工具契约。
- 如果变更仅涉及结果解析或文档,不要触碰共享网络代码。
变更清单
新增或更改搜索引擎时:
- 更新 src/config.ts
- 更新 src/tools/setupTools.ts
- 添加或更新引擎测试
- 更新 README.md 和 README-zh.md
更改网络行为时:
- 优先使用 src/utils/httpRequest.ts
- 对 Axios 保持 proxy: false 行为显式
- 保持不安全 TLS 为选择性加入,且仅在必要时限定范围
验证
- 首先运行 TypeScript 检查。
- 运行受影响区域的针对性测试。
- 当变更依赖真实网络行为时,运行实时测试。
审查重点
- 分页和空结果处理
- 反机器人 / 验证页面检测
- 代理与 USE_PROXY 和 PROXY_URL 的交互
- 请求模式与 Playwright 模式的行为
- 文档漂移
实现变更时阅读 references/workflow.md,在最终确定补丁前阅读 references/validation.md。