Agent skill
search-and-fetch
通用网页搜索与内容提取技能。多源并行搜索(WebSearch、MCP 搜索工具、ctx7、agent-browser)、网页正文提取(crwl)与结构化文章分析。当用户需要搜索信息、研究主题、查找资料、获取网页内容、阅读文章、分析网页时使用。触发场景包括:搜索、研究、调研、fetch、查一下、帮我找、读这个链接、分析这篇文章。即使用户没有明确说"搜索",只要涉及信息获取和网页内容处理都应触发此技能。
Install this agent skill to your Project
npx add-skill https://github.com/zhuxining/AgentOS/tree/main/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 — 结果综合
- 去重:按 URL 去重,合并来自不同来源的同一页面信息
- 分组:按子主题或关联度分组
- 排序:按相关性和信息质量排序
- 输出格式:
## 搜索结果:[查询主题]
### [子主题 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):
- 页面标题和原始 URL
- 一句话摘要
- 关键要点(要点列表)
- 五维分析(按适用维度输出)
- 完整正文(提取的干净 markdown 全文)
- 提取的实体:提到的工具/软件、股票/公司、人物(姓名+身份)、书籍/论文/资源
降级策略
当某个工具不可用时的处理方式:
| 工具不可用 | 影响 | 替代方案 |
|---|---|---|
| crwl | 无法提取内容 | 降级到 agent-browser |
| MCP 搜索 | 搜索来源减少 | 用 WebSearch 处理所有查询 |
| ctx7 | 无库文档搜索 | 用 WebSearch + site:xxx 定向搜索 |
| agent-browser | 无法处理 JS 重度页面 | 告知用户,提取失败 |
| 全部搜索工具 | 无法搜索 | 告知用户,建议直接提供 URL |
不要因为某个工具失败就中断流程——始终尝试下一个降级方案,直到全部耗尽才告知用户。
集成协议
本技能可被其他技能委托调用。调用方在自己的 SKILL.md 中指定"委托 search-and-fetch"即可。
被委托时的行为
- 按调用方指定的模式(Search/Fetch)执行
- 使用集成模式输出格式
- 不直接与用户交互后续问题(由调用方处理)
- 如果内容提取完全失败,返回失败标记和原因,由调用方决定如何告知用户
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
obsidian-knowledge
指导 Agent 助理如何在共享的 MyObsidian vault 中进行知识管理。当需要创建、整理、检索笔记,维护每日笔记,管理 _AgentSpace 知识库,或将已提取的网页内容保存到知识库时使用。触发关键词:记录、笔记、整理、归档、每日、任务、保存到知识库、知识、术语、记下来、记住、审计知识库。
news
新闻聚合与资讯获取技能。根据预配置的信息源,调用 search-and-fetch 抓取最新新闻并输出结构化摘要。当用户需要获取新闻简报、了解某个话题的最新动态、查看特定媒体的最新内容时触发。触发场景:今日新闻、新闻简报、资讯、briefing、最新动态、看看 X 今天有什么、帮我追踪、日报、早报、晚报。即使用户没说"新闻",只要涉及获取最新信息、行业动态、热点追踪都应触发此技能。
memory
macos-screenshot
macOS 截屏技能。当需要截取屏幕截图时使用。触发词:截屏、截图、screenshot。
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
Didn't find tool you were looking for?