skills/zhuxining/skills/search-and-fetch

search-and-fetch

SKILL.md

Search & Fetch

通用搜索与内容提取技能,提供两个核心能力:搜索模式(多源并行搜索 + 结果综合)和提取模式(URL 内容提取 + 结构化分析)。

工具概览

本技能编排以下几类工具,按需组合使用:

类别 工具 说明
内置搜索 WebSearch DuckDuckGo 搜索,始终可用
MCP 搜索 当前环境中可用的 MCP 搜索工具 中文搜索、专业搜索等,按可用性自动选用
技术文档 ctx7 CLI 编程库/框架官方文档查询
浏览器 agent-browser CLI 访问搜索引擎、页面交互(Rust 原生,token 高效)
内容提取 crwl CLI → agent-browser 按优先级降级

具体调用语法参见 references/tool-catalog.md

意图检测

本技能负责所有 URL 和搜索意图的识别与路由。根据用户输入自动判断:

URL 检测

情况 处理
消息仅含 URL(无其他文字,或只有 URL + 空格/标点) 直接进入 Fetch Mode
消息含 URL + 阅读意图("读一下"、"分析"、"看看这个") 直接进入 Fetch Mode
消息含 URL + 保存意图("保存"、"clip"、"save"、"归档") Fetch Mode 完成后,自动触发知识库技能的 Clipping Save
URL 出现在较长消息中,意图不明 询问:"要我提取内容分析,还是只需要链接?"
URL 明显是工具性的(localhost、内网地址、文件路径) 不触发

搜索检测

情况 处理
用户提问、研究主题、需要查找信息 Search Mode
提供 URL + "搜索更多类似的" 先 Fetch 再 Search
其他技能委托调用 按委托方指定的模式执行

Search Mode

多源并行搜索,综合去重后输出结构化结果。

Step 1 — 查询分类

根据查询内容判断类型,选择工具组合:

查询类型 判断依据 工具组合
技术文档 涉及编程库、API、框架用法 ctx7(library → docs)+ WebSearch
通用查询 一般性问题 WebSearch + MCP 搜索 并行(中文查询优先 MCP 搜索)
深度研究 用户明确要求全面/深入调研 全部工具并行,含 agent-browser 访问 Google/Bing

Step 2 — 并行执行搜索

根据分类结果,在同一轮响应中并行调用多个搜索工具。工具调用细节参见 references/tool-catalog.md

关键原则

  • 独立工具并行调用,不等待
  • context7 有顺序依赖:先 ctx7 library 解析库 ID,再 ctx7 docs 查询内容(每个问题最多 3 次调用)
  • 对同一查询可以为不同搜索引擎调整措辞(如中文查询给 MCP 搜索原文,给 WebSearch 翻译为英文)
  • 深度研究时使用 agent-browser 打开 Google/Bing 搜索页,通过 snapshot 获取元素引用后提取结果

Step 3 — 结果综合

  1. 去重:按 URL 去重,合并来自不同来源的同一页面信息
  2. 分组:按子主题或关联度分组
  3. 排序:按相关性和信息质量排序
  4. 输出格式
## 搜索结果:[查询主题]

### [子主题 1]
- 要点摘要(来源:[标题](url)- 要点摘要(来源:[标题](url)
### [子主题 2]
- ...

---
**来源列表**
1. [标题](url) — 简述
2. [标题](url) — 简述

Step 4 — 后续操作

搜索结果展示后,提供后续选项:

  • "要我读取某个链接的完整内容吗?" → 转入 Fetch Mode
  • "要保存到知识库吗?" → 引导用户触发知识管理技能
  • 用户可继续追问以缩小或扩大搜索范围

Fetch Mode

从 URL 提取干净内容并进行结构化分析。

Step 1 — 提取内容

按优先级尝试,前一个失败(报错、返回空、内容 < 100 字符)时自动降级:

1. crwl <url> -o md-fit                              ← 首选,支持 JS 渲染
2. agent-browser open <url> → snapshot → get text   ← 最终手段

提取成功后记录使用了哪个工具,便于透明告知用户。

工具调用细节参见 references/tool-catalog.md

Step 2 — 结构化分析

根据内容类型选择性应用分析维度。详细模板参见 references/analysis-template.md

内容类型 适用维度
文章、评论、论文 全部五维(文本解构 → 概念提炼 → 批判审视 → 思想深化 → 实践转化)
新闻、产品页 文本解构 + 概念提炼 + 实践转化
教程、技术文档 文本解构 + 概念提炼 + 实践转化
数据页、API 文档、参考表 跳过分析,直接呈现提取内容

Step 3 — 输出

两种输出模式:

独立模式(用户直接使用时):

## [页面标题](url)

**作者**: xxx | **日期**: xxx | **字数**: xxx

### 摘要
一段话总结。

### 分析
[按 analysis-template.md 输出适用维度]

### 关键要点
- 要点一
- 要点二
- 要点三

分析输出后,主动提示:"要保存到知识库吗?" 若用户同意,引导触发知识管理技能的保存流程。

集成模式(被其他技能委托调用时):

以自然语言输出以下信息块,供调用方直接消费(不要输出 JSON):

  1. 页面标题原始 URL
  2. 一句话摘要
  3. 关键要点(要点列表)
  4. 五维分析(按适用维度输出)
  5. 完整正文(提取的干净 markdown 全文)
  6. 提取的实体:提到的工具/软件、股票/公司、人物(姓名+身份)、书籍/论文/资源

降级策略

当某个工具不可用时的处理方式:

工具不可用 影响 替代方案
crwl 无法提取内容 降级到 agent-browser
MCP 搜索 搜索来源减少 用 WebSearch 处理所有查询
ctx7 无库文档搜索 用 WebSearch + site:xxx 定向搜索
agent-browser 无法处理 JS 重度页面 告知用户,提取失败
全部搜索工具 无法搜索 告知用户,建议直接提供 URL

不要因为某个工具失败就中断流程——始终尝试下一个降级方案,直到全部耗尽才告知用户。


集成协议

本技能可被其他技能委托调用。调用方在自己的 SKILL.md 中指定"委托 search-and-fetch"即可。

被委托时的行为

  • 按调用方指定的模式(Search/Fetch)执行
  • 使用集成模式输出格式
  • 不直接与用户交互后续问题(由调用方处理)
  • 如果内容提取完全失败,返回失败标记和原因,由调用方决定如何告知用户
Weekly Installs
3
First Seen
3 days ago
Installed on
amp3
cline3
openclaw3
opencode3
cursor3
kimi-cli3