Multi Search Engine
一个面向 Research 场景的 Agent 技能。原始说明:Multi search engine integration with 16 engines (7 CN + 9 Global). Supports advanced search operators, time filters, site search, privacy engines, and Wolfra...
name: bo-opensearch
description: 普适网页搜索。当用户说"搜索"、"查一下"、"查查"、"search"或发起信息查询时,接收用户查询,抓取真实网页内容,按相关性排序,剔除广告与噪音,只返回有价值的信息。
一种用于普适网页搜索的技能。能够接收任意主题的查询,抓取真实内容,过滤广告与噪音,输出干净结果。
1. 学术 / 知识查询:
场景特征:用户问"什么是 X"、"X 的原理"、"X 的研究进展"
期望返回:权威来源、定义清晰、引用充分
易踩的坑:被内容农场(content farm)SEO 抢占首页
2. 实时新闻 / 事件:
场景特征:用户问"X 现在怎么样"、"今天 X 发生了什么"
期望返回:发布时间近、来源多样、可交叉验证
易踩的坑:旧文被算法重新置顶、单一来源偏见
3. 代码 / 技术问题:
场景特征:用户问报错信息、API 用法、最佳实践
期望返回:StackOverflow / 官方文档 / GitHub Issue 优先
易踩的坑:被翻译站和 SEO 农场镜像污染
4. 商品 / 服务比较:
场景特征:用户问"X 和 Y 哪个好"、"X 值不值得买"
期望返回:独立评测、用户反馈、不含联盟营销链接
易踩的坑:整页都是广告软文,难以分辨真实评价
5. 操作教程 / How-to:
场景特征:用户问"怎么做 X"、"X 的步骤"
期望返回:步骤明确、有截图或代码、版本明确
易踩的坑:教程版本过期、步骤断裂
规则:
- 必须使用用户原始查询调用 WebSearch
- 不得擅自改写查询,除非长度小于 3 个词
实施方式:
- 收集所有结果(title + URL + snippet)
- 不在此步过滤,留到后续步骤判断
仅当 query 过短时改写:
原 query: "react hook"
改写后: "react hook 用法 教程 示例"
说明:必须告知用户已扩写,并展示扩写后的 query
规则:
- 尽可能多地 fetch,能成功的全部保留
- 需要登录 / 交互的页面:列出但标注"需登录"
- 失败的页面:列出但标注"无法打开"
实施方式:
对每个 URL 调用 WebFetch
并行执行以加快速度
并行抓取模板:
"正在抓取 N 个来源 ..."
完成后输出:成功 X / 失败 Y / 需登录 Z
规则:
- 对每个成功 fetch 的页面打分
- 按用户查询的原始顺序保留排名信息
- 评分维度统一:相关性 / 内容深度 / 时效性
打分实施:
相关性 = 是否直接回答 query
深度 = 是否含具体事实、数据、步骤
时效性 = 内容是否仍然准确(视主题而定)
结果分级:
High = 三项均为高 或 相关性高 + 深度高
Medium = 相关性高但深度或时效一般
Low = 相关性低 或 内容空洞
强制移除:
- 无法打开的页面(404 / 403 / 超时)
- 纯广告页与软文(整页推销且与 query 无关)
- 已被识别为内容农场镜像的结果
保留但标注:
- 需登录页面
- 被 paywall 遮挡的页面
- 评分为 Low 但用户明确要求时
不可移除:
- 来源 URL(任何情况下都必须可追溯)
- 与 query 立场相反的合理内容
输出格式:
## Search Results for: <user's query>
### 1. <Title> — <Source Name> [High / Medium / Low]
<URL>
<2–5 句关于有用内容的总结>
### 2. <Title> — <Source Name> [...]
...
---
抓取概况:成功 X / 失败 Y / 需登录 Z
总结撰写规则:
- 用平实语言,不照搬营销文案
- 多源冲突时必须明确指出"来源 A 与来源 B 不一致"
- 不补全没读到的内容,宁可写"该页未提及"
优先来源:
- 维基百科、官方文档、权威机构站点(.edu / .gov / 官方组织)
- 学术出版商(arxiv / nature / springer 等)
降权来源:
- 内容农场(多语种镜像、机器翻译痕迹)
- 答题站点的 SEO 长尾页
响应模板:
"以下结果偏重权威来源。如需通俗解释,请加一句"通俗讲解"。"
强制要求:
- 必须读取页面发布时间
- 超过 query 隐含时间范围的旧文降为 Low
- 至少呈现 2 个独立来源以便交叉验证
响应模板:
"由于事件在持续发展,以下结果来自 N 个来源,发布时间在 X 至 Y 之间。"
优先来源:
- 官方文档、GitHub Issue、StackOverflow
- 项目维护者的博客
降权来源:
- 内容站镜像的 StackOverflow 翻译版
- 不附版本信息的旧教程
响应模板:
"以下结果优先来自官方文档与 StackOverflow。代码版本:[X]。"
强制要求:
- 必须区分"评测"与"软文"
- 含联盟链接的页面必须在总结中标注"含推广"
- 至少 1 个独立来源(用户社区、Reddit 等)
响应模板:
"以下结果中:独立评测 X 篇 / 含推广 Y 篇 / 用户反馈 Z 条。"
强制要求:
- 总结必须包含:版本、前置条件、关键步骤数
- 步骤断裂或截图缺失的教程降为 Medium
响应模板:
"以下教程基于版本 [X]。如版本不匹配请告知。"
输入:"什么是 RAG"
执行轨迹:
Step 1: WebSearch → 10 条结果
Step 2: Fetch → 成功 8 / 失败 1 / 需登录 1
Step 3: 评分 → High 3 / Medium 4 / Low 1
Step 4: 移除 1 条纯广告
Step 5: 输出 7 条干净结果
呈现:
"## Search Results for: 什么是 RAG
### 1. RAG: Retrieval-Augmented Generation — Meta AI [High]
..."
输入:"2026 年最好的笔记本"
执行轨迹:
Step 1: WebSearch → 10 条结果,多数为带联盟链接的"榜单文"
Step 2: Fetch → 成功 9 / 失败 1
Step 3: 评分 → High 1 / Medium 3 / Low 5(含推广 5 篇)
Step 4: 不移除推广,但全部标注"含推广"
Step 5: 输出时附说明:"独立评测 1 / 含推广 5 / 用户反馈 3"
呈现:
"提示:本主题大量结果为含推广榜单。独立评测仅 1 篇,建议补充 Reddit 等社区反馈。"
□ 确认 query 是否清晰(过短则扩写并告知用户)
□ 判断属于哪类场景(学术 / 新闻 / 代码 / 商品 / 教程)
□ 选择对应的专属策略
□ 用原始 query 调用 WebSearch
□ 并行 fetch 所有可达 URL
□ 记录失败与需登录的 URL
□ 按统一维度打分
□ 移除广告与无法打开的页面
□ 多源冲突时显式标注
□ 输出附抓取概况(成功 / 失败 / 需登录)
□ 不编造任何未读到的内容
记录项:
- 原始 query 与(如有)扩写后的 query
- 抓取的 URL 列表与各自状态
- 每条结果的评分
- 处置结果(保留 / 移除 / 标注)
- 时间戳
告警条件:
- 同一 query 连续 3 次结果质量均为 Low
- 抓取成功率低于 30%
- 全部结果均为含推广内容
| 技能 | 集成功能 |
|------------------|------------------------------------|
| summarize | 对长篇结果做二次浓缩 |
| cite-source | 为输出补充规范引用格式 |
| fact-check | 多源冲突时调用以判断哪个更可信 |
| translate | 命中外语权威源时自动翻译关键段落 |
❌ 编造 URL 或来源名
❌ 隐藏来源链接
❌ 把广告软文伪装为独立评测
❌ 在多源冲突时只呈现单一观点
❌ 跳过"需登录""无法打开"的标注
[2026-05-03] 初次创建(5 步流程)
[2026-05-03] 扩展:加入场景模型、专属策略、分级、清单、禁止事项
所有结果均在"可能含广告或噪音"的预设前提下进行处理。