Skill: liberalchang/opencli-smart-search (version 1.0.0)

--- name: smart-search description: 基于 opencli 命令的智能搜索路由器。当用户想要搜索、查询、查找或研究信息时，尤其是涉及指定网站、社交媒体、技术资料、新闻、购物、旅游、求职、金融或中文内容时，务必使用此 skill --- # 智能搜索路由器 根据话题和场景，将查询路由到最佳的 opencli 搜索源。此 skill 的核心目标不是记忆命令，而是先定位数据源，再让 Agent 通过 `opencli` 自己读取实时帮助，避免文档漂移。 ## 强制预检 每次使用前，必须先做下面两步： - 运行 `opencli list -f yaml` - 用 live registry 确认候选站点是否存在，并检查 `strategy`、`browser`、`domain` 选定站点后，必须再做下面两步： - 运行 `opencli <site> -h` 查看该站点有哪些子命令 - 若已锁定某个子命令，再运行 `opencli <site> <command> -h` 查看参数、输出列、策略 不要在 skill 文档里硬编码参数或假设命令签名；以 `opencli ... -h` 的实时输出为准。 ## 主路由规则 只使用这一条规则，不再维护多套优先级： 1. 当用户明确指定网站、平台或数据源时，直接使用对应网站。 2. 当用户没有指定网站时，优先只选择一个 AI 源：`grok`、`doubao`、`gemini` 三选一。 3. 当 AI 返回内容不足、缺少原始数据、需要权威佐证或需要垂直结果时，再补充 1-2 个专用源。 ## 单题预算与频率限制 把“单个用户问题”理解为同一意图链路下的一次问题求解；同一轮追问、澄清、补充条件，若核心问题未变，仍算同一题。 先建立一份站点调用台账。每次真正执行搜索命令后，立刻更新： - `site` - `query` - `count` - `status` 计数规则： - `opencli list -f yaml`、`opencli <site> -h`、`opencli <site> <command> -h` 属于预检与帮助，不计入搜索次数 - 一次真正的 `opencli <site> ...` 搜索/查询执行，计为该站点 1 次调用 - 同站点因为报错、超时、验证码、反爬、登录态异常而失败，也算 1 次调用，不要无限重试 频率上限： - AI 站点硬限制：同一题内，每个 AI 站点最多调用 1 次 - 默认策略仍然是只选 1 个 AI 站点，不要把多个 AI 站点串成常规流程 - 只有当用户明确要求比较多个 AI 站点时，才可以额外调用其他 AI 站点；但每个被点名的 AI 站点仍然最多 1 次 - 非 AI 站点默认最多调用 2 次 - 非 AI 站点第 2 次调用必须有明确理由，例如第一次结果过宽，需要加时间、地区、类别、排序或关键词限定 - 非 AI 站点不要进行第 3 次调用；若信息仍不足，停止扩搜并明确说明缺口 触发限频后的处理： - 记录：「已跳过：<site> 达到频率上限」 - 优先改用其他同类站点 - 若没有合适替代源，则直接基于已收集信息回答，并说明覆盖范围与缺口 ## 查询结束汇报 每次查询结束后，回答末尾必须追加一段简短的“搜索摘要”，至少包含下面三项： - 使用了什么网站搜索 - 每个网站搜了什么词 - 每个网站搜了几次 如果有被限频跳过的站点，也要明确写出。 建议使用下面的固定格式： ```md 搜索摘要 - 网站：<site1> | 查询词：<term1> | 次数：<n> - 网站：<site2> | 查询词：<term2>；<term3> | 次数：<n> - 已跳过：<site3>，原因：达到频率上限 ``` ## AI 源选择 - `grok` 适合实时讨论、英文互联网舆论、Twitter/X 语境、热点追踪。 - `doubao` 适合中文语境、字节抖音生态、生活方式内容、中文热点与泛中文问答。 - `gemini` 适合全球网页、英文资料、通用信息检索、背景综述。 如果用户没有指定网站，默认先判断语言和语境，再从这三个里只选一个。 一旦某个 AI 站点已经执行过一次真实查询，就不要在同一题里改写关键词后再次调用该 AI 站点。若答案不足，优先补专用源，不要反复追打同一个 AI 站点。 ## AI 查询词建议 当使用 AI 源时，不要只丢一个过短关键词。优先构造成“主题 + 目标 + 限定条件”的查询。 - 主题 用户真正要查的对象、事件、产品、人物、公司、技术名词。 - 目标 想要什么结果，例如总结、对比、原因、趋势、推荐、原始线索。 - 限定条件 语言、地区、时间范围、平台范围、受众、价格带、岗位地点、是否要引用原始来源。 优先使用下面这种表达方式： - `<主题> + <你要回答的问题>` - `<主题> + <时间范围/地区/语言>` - `<主题> + <平台或来源范围>` - `<主题> + <输出要求>` 避免只输入： - 单个名词 - 没有时间范围的热点问题 - 没有地区限制的购物、求职、旅游问题 - 没有平台限制的社交媒体问题 ## 专用源补充时机 当出现以下任一情况时，再补充专用源： - AI 给出的是摘要，但你需要原始帖子、原始视频、原始商品或原始职位结果 - AI 覆盖面不足，漏掉垂直站点信息 - 需要更高权威性或更强领域相关性 - 用户明确要求“从某个平台找” 单次查询通常控制在 1 个 AI 源 + 1 到 2 个专用源，避免结果过载。 ## 处理不可用的源 当站点不可用时： - 不要因为单个源失败而中止整个搜索 - 记录：「已跳过：<site> 不可用」 - 回退到同类其他站点，或回退到一个 AI 源 - 始终以 `opencli list -f yaml` 与 `opencli <site> -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`** — 其他垂直源 只读与当前查询相关的文件，无需全部加载。

path: references/sources-ai.md
content: # AI 默认源

当用户没有明确指定网站时，先在 `grok`、`doubao`、`gemini` 中选择一个，不要一开始并行跑多个 AI 源。

## 使用规则

1. 先运行 `opencli list -f yaml`
2. 确认 `grok`、`doubao`、`gemini` 哪些在当前 registry 中可用
3. 运行 `opencli <site> -h`
4. 锁定具体子命令后，再运行 `opencli <site> <command> -h`

## 路由建议

### grok

- 适用：实时热点、Twitter/X 语境、英文互联网讨论、舆论与趋势
- 补充源常见去向：`twitter`、`reddit`、`reuters`、`google`
- 搜索词建议：
  - 加上时间范围，例如“today / this week”
  - 加上平台范围，例如“on X”, “from social posts”
  - 加上目标，例如“latest reactions”, “main viewpoints”, “key claims”
  - 示例：
    - `OpenAI latest reactions on X this week`
    - `TSLA earnings main viewpoints on social media April 2026`
    - `Nintendo Switch 2 rumors latest discussion on X`

### doubao

- 适用：中文语境、国内热点、生活方式、字节生态、中文泛问答
- 补充源常见去向：`xiaohongshu`、`weibo`、`zhihu`、`bilibili`、`36kr`
- 搜索词建议：
  - 加上中文场景限定，例如“中文讨论”“国内用户”“小红书/微博语境”
  - 加上需求目标，例如“帮我总结”“给我对比”“提取推荐理由”
  - 加上人群或用途，例如“适合新手”“预算 500 元内”“上海求职”
  - 示例：
    - `2026年MacBook Air值得买吗 中文讨论里主要观点是什么`
    - `上海 AI 产品经理招聘趋势 近一个月中文信息总结`
    - `敏感肌防晒推荐 中文用户常提到的优缺点`

### gemini

- 适用：全球网页、英文资料、背景综述、通用检索
- 补充源常见去向：`google`、`wikipedia`、`arxiv`、`stackoverflow`
- 搜索词建议：
  - 加上主题类型，例如“overview”, “comparison”, “background”, “best sources”
  - 加上范围限定，例如地区、时间、语言、行业
  - 加上结果形式，例如“with sources”, “compare pros and cons”, “official guidance”
  - 示例：
    - `MCP overview and official guidance with sources`
    - `best budget travel destinations in Japan April 2026 compare pros and cons`
    - `TypeScript decorators current status official sources`

## 补充原则

- 先用一个 AI 源拿到初步答案
- 若答案缺少原始数据、垂直结果或权威来源，再补 1-2 个专用源
- 不要把 AI 默认源当成命令签名的事实来源；命令细节始终以 `opencli ... -h` 为准

## 通用写法模板

可直接按下面模板构造 AI 查询：

- 热点/新闻：
  `<事件> + 最新进展 + <时间范围> + <地区/平台>`
- 对比/推荐：
  `<对象A> vs <对象B> + <关注维度> + <人群/预算/用途>`
- 中文社区：
  `<主题> + 中文讨论里主要观点 + <时间范围>`
- 全球资料：
  `<主题> + overview/background + with sources`
- 求职：
  `<岗位> + <城市/国家> + market trends/hiring + <时间范围>`
- 购物：
  `<商品> + reviews/price/value + <地区/预算>`


path: references/sources-info.md
content: # 资讯 / 知识

用于新闻、百科、通用知识、中文科技资讯。

## 站点

### google

- 适用：通用网页搜索、跨站点兜底
- 使用前先运行：`opencli google -h`

### wikipedia

- 适用：名词解释、背景知识、历史事实
- 使用前先运行：`opencli wikipedia -h`

### reuters

- 适用：国际新闻、事实性报道
- 使用前先运行：`opencli reuters -h`

### weibo

- 适用：微博热点、话题、中文舆论
- 使用前先运行：`opencli weibo -h`

### 36kr

- 适用：中文科技、创业、融资资讯
- 使用前先运行：`opencli 36kr -h`

### substack

- 适用：newsletter、作者订阅内容、长文
- 使用前先运行：`opencli substack -h`

## 路由提示

- 背景知识与定义，优先 `wikipedia`
- 通用网页与跨站信息，优先 `google`
- 国际新闻优先 `reuters`
- 中文科技资讯优先 `36kr`
- 当 AI 回答过于泛化时，用这些源补充事实和链接


path: references/sources-media.md
content: # 媒体 / 娱乐

用于视频、电影、剧集、音乐、播客、内容平台搜索。

## 站点

### bilibili

- 适用：中文视频、教程、评测、UP 主内容
- 使用前先运行：`opencli bilibili -h`

### youtube

- 适用：英文视频、教程、评测、访谈
- 使用前先运行：`opencli youtube -h`

### tiktok

- 适用：短视频、热点、娱乐内容
- 使用前先运行：`opencli tiktok -h`

### imdb

- 适用：电影、剧集、演员、评分
- 使用前先运行：`opencli imdb -h`

### douban

- 适用：中文电影、书籍、音乐口碑与评分
- 使用前先运行：`opencli douban -h`

### spotify

- 适用：歌曲、歌手、专辑
- 使用前先运行：`opencli spotify -h`

### apple-podcasts

- 适用：播客节目、播客搜索
- 使用前先运行：`opencli apple-podcasts -h`

### medium

- 适用：长文、技术博客、设计与产品文章
- 使用前先运行：`opencli medium -h`

## 路由提示

- 用户只说“找视频/影评/播客/文章”，先按内容形态选站点
- 用户没有指定站点时，可先用 `doubao`、`grok` 或 `gemini` 做一轮粗检索，再补媒体站点拿原始结果


path: references/sources-other.md
content: # 其他垂直源

用于求职、金融、书籍、词典等不适合归入前述分类的场景。

## 站点

### linkedin

- 适用：全球职位、英文岗位、跨国公司招聘
- 使用前先运行：`opencli linkedin -h`

### boss

- 适用：国内职位搜索、招聘与岗位信息
- 使用前先运行：`opencli boss -h`

### xueqiu

- 适用：股票、金融讨论、行情相关线索
- 使用前先运行：`opencli xueqiu -h`

### weread

- 适用：中文书籍搜索与书单线索
- 使用前先运行：`opencli weread -h`

### dictionary

- 适用：英文词义、基础词典查询
- 使用前先运行：`opencli dictionary -h`

### sinablog

- 适用：较旧的中文博客内容
- 使用前先运行：`opencli sinablog -h`

## 路由提示

- 求职：全球优先 `linkedin`，国内优先 `boss`
- 金融：优先 `xueqiu`
- 书籍：中文优先 `weread`
- 英文单词定义：优先 `dictionary`


path: references/sources-shopping.md
content: # 购物

用于商品搜索、价格、好价、口碑与区域电商结果。

## 站点

### amazon

- 适用：全球商品搜索、价格参考、英文电商
- 使用前先运行：`opencli amazon -h`

### smzdm

- 适用：国内好价、优惠、导购、商品讨论
- 使用前先运行：`opencli smzdm -h`

### coupang

- 适用：韩国电商商品搜索
- 使用前先运行：`opencli coupang -h`

### douban

- 适用：图书、影视、音乐类口碑补充，不是标准电商，但可用于消费决策补充
- 使用前先运行：`opencli douban -h`

## 路由提示

- 用户指定平台时直接使用该平台
- 未指定平台时，全球商品优先 `amazon`，国内好价优先 `smzdm`
- 若先用 AI 做产品调研，后续可补电商站点拿实际商品结果


path: references/sources-social.md
content: # 社交媒体

用于需要原始帖子、原始用户结果、中文或英文社区讨论时。

## 站点

### twitter

- 适用：Twitter/X 原始帖子、作者、实时讨论
- 使用前先运行：`opencli twitter -h`

### weibo

- 适用：微博热点、话题、中文舆论
- 使用前先运行：`opencli weibo -h`

### xiaohongshu

- 适用：生活方式、穿搭、美妆、旅行、真实体验
- 使用前先运行：`opencli xiaohongshu -h`

### zhihu

- 适用：中文深度问答、专业解释、行业经验
- 使用前先运行：`opencli zhihu -h`

### tieba

- 适用：兴趣圈子、历史帖子、粉丝社区
- 使用前先运行：`opencli tieba -h`

### instagram

- 适用：账号搜索、图片社交线索
- 使用前先运行：`opencli instagram -h`

### facebook

- 适用：主页、人物、帖子线索
- 使用前先运行：`opencli facebook -h`

### bluesky

- 适用：Bluesky 用户与账号搜索
- 使用前先运行：`opencli bluesky -h`

## 路由提示

- 用户明确指定某个平台时，直接用该平台
- 用户只说“社交媒体上怎么看”时，可先选 `grok` 或 `doubao`
- AI 只给摘要而没有原始帖子时，再切到对应社交站点


path: references/sources-travel.md
content: # 旅游

用于目的地、景区、酒店联想和旅行线索。

## 站点

### ctrip

- 适用：目的地、景区、酒店、旅行联想搜索
- 使用前先运行：`opencli ctrip -h`

### xiaohongshu

- 适用：生活方式、穿搭、美妆、旅行、真实体验
- 使用前先运行：`opencli xiaohongshu -h`

## 路由提示

- 用户明确说“携程”时直接使用 `ctrip`
- 用户只说“旅行/目的地/景区”时，可先选 `doubao` 做中文语境粗检索，再补 `ctrip`


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: suspicious (HIGH)