360 Secure SkillHub
360 安全技能中心

Find Everything

根据自然语言查询路由多个资源站,汇总去重后按相关性和安装量排序;支持查看详情、运行安全扫描并给出安装建议,依赖外部网络及部分 CLI。

zadanthony
zadanthony
热度 84.92
最近更新 2026-05-18 12:29:58
分类:搜索依赖:代码执行 / 读写文件 / 第三方 API / MCP 服务 / 内部调用大模型应用场景:研究 / 推荐 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add find-everything
Metadata
name
find-everything
description
跨平台资源搜索编排器。搜索 skill、MCP 服务器、提示词模板、开源项目。 覆盖 skills.sh、ClawHub、SkillHub、AI Skills Show、MCPServers.org、 prompts.chat、GitHub 等 14+ 个聚合站。 触发场景:用户说"找个xxx工具"、"有没有xxx skill"、"帮我搜xxx MCP"、 "找提示词"、"有什么好用的xxx",或显式调用 /find-everything。 也会在检测到用户持续做某类任务且缺少相关工具时主动推荐(每会话最多 1 次)。

find-everything:跨平台资源搜索

触发条件

  1. 显式调用:/find-everything {query}
  2. 自动检测:用户问"有没有xxx工具"、"帮我找个xxx"、"有没有skill能..."
  3. 主动推荐:基于对话上下文判断用户在持续做某类任务且缺少相关工具(best-effort 启发式,同会话最多 1 次)

执行流程

Step 1: 意图分类

将用户查询分类为一个或多个类别:

  • skill: Agent Skills(可安装技能)
  • mcp: MCP Servers
  • prompt: 提示词模板/角色扮演/图片生成
  • repo: GitHub 开源项目

模糊需求同时搜索多个类别。从自然语言中提取核心搜索关键词。

Step 2: 读取注册表并路由

读取 references/registry.json。若读取失败,使用以下硬编码最小源:

  • skills-sh: npx skills find {query}
  • github: gh search repos {query} --sort stars --limit 10 --json name,owner,description,url,stargazersCount

筛选规则:

  1. 只选 enabled: true 的源
  2. 只选 category 包含目标类别的源
  3. 检查 requires 是否满足:
    • requires 为 CLI 名称(如 npx、gh)→ 用 which 检查
    • requires 以 mcp: 开头(如 mcp:prompts-chat)→ 检查对应 MCP tool 是否在当前会话可用(尝试 ToolSearch 或直接调用)
  4. 不可用的源跳过,记录到 skipped_sources 列表,附带 install_hint(如有)

Step 3: Tier 1 搜索

在同一条回复中发起多个独立 tool 调用实现并行:

cli 类型:用 Bash tool 执行 command 字段({query} 替换为实际关键词),15 秒超时。 mcp 类型:调用 registry.json 中 tool 字段指定的 MCP tool,参数取 tool_params({query} 替换为实际关键词)。例如:

  • search_prompts({ query: "blockchain analyst", limit: 10 }) → 返回 prompt 列表
  • search_skills({ query: "search aggregator", limit: 10 }) → 返回 skill 列表
  • 支持的额外过滤参数(按需使用):type(TEXT/STRUCTURED/IMAGE)、category、tag skill 类型:调用对应已安装 skill。

若并行不可用,按优先级执行:skills-sh > github > clawhub > 其他。

Step 4: 结果数量预判

基于标题/描述的关键词匹配做轻量判断(非完整 LLM 评估):

  • ≥3 条匹配度高 → 跳到 Step 6(末尾注明"搜索更多源可获取更多结果")
  • <3 条或匹配度低 → 继续 Step 5

Step 5: Tier 2/3 搜索

Tier 2:将同类别 Tier 2 源合并为 1 次 WebSearch:

{query} {category关键词} site:skillhub.club OR site:aiskillsshow.com OR site:skillsmp.com

若合并查询返回 <2 条,退回对 Top 2-3 优先源逐个 site: 搜索。

Tier 3(仍不足时):不带 site: 限定的广域 WebSearch。

Step 6: 结果评估

对每条结果判断相关性:

  • 高相关:保留,排在前面
  • 中相关:保留,排在后面,标注"可能相关"
  • 不相关:丢弃

对 Top 3-5 条高相关结果,可选 WebFetch 补充详情。

Step 7: 安全快筛

对所有保留结果做元数据安全标注:

  • [SAFE]:来自注册表已知平台 + 安装量 >100
  • [CAUTION]:安装量低、来源不明、或 Tier 3 发现
  • [RISK]:名称疑似 typosquat,或其他红旗信号

Step 8: 去重 + 排序

同一工具出现在多个源 → 合并为一条,标注所有来源。 合并时优先保留安装量/star 数最高的来源作为主展示(同一站点可能有 Tier 1 CLI 和 Tier 2 WebSearch 两条结果,合并时保留 Tier 1 数据)。 排序:相关度 > 安全等级 > 安装量/star 数。

Step 9: 展示推荐

格式:

找到 N 个相关结果(来自 X 个源)

1. [名称]  [SAFE]
   来源: skills.sh | 安装量: 1.2K
   简介: ...
   推荐理由: ...

2. [名称]  [CAUTION]
   来源: WebSearch (skillhub.club) | star: 50
   简介: ...
   注意: 来源非直接 API,建议安装前审查源码

---
未覆盖的搜索源: clawhub CLI(未安装)
提示: npm i -g clawhub

注意:同一依赖缺失提示每会话只展示一次,避免重复打扰。

Step 10: 用户后续操作

用户说**"看看"/"详细"** → WebFetch 详情页展示更多信息。

用户说**"安装"/"用这个"** → 触发深度安全扫描:

1. 获取资源内容(按类型):

资源类型 扫描目标 获取方式
Skill (skills.sh/clawhub) SKILL.md + scripts/ 目录 优先 WebFetch GitHub 源码(从搜索结果中的 repo URL 获取);若不可访问,npx skills add <name> 安装到临时目录后读取
MCP Server package.json + 入口文件 WebFetch npm registry 页面或 GitHub README,提取入口文件路径后 WebFetch
GitHub Repo README.md + 主要脚本文件 gh api repos/{owner}/{repo}/contents 获取文件列表,WebFetch 关键文件
Prompt 提示词文本本身 通常搜索结果中已包含完整文本,无需额外获取

限制: 单次扫描最多 50KB。超出只扫 SKILL.md + 入口文件。

2. 运行安全扫描(路径相对于本 SKILL.md 所在目录解析):python3 scripts/security_scan.py <file> [--check-name <name> --known-skills references/known_skills.txt] 3. 读取 references/security-checklist.md,结合 security_scan.py 结果做 LLM 上下文评估 4. 输出量化评分(0-100)和风险定级 5. [SAFE] → 执行安装;[CAUTION] → 展示详情让用户确认;[RISK] → 明确提示风险,不自动安装

Step 11: 新站点发现

Tier 3 搜索发现了不在 registry.json 中的优质资源站 → 提示用户: "发现新站点 xxx.com,内容相关度高。要加入搜索注册表吗?" 用户确认 → 在 registry.json 的 sources 数组中追加新条目。

错误处理

场景 处理
CLI 超时(15s) 跳过该源,继续其他
WebSearch 错误/限流 跳过 Tier 2,展示 Tier 1 结果 + 提示稍后重试
security_scan.py 崩溃 退回 LLM-only 评估,标记"自动扫描未完成"
所有 Tier 1 不可用 直接进 Tier 2,注明"主要搜索源暂不可用"
所有源失败 告知用户搜索失败,建议检查网络

主动推荐逻辑

触发条件(低频,同会话最多 1 次):

  • 对话上下文显示用户持续在做某类任务(如调试、前端开发、数据处理)
  • 且当前未见明显相关的 skill/MCP 在使用

推荐格式: "[发现] 你正在做 xxx,有一些工具可能有帮助,要搜索看看吗?"