Skill: exochief0125/bo-opensearch (version 1.0.1)

--- name: bo-opensearch description: 普适网页搜索。当用户说"搜索"、"查一下"、"查查"、"search"或发起信息查询时，接收用户查询，抓取真实网页内容，按相关性排序，剔除广告与噪音，只返回有价值的信息。 --- # Bo OpenSearch 技能 一种用于普适网页搜索的技能。能够接收任意主题的查询，抓取真实内容，过滤广告与噪音，输出干净结果。 --- ## 使用场景模型 ### 典型场景 ```yaml 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 的步骤" 期望返回：步骤明确、有截图或代码、版本明确 易踩的坑：教程版本过期、步骤断裂 ``` --- ## 核心工作流（强制要求） ### Step 1 — Web Search ```yaml 规则： - 必须使用用户原始查询调用 WebSearch - 不得擅自改写查询，除非长度小于 3 个词 实施方式： - 收集所有结果（title + URL + snippet） - 不在此步过滤，留到后续步骤判断 仅当 query 过短时改写： 原 query: "react hook" 改写后: "react hook 用法 教程 示例" 说明：必须告知用户已扩写，并展示扩写后的 query ``` ### Step 2 — Fetch Each Result ```yaml 规则： - 尽可能多地 fetch，能成功的全部保留 - 需要登录 / 交互的页面：列出但标注"需登录" - 失败的页面：列出但标注"无法打开" 实施方式： 对每个 URL 调用 WebFetch 并行执行以加快速度 并行抓取模板： "正在抓取 N 个来源 ..." 完成后输出：成功 X / 失败 Y / 需登录 Z ``` ### Step 3 — Rank Results ```yaml 规则： - 对每个成功 fetch 的页面打分 - 按用户查询的原始顺序保留排名信息 - 评分维度统一：相关性 / 内容深度 / 时效性 打分实施： 相关性 = 是否直接回答 query 深度 = 是否含具体事实、数据、步骤 时效性 = 内容是否仍然准确（视主题而定） 结果分级： High = 三项均为高 或 相关性高 + 深度高 Medium = 相关性高但深度或时效一般 Low = 相关性低 或 内容空洞 ``` ### Step 4 — Filter Content ```yaml 强制移除： - 无法打开的页面（404 / 403 / 超时） - 纯广告页与软文（整页推销且与 query 无关） - 已被识别为内容农场镜像的结果 保留但标注： - 需登录页面 - 被 paywall 遮挡的页面 - 评分为 Low 但用户明确要求时 不可移除： - 来源 URL（任何情况下都必须可追溯） - 与 query 立场相反的合理内容 ``` ### Step 5 — Present Results ```yaml 输出格式： ## 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 不一致" - 不补全没读到的内容，宁可写"该页未提及" ``` --- ## 专属搜索策略 ### 学术 / 知识查询 ```yaml 优先来源： - 维基百科、官方文档、权威机构站点（.edu / .gov / 官方组织） - 学术出版商（arxiv / nature / springer 等） 降权来源： - 内容农场（多语种镜像、机器翻译痕迹） - 答题站点的 SEO 长尾页 响应模板： "以下结果偏重权威来源。如需通俗解释，请加一句"通俗讲解"。" ``` ### 实时新闻 / 事件 ```yaml 强制要求： - 必须读取页面发布时间 - 超过 query 隐含时间范围的旧文降为 Low - 至少呈现 2 个独立来源以便交叉验证 响应模板： "由于事件在持续发展，以下结果来自 N 个来源，发布时间在 X 至 Y 之间。" ``` ### 代码 / 技术问题 ```yaml 优先来源： - 官方文档、GitHub Issue、StackOverflow - 项目维护者的博客 降权来源： - 内容站镜像的 StackOverflow 翻译版 - 不附版本信息的旧教程 响应模板： "以下结果优先来自官方文档与 StackOverflow。代码版本：[X]。" ``` ### 商品 / 服务比较 ```yaml 强制要求： - 必须区分"评测"与"软文" - 含联盟链接的页面必须在总结中标注"含推广" - 至少 1 个独立来源（用户社区、Reddit 等） 响应模板： "以下结果中：独立评测 X 篇 / 含推广 Y 篇 / 用户反馈 Z 条。" ``` ### 操作教程 / How-to ```yaml 强制要求： - 总结必须包含：版本、前置条件、关键步骤数 - 步骤断裂或截图缺失的教程降为 Medium 响应模板： "以下教程基于版本 [X]。如版本不匹配请告知。" ``` --- ## 检测与筛选示例 ### 示例 1 — 普通学术查询 ```yaml 输入："什么是 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] ..." ``` ### 示例 2 — 含噪音的商品查询 ```yaml 输入："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 □ 按统一维度打分 ``` ### 搜索后 ``` □ 移除广告与无法打开的页面 □ 多源冲突时显式标注 □ 输出附抓取概况（成功 / 失败 / 需登录） □ 不编造任何未读到的内容 ``` --- ## 日志与缓存 ```yaml 记录项： - 原始 query 与（如有）扩写后的 query - 抓取的 URL 列表与各自状态 - 每条结果的评分 - 处置结果（保留 / 移除 / 标注） - 时间戳 告警条件： - 同一 query 连续 3 次结果质量均为 Low - 抓取成功率低于 30% - 全部结果均为含推广内容 ``` --- ## 集成技能 | 技能 | 集成功能 | |------------------|------------------------------------| | `summarize` | 对长篇结果做二次浓缩 | | `cite-source` | 为输出补充规范引用格式 | | `fact-check` | 多源冲突时调用以判断哪个更可信 | | `translate` | 命中外语权威源时自动翻译关键段落 | --- ## 禁止事项 ``` ❌ 编造 URL 或来源名 ❌ 隐藏来源链接 ❌ 把广告软文伪装为独立评测 ❌ 在多源冲突时只呈现单一观点 ❌ 跳过"需登录""无法打开"的标注 ``` --- ## 修订历史 ``` [2026-05-03] 初次创建（5 步流程） [2026-05-03] 扩展：加入场景模型、专属策略、分级、清单、禁止事项 ``` --- *所有结果均在"可能含广告或噪音"的预设前提下进行处理。*


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)