← 返回 Skills 市场
jonathanjing

deep-scout

作者 Jonathan Jing · GitHub ↗ · v0.1.4
cross-platform ✓ 安全检测通过
420
总下载
0
收藏
2
当前安装
5
版本数
在 OpenClaw 中安装
/install deep-scout
功能描述
Multi-stage deep intelligence pipeline (Search → Filter → Fetch → Synthesize). Turns a query into a structured research report with full source citations.
使用说明 (SKILL.md)

deep-scout

Multi-stage deep intelligence pipeline (Search → Filter → Fetch → Synthesize).

🛠️ Installation

1. Ask OpenClaw (Recommended)

Tell OpenClaw: "Install the deep-scout skill." The agent will handle the installation and configuration automatically.

2. Manual Installation (CLI)

If you prefer the terminal, run:

clawhub install deep-scout

🚀 Usage

/deep-scout "Your research question" [--depth 5] [--freshness pw] [--country US] [--style report]

Options

Flag Default Description
--depth N 5 Number of URLs to fully fetch (1–10)
--freshness pw pd=past day, pw=past week, pm=past month, py=past year
--country US 2-letter country code for Brave search
--language en 2-letter language code
--search-count 8 Total results to collect before filtering
--min-score 4 Minimum relevance score to keep (0–10)
--style report report | comparison | bullets | timeline
--dimensions auto Comparison dimensions (comma-separated, for --style comparison)
--output FILE stdout Write report to file
--no-browser Disable browser fallback
--no-firecrawl Disable Firecrawl fallback

🛠️ Pipeline — Agent Loop Instructions

When this skill is invoked, execute the following four-stage pipeline:


Stage 1: SEARCH

Call web_search with:

query: \x3Cuser query>
count: \x3Csearch_count>
country: \x3Ccountry>
search_lang: \x3Clanguage>
freshness: \x3Cfreshness>

Collect: title, url, snippet for each result.
If fewer than 3 results returned, retry with freshness: "py" (relaxed).


Stage 2: FILTER

Load prompts/filter.txt. Replace template vars:

  • {{query}} → the user's query
  • {{freshness}} → freshness param
  • {{min_score}} → min_score param
  • {{results_json}} → JSON array of search results

Call the LLM with this prompt. Parse the returned JSON array.
Keep only results where keep: true. Sort by score descending.
Take top depth URLs as the fetch list.

Deduplication: Max 2 results per root domain (already handled in filter prompt).


Stage 3: FETCH (Tiered Escalation)

For each URL in the filtered list:

Tier 1 — web_fetch (fast):

Call web_fetch(url)
If content length >= 200 chars → accept, trim to max_chars_per_source

Tier 2 — Firecrawl (deep/JS):

If Tier 1 fails or returns \x3C 200 chars:
  Run: scripts/firecrawl-wrap.sh \x3Curl> \x3Cmax_chars>
  If output != "FIRECRAWL_UNAVAILABLE" and != "FIRECRAWL_EMPTY" → accept

Tier 3 — Browser (last resort):

If Tier 2 fails:
  Call browser(action="open", url=url)
  Call browser(action="snapshot")
  Load prompts/browser-extract.txt, substitute {{query}} and {{max_chars_per_source}}
  Call LLM with snapshot content + extraction prompt
  If output != "FETCH_FAILED:..." → accept

If all tiers fail: Use the original snippet from Stage 1 search results. Mark as [snippet only].

Store: { url: extracted_content } dict.


Stage 4: SYNTHESIZE

Choose prompt template based on --style:

  • report / bullets / timelineprompts/synthesize-report.txt
  • comparisonprompts/synthesize-comparison.txt

Replace template vars:

  • {{query}} → user query
  • {{today}} → current date (YYYY-MM-DD)
  • {{language}} → language param
  • {{source_count}} → number of successfully fetched sources
  • {{dimensions_or_auto}} → dimensions param (or "auto")
  • {{fetched_content_blocks}} → build as:
    [Source 1] (url1)
    \x3Ccontent>
    ---
    [Source 2] (url2)
    \x3Ccontent>
    

Call LLM with the filled prompt. The output is the final report.

If --output FILE is set, write the report to that file. Otherwise, print to the channel.


⚙️ Configuration

Defaults are in config.yaml. Override via CLI flags above.


📂 Project Structure

skills/deep-scout/
├── SKILL.md                     ← This file (agent instructions)
├── config.yaml                  ← Default parameter values
├── prompts/
│   ├── filter.txt               ← Stage 2: relevance scoring prompt
│   ├── synthesize-report.txt    ← Stage 4: report/bullets/timeline synthesis
│   ├── synthesize-comparison.txt← Stage 4: comparison table synthesis
│   └── browser-extract.txt      ← Stage 3: browser snapshot extraction
├── scripts/
│   ├── run.sh                   ← CLI entrypoint (emits pipeline actions)
│   └── firecrawl-wrap.sh        ← Firecrawl CLI wrapper with fallback handling
└── examples/
    └── openclaw-acquisition.md  ← Example output: OpenClaw M&A intelligence

🔧 Error Handling

Scenario Handling
All fetch attempts fail Use snippet from Stage 1; mark [snippet only]
Search returns 0 results Retry with freshness: py; error if still 0
Firecrawl not installed firecrawl-wrap.sh outputs FIRECRAWL_UNAVAILABLE, skip silently
Browser tool unavailable Skip Tier 3; proceed with available content
LLM synthesis exceeds context Trim sources proportionally, prioritize high-score sources
Rate limit on Brave API Wait 2s, retry once

📋 Example Outputs

See examples/openclaw-acquisition.md for a full sample report.


Deep Scout v0.1.0 · OpenClaw Skills · clawhub: deep-scout

安全使用建议
This skill appears to do what it says: it runs a search → filter → fetch → synthesize pipeline using agent web tools and LLM prompts. Before installing, be aware of these practical points: 1) The skill will fetch arbitrary web pages and send their extracted text to the LLM — avoid using it for highly sensitive/private queries or internal URLs you don't want shared with the model. 2) It may run local shell scripts (run.sh, firecrawl wrapper). The package includes sanitization and an output-path check, which is good, but you can review those scripts yourself before enabling. 3) Firecrawl is optional and only invoked if present locally; otherwise the wrapper reports FIRECRAWL_UNAVAILABLE. 4) The agent will be able to invoke the skill normally (autonomous invocation is the platform default); if you prefer manual control, only call it interactively. If you'd like greater assurance, inspect scripts/run.sh and prompts locally, and test with non-sensitive queries first.
功能分析
Type: OpenClaw Skill Name: deep-scout Version: 0.1.4 The skill bundle is classified as benign due to robust and explicit security measures implemented to mitigate common risks. The `scripts/run.sh` file includes strong prompt injection sanitization for user queries (truncating, stripping common LLM control phrases, removing markdown code blocks) and restricts `--output` file paths to the current working directory or skill directory, preventing arbitrary file writes. The `scripts/firecrawl-wrap.sh` script safely handles URLs by using `--` to prevent shell injection. Furthermore, all LLM prompts (`prompts/*.txt`) contain explicit instructions to the agent to treat user queries and fetched content as opaque data rather than executable commands, and use triple-quote delimiters for user queries, significantly reducing the prompt injection attack surface. These measures demonstrate a clear intent to develop a secure skill.
能力评估
Purpose & Capability
Name and description (web search → filter → fetch → synthesize) match the actual behavior: it calls web_search/web_fetch, uses LLMs for filtering/synthesis, and optionally uses a local Firecrawl CLI or the browser tool. Required binaries (bash, python3, timeout/gtimeout) and included scripts are proportional to the described functionality.
Instruction Scope
SKILL.md and scripts explicitly instruct the agent to fetch arbitrary web URLs and feed extracted content to LLMs (expected for a research tool). The run.sh includes query sanitization and output-path restrictions as mitigations. Users should note that fetched page content (including snapshots) will be sent to the LLM — this is intended but a privacy consideration.
Install Mechanism
No install spec (instruction-only) and included shell scripts only; no remote downloads are performed by an installer. The optional Firecrawl integration calls a local CLI if present. This is a low-risk install footprint.
Credentials
The skill requests no environment variables, no credentials, and no config paths. That aligns with its purpose: it leverages agent-provided tools (web_search, web_fetch, browser) rather than external API keys.
Persistence & Privilege
always:false (default) and no code attempts to modify other skills or system-wide agent settings. The skill writes its own state to a skill-local state file (deep-scout-state.json) — expected for resumability.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install deep-scout
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /deep-scout 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.4
Added simplified installation instructions to SKILL.md and README.md.
v0.1.3
Prompt injection hardening: query sanitizer (strip injection patterns + 500 char limit), triple-quote delimiters in all 4 prompt templates, explicit LLM instructions to treat query as opaque topic
v0.1.2
Fix: declare python3/timeout as runtime deps, secure update_state helper (env-based value passing), add .clawhubignore
v0.1.1
Security hardening: sandbox output path, validate URLs, add security docs
v0.1.0
Deep Scout v0.1.0 — initial release - Introduces a four-stage research pipeline: Search, Filter, Fetch (with tiered escalation), and Synthesize. - Flexible CLI options for depth, freshness, country/language, output style, and more. - Robust content fetching: attempts web_fetch, Firecrawl, and browser snapshot as fallback. - Generates structured research reports with sources, supporting multiple synthesis styles (report, comparison, timeline, bullets). - Detailed error handling for fetch failures, API limits, and tool availability.
元数据
Slug deep-scout
版本 0.1.4
许可证
累计安装 2
当前安装数 2
历史版本数 5
常见问题

deep-scout 是什么?

Multi-stage deep intelligence pipeline (Search → Filter → Fetch → Synthesize). Turns a query into a structured research report with full source citations. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 420 次。

如何安装 deep-scout?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install deep-scout」即可一键安装,无需额外配置。

deep-scout 是免费的吗?

是的,deep-scout 完全免费(开源免费),可自由下载、安装和使用。

deep-scout 支持哪些平台?

deep-scout 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 deep-scout?

由 Jonathan Jing(@jonathanjing)开发并维护,当前版本 v0.1.4。

💬 留言讨论