SKILL.md
1.9 KB
name: l1-search-engine description: "L1 原子技能:搜索引擎调用。通过命令行搜索获取结构化搜索结果。" layer: 1 domain: sensing keywords:
- search
- bing
- query
- web search input_schema: "{ query: string, num_results?: number }" output_schema: "{ results: [{ title: string, url: string, snippet: string }] }" ---
L1: Search Engine(搜索引擎原子技能)
能力
根据关键词执行网络搜索,返回标题、URL 和摘要列表。
使用方法
方法 1: 使用 curl + DuckDuckGo(无需 API Key)
curl -sL "https://html.duckduckgo.com/html/?q=$(python3 -c "import urllib.parse; print(urllib.parse.quote('搜索关键词'))")" \
-H "User-Agent: Mozilla/5.0" | python3 -c "
import sys, re
html = sys.stdin.read()
results = re.findall(r'<a rel=\"nofollow\" class=\"result__a\" href=\"([^\"]+)\"[^>]*>(.*?)</a>.*?<a class=\"result__snippet\"[^>]*>(.*?)</a>', html, re.DOTALL)
for i, (url, title, snippet) in enumerate(results[:10], 1):
title = re.sub(r'<[^>]+>', '', title).strip()
snippet = re.sub(r'<[^>]+>', '', snippet).strip()
print(f'{i}. {title}')
print(f' URL: {url}')
print(f' {snippet}\n')
"
方法 2: 使用 ddgr(如已安装)
ddgr --num 5 --json "搜索关键词" 2>/dev/null
方法 3: 使用 Google(备选)
curl -sL "https://www.google.com/search?q=$(python3 -c "import urllib.parse; print(urllib.parse.quote('搜索关键词'))")&num=5" \
-H "User-Agent: Mozilla/5.0"
输入
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| query | string | ✅ | 搜索关键词 |
| num_results | number | ❌ | 返回结果数量,默认 5 |
输出
结构化的搜索结果列表,每条包含标题、URL、摘要。
约束
- 默认返回前 5 条结果
- 优先使用 DuckDuckGo(无需 API Key)
- 如果被限流,间隔 3 秒后重试一次