解决用户在多种场景下不知道该用哪个搜索工具、信息源分散导致搜索效率低的问题。通过opencli命令将查询智能路由到最佳数据源,支持社交媒体、技术文档、新闻资讯、购物旅游、求职金融等多领域,一次查询自动选择最优AI源加专用源组合,输出包含搜索摘要的完整答案。产出:结构化搜索结果加来源追踪记录。
智能搜索路由器
【适用场景】
- 多源信息调研:用户需要从多个平台(社交媒体、技术论坛、新闻网站、电商平台)同时获取信息,但不知道各平台搜索命令 - 跨语言搜索:同时搜索中文和英文内容,需要在不同语言或地区的搜索源之间切换 - 专业领域检索:金融数据、技术文档、学术论文等垂直领域,需要专用搜索源而非通用AI - 搜索效率优化:不想记忆各种搜索工具的命令,希望AI自动选择最优搜索源
【操作步骤】
第一步:预检可用搜索源
在使用搜索技能之前,Agent必须先运行以下命令确认当前环境中的可用搜索源:
```bash opencli list -f yaml ```
运行后查看候选站点是否存在,并检查每个站点的 `strategy`、`browser`、`domain` 字段。
第二步:查看具体站点帮助
确定目标站点后,查看该站点的子命令和参数:
```bash opencli <site> -h # 查看站点所有子命令 opencli <site> <command> -h # 查看具体命令的参数和输出格式 ```
第三步:执行智能路由搜索
根据用户查询内容,智能选择最优搜索源组合:
规则一:用户明确指定网站或平台时,直接使用对应站点
规则二:用户未指定时,优先选择一个AI源(`grok`、`doubao`、`gemini` 三选一)
规则三:AI结果不足时,补充1到2个专用源(社交媒体、技术文档、电商等)
第四步:记录搜索台账
每次执行搜索后,立即更新台账记录:
| 字段 | 内容 |
|---|---|
| site | 使用的搜索站点 |
| query | 搜索词 |
| count | 调用次数 |
| status | 成功或失败或限频 |
第五步:输出搜索摘要
在最终回答末尾追加搜索摘要,格式如下:
```markdown 搜索摘要 - 网站:doubao | 查询词:2024年AI产品趋势 | 次数:1 - 网站:xquik | 查询词:AI产品 | 次数:1 - 已跳过:github,原因:达到频率上限 ```
【代码模板】
完整搜索工作流模板
```bash #!/bin/bash
智能搜索路由器工作流
1. 预检可用源
opencli list -f yaml > sources.yaml2. 分析查询类型
QUERY="$1" LANG="$2" # zh 或 en3. 选择AI源(默认grok)
if [ "$LANG" = "zh" ]; then AI_SOURCE="doubao" else AI_SOURCE="grok" fi4. 执行AI搜索
opencli $AI_SOURCE -s "$QUERY"5. 补充专用源(如需要)
opencli github -s "$QUERY"
opencli amazon -s "$QUERY"
6. 输出搜索摘要
echo "搜索摘要" echo "- 网站:$AI_SOURCE | 查询词:$QUERY | 次数:1" ```搜索结果解析模板
```python import subprocess import re
def parse_search_result(output): results = [] lines = output.split('\n') for line in lines: if line.strip(): title_match = re.search(r'\[(.?)\]\((.?)\)', line) if title_match: results.append({ 'title': title_match.group(1), 'url': title_match.group(2) }) return results
def format_summary(sources_used, queries, counts): summary = "搜索摘要\n" for source, query, count in zip(sources_used, queries, counts): summary += f"- 网站:{source} | 查询词:{query} | 次数:{count}\n" return summary ```
【复盘要点】
常见问题处理
问题一:某个搜索源不可用或被限频
解决:不要中止搜索,立即切换到同类其他站点。例如 `github` 被限频,可改用 `gitlab` 或直接使用 AI 源 `grok`。
问题二:搜索结果过载或质量差
解决:添加限定条件(时间范围、地区、语言、平台)来缩小搜索范围。例如:`opencli doubao -s "AI产品 + 2024 + 中国"`。
问题三:不确定该用哪个搜索源
解决:先用 `opencli list -f yaml` 查看所有可用站点,再根据查询主题判断最相关的1到2个专用源,避免同时调用太多站点导致结果过载。
频率限制红线
| 源类型 | 单题上限 | 规则 |
|---|---|---|
| AI源(grok/doubao/gemini) | 1次每题 | 同一题内每个AI源最多调用1次 |
| 非AI专用源 | 2次每题 | 必须有明确理由才能调用第2次 |
| 预检命令(-h 帮助) | 不限 | 不计入搜索次数 |
质量检查清单
- [ ] 每次搜索前先运行 `opencli list -f yaml` 确认源可用 - [ ] 每个搜索命令执行后立即更新台账 - [ ] 最终回答包含完整的「搜索摘要」段落 - [ ] 限频时主动跳过并说明原因,不无限重试 - [ ] 优先选择专用源而非AI源,除非用户未指定平台
来源:Skills.sh https://www.skills.sh/mxyhi/ok-skills/smart-search