# Smart Search > Router de búsqueda inteligente basado en comandos opencli: dirige cada consulta a la mejor fuente cuando hay que buscar o investigar información en sitios, redes sociales, noticias, compras, viajes, empleo, finanzas o contenido en chino. Fuente: https://skillsagentes.com/skills/jackwener/opencli/smart-search Markdown: https://skillsagentes.com/skills/jackwener/opencli/smart-search.md Repositorio: https://github.com/jackwener/OpenCLI Autor: jackwener Licencia: Apache-2.0 Actualizado: hace 2 meses Coste de contexto: 70 tok instalada, 1.6k tok al activarse, 4.1k tok con todos los archivos del bundle Bundle: 9 archivos, 16 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add jackwener/OpenCLI --skill smart-search --agent claude-code # Cursor npx -y skills add jackwener/OpenCLI --skill smart-search --agent cursor # Codex npx -y skills add jackwener/OpenCLI --skill smart-search --agent codex # Gemini CLI npx -y skills add jackwener/OpenCLI --skill smart-search --agent gemini # Windsurf npx -y skills add jackwener/OpenCLI --skill smart-search --agent windsurf # Cline npx -y skills add jackwener/OpenCLI --skill smart-search --agent cline ``` ## Qué hace - Enruta cada búsqueda a la fuente opencli más adecuada según el tema, en vez de memorizar comandos fijos. - Obliga a correr opencli list -f yaml y opencli -h antes de buscar, para confirmar que el comando existe. - Limita las llamadas por pregunta: máximo 1 fuente IA salvo comparación explícita, máximo 2 llamadas por fuente no-IA. - Cierra cada respuesta con un resumen de qué sitios se usaron, con qué términos y cuántas veces. ## Cuándo usarla - Cuando el usuario quiere buscar, consultar o investigar algo con OpenCLI sin especificar una fuente exacta. - Cuando hay que elegir entre varias fuentes: redes sociales, noticias, compras, viajes, finanzas o contenido en chino. ## Qué la activa - "Busca las últimas noticias sobre esta empresa" - "Investiga este tema en redes sociales chinas" - "Compara precios de este producto en varias tiendas" ## Antes de instalar - Requiere opencli instalado con adapters de búsqueda activos (grok, doubao, gemini y fuentes verticales por categoría). ## Archivos - SKILL.md — 6 KB - references/sources-ai.md — 3 KB - references/sources-info.md — 968 B - references/sources-media.md — 1 KB - references/sources-other.md — 935 B - references/sources-shopping.md — 795 B - references/sources-social.md — 1 KB - references/sources-tech.md — 1 KB - references/sources-travel.md — 506 B ## SKILL.md Reproducido tal cual desde jackwener/OpenCLI bajo Apache-2.0. Esta sección es el documento original y está en inglés. # 智能搜索路由器 根据话题和场景,将查询路由到最佳的 opencli 搜索源。此 skill 的核心目标不是记忆命令,而是先定位数据源,再让 Agent 通过 `opencli` 自己读取实时帮助,避免文档漂移。 ## 强制预检 每次使用前,必须先做下面两步: - 运行 `opencli list -f yaml` - 用 live registry 确认候选站点是否存在,并检查 `strategy`、`browser`、`domain` 选定站点后,必须再做下面两步: - 运行 `opencli -h` 查看该站点有哪些子命令 - 若已锁定某个子命令,再运行 `opencli -h` 查看参数、输出列、策略 不要在 skill 文档里硬编码参数或假设命令签名;以 `opencli ... -h` 的实时输出为准。 ## 主路由规则 只使用这一条规则,不再维护多套优先级: 1. 当用户明确指定网站、平台或数据源时,直接使用对应网站。 2. 当用户没有指定网站时,优先只选择一个 AI 源:`grok`、`doubao`、`gemini` 三选一。 3. 当 AI 返回内容不足、缺少原始数据、需要权威佐证或需要垂直结果时,再补充 1-2 个专用源。 ## 单题预算与频率限制 把“单个用户问题”理解为同一意图链路下的一次问题求解;同一轮追问、澄清、补充条件,若核心问题未变,仍算同一题。 先建立一份站点调用台账。每次真正执行搜索命令后,立刻更新: - `site` - `query` - `count` - `status` 计数规则: - `opencli list -f yaml`、`opencli -h`、`opencli -h` 属于预检与帮助,不计入搜索次数 - 一次真正的 `opencli ...` 搜索/查询执行,计为该站点 1 次调用 - 同站点因为报错、超时、验证码、反爬、登录态异常而失败,也算 1 次调用,不要无限重试 频率上限: - AI 站点硬限制:同一题内,每个 AI 站点最多调用 1 次 - 默认策略仍然是只选 1 个 AI 站点,不要把多个 AI 站点串成常规流程 - 只有当用户明确要求比较多个 AI 站点时,才可以额外调用其他 AI 站点;但每个被点名的 AI 站点仍然最多 1 次 - 非 AI 站点默认最多调用 2 次 - 非 AI 站点第 2 次调用必须有明确理由,例如第一次结果过宽,需要加时间、地区、类别、排序或关键词限定 - 非 AI 站点不要进行第 3 次调用;若信息仍不足,停止扩搜并明确说明缺口 触发限频后的处理: - 记录:「已跳过: 达到频率上限」 - 优先改用其他同类站点 - 若没有合适替代源,则直接基于已收集信息回答,并说明覆盖范围与缺口 ## 查询结束汇报 每次查询结束后,回答末尾必须追加一段简短的“搜索摘要”,至少包含下面三项: - 使用了什么网站搜索 - 每个网站搜了什么词 - 每个网站搜了几次 如果有被限频跳过的站点,也要明确写出。 建议使用下面的固定格式: ```md 搜索摘要 - 网站: | 查询词: | 次数: - 网站: | 查询词: | 次数: - 已跳过:,原因:达到频率上限 ``` ## AI 源选择 - `grok` 适合实时讨论、英文互联网舆论、Twitter/X 语境、热点追踪。 - `doubao` 适合中文语境、字节抖音生态、生活方式内容、中文热点与泛中文问答。 - `gemini` 适合全球网页、英文资料、通用信息检索、背景综述。 如果用户没有指定网站,默认先判断语言和语境,再从这三个里只选一个。 一旦某个 AI 站点已经执行过一次真实查询,就不要在同一题里改写关键词后再次调用该 AI 站点。若答案不足,优先补专用源,不要反复追打同一个 AI 站点。 ## AI 查询词建议 当使用 AI 源时,不要只丢一个过短关键词。优先构造成“主题 + 目标 + 限定条件”的查询。 - 主题 用户真正要查的对象、事件、产品、人物、公司、技术名词。 - 目标 想要什么结果,例如总结、对比、原因、趋势、推荐、原始线索。 - 限定条件 语言、地区、时间范围、平台范围、受众、价格带、岗位地点、是否要引用原始来源。 优先使用下面这种表达方式: - `<主题> + <你要回答的问题>` - `<主题> + <时间范围/地区/语言>` - `<主题> + <平台或来源范围>` - `<主题> + <输出要求>` 避免只输入: - 单个名词 - 没有时间范围的热点问题 - 没有地区限制的购物、求职、旅游问题 - 没有平台限制的社交媒体问题 ## 专用源补充时机 当出现以下任一情况时,再补充专用源: - AI 给出的是摘要,但你需要原始帖子、原始视频、原始商品或原始职位结果 - AI 覆盖面不足,漏掉垂直站点信息 - 需要更高权威性或更强领域相关性 - 用户明确要求“从某个平台找” 单次查询通常控制在 1 个 AI 源 + 1 到 2 个专用源,避免结果过载。 ## 处理不可用的源 当站点不可用时: - 不要因为单个源失败而中止整个搜索 - 记录:「已跳过: 不可用」 - 回退到同类其他站点,或回退到一个 AI 源 - 始终以 `opencli list -f yaml` 与 `opencli -h` 的实际结果为准 不要假设任何站点“绝对可用”。即使是公开站点,也以当前环境中的 live help 和执行结果为准。 ## 参考文件 根据需要读取对应文件: - **`references/sources-ai.md`** — AI 默认源 - **`references/sources-tech.md`** — 技术 / 学术 - **`references/sources-social.md`** — 社交媒体 - **`references/sources-media.md`** — 媒体 / 娱乐 - **`references/sources-info.md`** — 资讯 / 知识 - **`references/sources-shopping.md`** — 购物 - **`references/sources-travel.md`** — 旅游 - **`references/sources-other.md`** — 其他垂直源 只读与当前查询相关的文件,无需全部加载。 ## Dónde encaja - Categoría: [Investigación](https://skillsagentes.com/categorias/investigacion.md) — Investigación estructurada, búsqueda de fuentes y síntesis. - Creador: [jackwener](https://skillsagentes.com/creators/jackwener.md) — 8 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Opencli Adapter Author](https://skillsagentes.com/skills/jackwener/opencli/opencli-adapter-author.md): Guía de extremo a extremo para escribir un adapter de OpenCLI para un sitio nuevo o un comando nuevo, desde el reconocimiento hasta la decodificación de campos y la verificación. Sustituye a opencli-oneshot y opencli-explorer. - [Opencli Sitemap Author](https://skillsagentes.com/skills/jackwener/opencli/opencli-sitemap-author.md): Para crear o mantener sitemaps de OpenCLI orientados a agentes: navegación, estado de página, acciones, workflows, referencias de API y fallbacks de un sitio. Úsalo tras explorar el navegador o cuando el sitemap quede obsoleto. - [Opencli Usage](https://skillsagentes.com/skills/jackwener/opencli/opencli-usage.md): Punto de partida de cualquier sesión de OpenCLI: mapa de lo que puede hacer, cómo descubrir adapters, qué flags y formatos de salida son universales, y qué skill especializada cargar después. - [Opencli Browser](https://skillsagentes.com/skills/jackwener/opencli/opencli-browser.md): Para cuando un agente necesita conducir una ventana real de Chrome con opencli: inspeccionar una página, rellenar formularios, seguir flujos con sesión iniciada o extraer datos puntuales. No es para escribir adapters. - [Opencli Browser Sitemap](https://skillsagentes.com/skills/jackwener/opencli/opencli-browser-sitemap.md): Guía para consumir de forma perezosa los sitemaps de un sitio al navegar con opencli browser: elige entre adapter y fallback, retoma desde firmas de estado y marca entradas obsoletas sin confiar más en ellas que en el navegador real. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)