skills/.trash/openclaw-search-skills/search-layer/SKILL.md
DEFAULT search tool for ALL search/lookup needs. Multi-source search and deduplication layer with intent-aware scoring. Integrates Brave Search (web_search), Exa, Tavily, and Grok to provide high-coverage, high-quality results. Automatically classifies query intent and adjusts search strategy, scoring weights, and result synthesis. Use for ANY query that requires web search — factual lookups, research, news, comparisons, resource finding, "what is X", status checks, etc. Do NOT use raw web_search directly; always route through this skill.
npx skillsauth add aaaaqwq/agi-super-team search-layerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
四源同级:Brave (web_search) + Exa + Tavily + Grok。按意图自动选策略、调权重、做合成。
用户查询
↓
[Phase 1] 意图分类 → 确定搜索策略
↓
[Phase 2] 查询分解 & 扩展 → 生成子查询
↓
[Phase 3] 多源并行检索 → Brave + search.py (Exa + Tavily + Grok)
↓
[Phase 4] 结果合并 & 排序 → 去重 + 意图加权评分
↓
[Phase 5] 知识合成 → 结构化输出
收到搜索请求后,先判断意图类型,再决定搜索策略。不要问用户用哪种模式。
| 意图 | 识别信号 | Mode | Freshness | 权重偏向 | |------|---------|------|-----------|---------| | Factual | "什么是 X"、"X 的定义"、"What is X" | answer | — | 权威 0.5 | | Status | "X 最新进展"、"X 现状"、"latest X" | deep | pw/pm | 新鲜度 0.5 | | Comparison | "X vs Y"、"X 和 Y 区别" | deep | py | 关键词 0.4 + 权威 0.4 | | Tutorial | "怎么做 X"、"X 教程"、"how to X" | answer | py | 权威 0.5 | | Exploratory | "深入了解 X"、"X 生态"、"about X" | deep | — | 权威 0.5 | | News | "X 新闻"、"本周 X"、"X this week" | deep | pd/pw | 新鲜度 0.6 | | Resource | "X 官网"、"X GitHub"、"X 文档" | fast | — | 关键词 0.5 |
详细分类指南见
references/intent-guide.md
判断规则:
exploratory根据意图类型,将用户查询扩展为一组子查询:
| 意图 | 扩展策略 | 示例 | |------|---------|------| | Factual | 加 "definition"、"explained" | "WebTransport" → "WebTransport", "WebTransport explained overview" | | Status | 加年份、"latest"、"update" | "Deno 进展" → "Deno 2.0 latest 2026", "Deno update release" | | Comparison | 拆成 3 个子查询 | "Bun vs Deno" → "Bun vs Deno", "Bun advantages", "Deno advantages" | | Tutorial | 加 "tutorial"、"guide"、"step by step" | "Rust CLI" → "Rust CLI tutorial", "Rust CLI guide step by step" | | Exploratory | 拆成 2-3 个角度 | "RISC-V" → "RISC-V overview", "RISC-V ecosystem", "RISC-V use cases" | | News | 加 "news"、"announcement"、日期 | "AI 新闻" → "AI news this week 2026", "AI announcement latest" | | Resource | 加具体资源类型 | "Anthropic MCP" → "Anthropic MCP official documentation" |
对每个子查询调用 web_search。如果意图有 freshness 要求,传 freshness 参数:
web_search(query="Deno 2.0 latest 2026", freshness="pw")
对子查询调用 search.py,传入意图和 freshness:
python3 /home/node/.openclaw/workspace/skills/search-layer/scripts/search.py \
--queries "子查询1" "子查询2" "子查询3" \
--mode deep \
--intent status \
--freshness pw \
--num 5
各模式源参与矩阵: | 模式 | Exa | Tavily | Grok | 说明 | |------|-----|--------|------|------| | fast | ✅ | ❌ | fallback | Exa 优先;无 Exa key 时用 Grok | | deep | ✅ | ✅ | ✅ | 三源并行 | | answer | ❌ | ✅ | ❌ | 仅 Tavily(含 AI answer) |
参数说明:
| 参数 | 说明 |
|------|------|
| --queries | 多个子查询并行执行(也可用位置参数传单个查询) |
| --mode | fast / deep / answer |
| --intent | 意图类型,影响评分权重(不传则不评分,行为与 v1 一致) |
| --freshness | pd(24h) / pw(周) / pm(月) / py(年) |
| --domain-boost | 逗号分隔的域名,匹配的结果权威分 +0.2 |
| --num | 每源每查询的结果数 |
Grok 源说明:
grok-4.1-fast),利用其实时知识返回结构化搜索结果~/.openclaw/credentials/search.json 中配置 Grok 的 apiUrl、apiKey、model(或通过环境变量 GROK_API_URL、GROK_API_KEY、GROK_MODEL)将 Brave 结果与 search.py 输出合并。按 canonical URL 去重,标记来源。
如果 search.py 返回了 score 字段,用它排序;Brave 结果没有 score 的,用同样的意图权重公式补算。
当搜索结果中包含 GitHub issue/PR 链接,且意图为 Status 或 Exploratory 时,自动触发引用追踪。
status 或 exploratorygithub.com/.../issues/ 或 github.com/.../pull/ URL在搜索结果上直接提取引用图,无需额外调用:
python3 search.py "OpenClaw config validation bug" --mode deep --intent status --extract-refs
输出中会多一个 refs 字段,包含每个结果 URL 的引用列表。
也可以跳过搜索,直接对已知 URL 提取引用:
python3 search.py --extract-refs-urls "https://github.com/owner/repo/issues/123" "https://github.com/owner/repo/issues/456"
对单个 URL 拉取完整讨论流 + 结构化引用:
python3 fetch_thread.py "https://github.com/owner/repo/issues/123" --format json
python3 fetch_thread.py "https://github.com/owner/repo/issues/123" --format markdown
python3 fetch_thread.py "https://github.com/owner/repo/issues/123" --extract-refs-only
GitHub 场景(issue/PR):通过 API 拉取正文 + 全部 comments + timeline 事件(cross-references、commits),提取:
通用 web 场景:web fetch + 正则提取引用链接。
Step 1: search-layer 搜索 → 获取初始结果
Step 2: search.py --extract-refs 或 fetch-thread → 提取线索图
Step 3: Agent 筛选高价值线索(LLM 判断哪些值得追踪)
Step 4: fetch-thread 深度抓取每个高价值线索
Step 5: 重复 Step 2-4,直到信息闭环或达到深度限制(建议 max_depth=3)
score = w_keyword × keyword_match + w_freshness × freshness_score + w_authority × authority_score
权重由意图决定(见 Phase 1 表格)。各分项:
完整域名评分表见
references/authority-domains.json
通过 --domain-boost 参数手动指定需要加权的域名(匹配的结果权威分 +0.2):
search.py "query" --mode deep --intent tutorial --domain-boost dev.to,freecodecamp.org
推荐搭配:
dev.to, freecodecamp.org, realpython.com, baeldung.comgithub.comtechcrunch.com, arstechnica.com, theverge.com根据结果数量选择合成策略:
逐条展示,每条带源标签和评分:
1. [Title](url) — snippet... `[brave, exa]` ⭐0.85
2. [Title](url) — snippet... `[tavily]` ⭐0.72
按主题聚类 + 每组摘要:
**主题 A: [描述]**
- [结果1] — 要点... `[source]`
- [结果2] — 要点... `[source]`
**主题 B: [描述]**
- [结果3] — 要点... `[source]`
高层综述 + Top 5 + 深入提示:
[一段综述,概括主要发现]
**Top 5 最相关结果:**
1. ...
2. ...
共找到 N 条结果,覆盖 [源列表]。需要深入哪个方面?
web_search(始终可用)不带 --intent 参数时,search.py 行为与 v1 完全一致(无评分,按原始顺序输出)。
现有调用方(如 github-explorer)无需修改。
| 场景 | 命令 |
|------|------|
| 快速事实 | web_search + search.py --mode answer --intent factual |
| 深度调研 | web_search + search.py --mode deep --intent exploratory |
| 最新动态 | web_search(freshness="pw") + search.py --mode deep --intent status --freshness pw |
| 对比分析 | web_search × 3 queries + search.py --queries "A vs B" "A pros" "B pros" --intent comparison |
| 找资源 | web_search + search.py --mode fast --intent resource |
development
Technology-agnostic prompt generator that creates customizable AI prompts for scanning codebases and identifying high-quality code exemplars. Supports multiple programming languages (.NET, Java, JavaScript, TypeScript, React, Angular, Python) with configurable analysis depth, categorization methods, and documentation formats to establish coding standards and maintain consistency across development teams.
tools
Expert-level browser automation, debugging, and performance analysis using Chrome DevTools MCP. Use for interacting with web pages, capturing screenshots, analyzing network traffic, and profiling performance.
data-ai
Prompt for creating detailed feature implementation plans, following Epoch monorepo structure.
tools
Interactive prompt refinement workflow: interrogates scope, deliverables, constraints; copies final markdown to clipboard; never writes code. Requires the Joyride extension.