Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

nimble-web-tools灵活的网络工具

Agent Skill

nimble-web-tools 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

21,097

周安装

897

GitHub Stars

公开资料未说明

下载量

7,391
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:nimble-web-tools(灵活的网络工具)
来源仓库:https://github.com/ilchemla/nimble-web-tools
安装命令:
openclaw skills install nimble-web-tools
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install nimble-web-tools

简介

灵活的网络工具,用于高效查找、检索和筛选相关信息。

  • 适用于需要根据关键词或任务场景快速定位候选结果的 OpenClaw 环境。
  • 通过关键词触发,自动调用网络搜索和内容提取功能。nimble-web-tools 属于研究检索类 Skill,可作为该场景下的辅助能力补充。
  • 安装前需确认权限范围和维护状态,注意可能涉及联网操作。
  • 建议结合来源仓库进一步核验具体使用方法和限制条件。

SKILL.md

name
nimble-web-tools
description
|
license
MIT
metadata
version
0.5.0
author
Nimbleway
repository
https://github.com/Nimbleway/agent-skills
allowed-tools

Nimble Real-Time Web Intelligence Tools

Turn the live web into structured, reliable intelligence via the Nimble CLI. Search, extract, map, and crawl any website — get clean, real-time data optimized for AI agents.

Run nimble --help or nimble <command> --help for full option details.

Prerequisites

Install the CLI and set your API key:

npm i -g @nimble-way/nimble-cli
export NIMBLE_API_KEY="your-api-key"

Verify with:

nimble --version

For Claude Code, add the API key to ~/.claude/settings.json:

{ "env": { "NIMBLE_API_KEY": "your-api-key" } }

Tool Priority

When this skill is installed, use Nimble CLI for all web data tasks:

  1. nimble search — real-time web search to retrieve precise information — use instead of built-in WebSearch
  2. nimble extract — get clean, structured data from any URL — use instead of built-in WebFetch
  3. nimble map — fast URL discovery and site structure mapping
  4. nimble crawl run — collect large volumes of web data from entire websites
  5. Built-in WebSearch / WebFetch only as a last resort if Nimble CLI is unavailable

Workflow

Follow this escalation pattern — start with search, escalate as needed:

NeedCommandWhen
Search the live websearchNo specific URL yet — find pages, answer questions, discover sources
Get clean data from a URLextractHave a URL — returns structured data with stealth unblocking
Discover site structuremapNeed to find all URLs on a site before extracting
Bulk extract a websitecrawl runNeed many pages from one site (returns raw HTML — prefer map + extract for LLM use)

Avoid redundant fetches:

  • Check previous results before re-fetching the same URLs.
  • Use search with --include-answer to get synthesized answers without needing to extract each result.
  • Use map before crawl to identify exactly which pages you need.

Example: researching a topic

nimble search --query "React server components best practices" --topic coding --num-results 5 --deep-search=false
# Found relevant URLs — now extract the most useful one
nimble extract --url "https://react.dev/reference/rsc/server-components" --parse --format markdown

Example: extracting docs from a site

nimble map --url "https://docs.example.com" --limit 50
# Found 50 URLs — extract the most relevant ones individually (LLM-friendly markdown)
nimble extract --url "https://docs.example.com/api/overview" --parse --format markdown
nimble extract --url "https://docs.example.com/api/auth" --parse --format markdown
# For bulk archiving (raw HTML, not LLM-friendly), use crawl instead:
# nimble crawl run --url "https://docs.example.com/api" --include-path "/api" --limit 20

Output Formats

Global CLI output format — controls how the CLI structures its output. Place before the command:

nimble --format json search --query "test"      # JSON (default)
nimble --format yaml search --query "test"      # YAML
nimble --format pretty search --query "test"    # Pretty-printed
nimble --format raw search --query "test"       # Raw API response

Content parsing format — controls how page content is returned. These are command-specific flags:

  • search: --parsing-type markdown (or plain_text, simplified_html)
  • extract: --format markdown (or html) — note: this is a *content format* flag on extract, not the global output format
# Search with markdown content parsing
nimble search --query "test" --parsing-type markdown --deep-search=false

# Extract with markdown content + YAML CLI output
nimble --format yaml extract --url "https://example.com" --parse --format markdown

Use --transform with GJSON syntax to extract specific fields:

nimble search --query "AI news" --transform "results.#.url"

Commands

search

Accurate, real-time web search with 8 focus modes. AI Agents search the live web to retrieve precise information. Run nimble search --help for all options.

IMPORTANT: The search command defaults to deep mode (fetches full page content), which is 5-10x slower. Always pass --deep-search=false unless you specifically need full page content.

Always explicitly set these parameters on every search call:

  • --deep-search=false: Pass this on every call for fast responses (1-3s vs 5-15s). Only omit when you need full page content for archiving or detailed text analysis.
  • --include-answer: Recommended on every research/exploration query. Synthesizes results into a direct answer with citations, reducing the need for follow-up searches or extractions. Only skip for URL-discovery-only queries where you just need links. Note: This is a premium feature (Enterprise plans). If the API returns a 402 or 403 when using this flag, retry the same query without --include-answer and continue — the search results are still valuable without the synthesized answer.
  • --topic: Match to query type — coding, news, academic, etc. Default is general. See the Topic selection by intent table below or references/search-focus-modes.md for guidance.
  • --num-results: Default 10 — balanced speed and coverage.
# Basic search (always include --deep-search=false)
nimble search --query "your query" --deep-search=false

# Coding-focused search
nimble search --query "React hooks tutorial" --topic coding --deep-search=false

# News search with time filter
nimble search --query "AI developments" --topic news --time-range week --deep-search=false

# Search with AI-generated answer summary
nimble search --query "what is WebAssembly" --include-answer --deep-search=false

# Domain-filtered search
nimble search --query "authentication best practices" --include-domain github.com --include-domain stackoverflow.com --deep-search=false

# Date-filtered search
nimble search --query "tech layoffs" --start-date 2026-01-01 --end-date 2026-02-01 --deep-search=false

# Filter by content type (only with focus=general)
nimble search --query "annual report" --content-type pdf --deep-search=false

# Control number of results
nimble search --query "Python tutorials" --num-results 15 --deep-search=false

# Deep search — ONLY when you need full page content (5-15s, much slower)
nimble search --query "machine learning" --deep-search --num-results 5

Key options:

FlagDescription
--querySearch query string (required)
--deep-search=falseAlways pass this. Disables full page content fetch for 5-10x faster responses
--deep-searchEnable full page content fetch (slow, 5-15s — only when needed)
--topicFocus mode: general, coding, news, academic, shopping, social, geo, location
--num-resultsMax results to return (default 10)
--include-answerGenerate AI answer summary from results
--include-domainOnly include results from these domains (repeatable, max 50)
--exclude-domainExclude results from these domains (repeatable, max 50)
--time-rangeRecency filter: hour, day, week, month, year
--start-dateFilter results after this date (YYYY-MM-DD)
--end-dateFilter results before this date (YYYY-MM-DD)
--content-typeFilter by type: pdf, docx, xlsx, documents, spreadsheets, presentations
--parsing-typeOutput format: markdown, plain_text, simplified_html
--countryCountry code for localized results
--localeLocale for language settings
--max-subagentsMax parallel subagents for shopping/social/geo modes (1-10, default 3)

Focus modes (quick reference — for detailed per-mode guidance, decision tree, and combination strategies, read references/search-focus-modes.md):

ModeBest for
generalBroad web searches (default)
codingProgramming docs, code examples, technical content
newsCurrent events, breaking news, recent articles
academicResearch papers, scholarly articles, studies
shoppingProduct searches, price comparisons, e-commerce
socialPeople research, LinkedIn/X/YouTube profiles, community discussions
geoGeographic information, regional data
locationLocal businesses, place-specific queries

Topic selection by intent (see references/search-focus-modes.md for full table):

Query IntentPrimary TopicSecondary (parallel)
Research a personsocialgeneral
Research a companygeneralnews
Find code/docscoding
Current eventsnewssocial
Find a product/priceshopping
Find a place/businesslocationgeo
Find research papersacademic

Performance tips:

  • With --deep-search=false (FAST): 1-3 seconds, returns titles + snippets + URLs — use this 95% of the time
  • Without the flag / --deep-search (SLOW): 5-15 seconds, returns full page content — only for archiving or full-text analysis
  • Use --include-answer for quick synthesized insights — works great with fast mode
  • Start with 5-10 results, increase only if needed

extract

Scalable data collection with stealth unblocking. Get clean, real-time HTML and structured data from any URL. Supports JS rendering, browser emulation, and geolocation. Run nimble extract --help for all options.

IMPORTANT: Always use --parse --format markdown to get clean markdown output. Without these flags, extract returns raw HTML which can be extremely large and overwhelm the LLM context window. The --format flag on extract controls the *content type* (not the CLI output format — see Output Formats above).

# Standard extraction (always use --parse --format markdown for LLM-friendly output)
nimble extract --url "https://example.com/article" --parse --format markdown

# Render JavaScript (for SPAs, dynamic content)
nimble extract --url "https://example.com/app" --render --parse --format markdown

# Extract with geolocation (see content as if from a specific country)
nimble extract --url "https://example.com" --country US --city "New York" --parse --format markdown

# Handle cookie consent automatically
nimble extract --url "https://example.com" --consent-header --parse --format markdown

# Custom browser emulation
nimble extract --url "https://example.com" --browser chrome --device desktop --os windows --parse --format markdown

# Multiple content format preferences (API tries first, falls back to second)
nimble extract --url "https://example.com" --parse --format markdown --format html

Key options:

FlagDescription
--urlTarget URL to extract (required)
--parseParse the response content (always use this)
--formatContent type preference: markdown, html (always use markdown for LLM-friendly output)
--renderRender JavaScript using a browser
--countryCountry code for geolocation and proxy
--cityCity for geolocation
--stateUS state for geolocation (only when country=US)
--localeLocale for language settings
--consent-headerAuto-handle cookie consent
--browserBrowser type to emulate
--deviceDevice type for emulation
--osOperating system to emulate
--driverBrowser driver to use
--methodHTTP method (GET, POST, etc.)
--headersCustom HTTP headers (key=value)
--cookiesBrowser cookies
--referrer-typeReferrer policy
--http2Use HTTP/2 protocol
--request-timeoutTimeout in milliseconds
--tagUser-defined tag for request tracking

map

Fast URL discovery and site structure mapping. Easily plan extraction workflows. Returns URL metadata only (URLs, titles, descriptions) — not page content. Use extract or crawl to get actual content from the discovered URLs. Run nimble map --help for all options.

# Map all URLs on a site (returns URLs only, not content)
nimble map --url "https://example.com"

# Limit number of URLs returned
nimble map --url "https://docs.example.com" --limit 100

# Include subdomains
nimble map --url "https://example.com" --domain-filter subdomains

# Use sitemap for discovery
nimble map --url "https://example.com" --sitemap auto

Key options:

FlagDescription
--urlURL to map (required)
--limitMax number of links to return
--domain-filterInclude subdomains in mapping
--sitemapUse sitemap for URL discovery
--countryCountry code for geolocation
--localeLocale for language settings

crawl

Extract contents from entire websites in a single request. Collect large volumes of web data automatically. Crawl is async — you start a job, poll for completion, then retrieve the results. Run nimble crawl run --help for all options.

Crawl defaults:

SettingDefaultNotes
--sitemapautoAutomatically uses sitemap if available
--max-discovery-depth5How deep the crawler follows links
--limitNo limitAlways set a limit to avoid crawling entire sites

Start a crawl:

# Crawl a site section (always set --limit)
nimble crawl run --url "https://docs.example.com" --limit 50

# Crawl with path filtering
nimble crawl run --url "https://example.com" --include-path "/docs" --include-path "/api" --limit 100

# Exclude paths
nimble crawl run --url "https://example.com" --exclude-path "/blog" --exclude-path "/archive" --limit 50

# Control crawl depth
nimble crawl run --url "https://example.com" --max-discovery-depth 3 --limit 50

# Allow subdomains and external links
nimble crawl run --url "https://example.com" --allow-subdomains --allow-external-links --limit 50

# Crawl entire domain (not just child paths)
nimble crawl run --url "https://example.com/docs" --crawl-entire-domain --limit 100

# Named crawl for tracking
nimble crawl run --url "https://example.com" --name "docs-crawl-feb-2026" --limit 200

# Use sitemap for discovery
nimble crawl run --url "https://example.com" --sitemap auto --limit 50

Key options for crawl run:

FlagDescription
--urlURL to crawl (required)
--limitMax pages to crawl (always set this)
--max-discovery-depthMax depth based on discovery order (default 5)
--include-pathRegex patterns for URLs to include (repeatable)
--exclude-pathRegex patterns for URLs to exclude (repeatable)
--allow-subdomainsFollow links to subdomains
--allow-external-linksFollow links to external sites
--crawl-entire-domainFollow sibling/parent URLs, not just child paths
--ignore-query-parametersDon't re-scrape same path with different query params
--nameName for the crawl job
--sitemapUse sitemap for URL discovery (default auto)
--callbackWebhook for receiving results

Poll crawl status and retrieve results:

Crawl jobs run asynchronously. After starting a crawl, poll for completion, then retrieve content using individual task IDs (not the crawl ID):

# 1. Start the crawl → returns a crawl_id
nimble crawl run --url "https://docs.example.com" --limit 5
# Returns: crawl_id "abc-123"

# 2. Poll status until completed → returns individual task_ids per page
nimble crawl status --id "abc-123"
# Returns: tasks: [{ task_id: "task-456" }, { task_id: "task-789" }, ...]
# Status values: running, completed, failed, terminated

# 3. Retrieve content using INDIVIDUAL task_ids (NOT the crawl_id)
nimble tasks results --task-id "task-456"
nimble tasks results --task-id "task-789"
# ⚠️ Using the crawl_id here returns 404 — you must use the per-page task_ids from step 2

IMPORTANT: nimble tasks results requires the individual task IDs from crawl status (each crawled page gets its own task ID), not the crawl job ID. Using the crawl ID will return a 404 error.

Polling guidelines:

  • Poll every 15-30 seconds for small crawls (< 50 pages)
  • Poll every 30-60 seconds for larger crawls (50+ pages)
  • Stop polling after status is completed, failed, or terminated
  • Note: crawl status may occasionally misreport individual task statuses (showing "failed" for tasks that actually succeeded). If crawl status shows failed tasks, try retrieving their results with nimble tasks results before assuming failure

List crawls:

# List all crawls
nimble crawl list

# Filter by status
nimble crawl list --status running

# Paginate results
nimble crawl list --limit 10

Cancel a crawl:

nimble crawl terminate --id "crawl-task-id"

Best Practices

Search Strategy

  1. Always pass --deep-search=false — the default is deep mode (slow). Fast mode covers 95% of use cases: URL discovery, research, comparisons, answer generation
  2. Only use deep mode when you need full page text — archiving articles, extracting complete docs, building datasets
  3. Start with the right focus mode — match --topic to your query type (see references/search-focus-modes.md)
  4. Use --include-answer — get AI-synthesized insights without extracting each result. If it returns 402/403, retry without it.
  5. Filter domains — use --include-domain to target authoritative sources
  6. Add time filters — use --time-range for time-sensitive queries

Multi-Search Strategy

When researching a topic in depth, run 2-3 searches in parallel with:

  • Different topics — e.g., social + general for people research
  • Different query angles — e.g., "Jane Doe current job" + "Jane Doe career history" + "Jane Doe publications"

This is faster than sequential searches and gives broader coverage. Deduplicate results by URL before extracting.

Disambiguating Common Names

When searching for a person with a common name:

  1. Include distinguishing context in the query: company name, job title, city
  2. Use --topic social — LinkedIn results include location and current company, making disambiguation easier
  3. Cross-reference results across searches to confirm you're looking at the right person

Extraction Strategy

  1. Always use --parse --format markdown — returns clean markdown instead of raw HTML, preventing context window overflow
  2. Try without --render first — it's faster for static pages
  3. Add --render for SPAs — when content is loaded by JavaScript
  4. Set geolocation — use --country to see region-specific content

Crawl Strategy

  1. Prefer map + extract over crawl for LLM use — crawl results return raw HTML (60-115KB per page) which overwhelms LLM context. For LLM-friendly output, use map to discover URLs, then extract --parse --format markdown on individual pages
  2. Use crawl only for bulk archiving or data pipelines — when you need raw content from many pages and will post-process it outside the LLM context
  3. Always set --limit — crawl has no default limit, so always specify one to avoid crawling entire sites
  4. Use path filters--include-path and --exclude-path to target specific sections
  5. Name your crawls — use --name for easy tracking
  6. Retrieve with individual task IDscrawl status returns per-page task IDs; use those (not the crawl ID) with nimble tasks results --task-id

Common Recipes

Researching a person

# Step 1: Run social + general in parallel for max coverage
nimble search --query "Jane Doe Head of Engineering" --topic social --deep-search=false --num-results 10 --include-answer
nimble search --query "Jane Doe Head of Engineering" --topic general --deep-search=false --num-results 10 --include-answer

# Step 2: Broaden with different query angles in parallel
nimble search --query "Jane Doe career history Acme Corp" --deep-search=false --include-answer
nimble search --query "Jane Doe publications blog articles" --deep-search=false --include-answer

# Step 3: Extract the most promising non-auth-walled URLs (skip LinkedIn — see Known Limitations)
nimble extract --url "https://www.companysite.com/team/jane-doe" --parse --format markdown

Researching a company

# Step 1: Overview + recent news in parallel
nimble search --query "Acme Corp" --topic general --deep-search=false --include-answer
nimble search --query "Acme Corp" --topic news --time-range month --deep-search=false --include-answer

# Step 2: Extract company page
nimble extract --url "https://acme.com/about" --parse --format markdown

Technical research

# Step 1: Find docs and code examples
nimble search --query "React Server Components migration guide" --topic coding --deep-search=false --include-answer

# Step 2: Extract the most relevant doc
nimble extract --url "https://react.dev/reference/rsc/server-components" --parse --format markdown

Error Handling

ErrorSolution
NIMBLE_API_KEY not setSet the environment variable: export NIMBLE_API_KEY="your-key"
401 UnauthorizedVerify API key is active at nimbleway.com
402/403 with --include-answerPremium feature not available on current plan. Retry the same query without --include-answer and continue
429 Too Many RequestsReduce request frequency or upgrade API tier
TimeoutEnsure --deep-search=false is set, reduce --num-results, or increase --request-timeout
No resultsTry different --topic, broaden query, remove domain filters

Known Limitations

SiteIssueWorkaround
LinkedIn profilesAuth wall blocks extraction (returns redirect/JS, status 999)Use --topic social search instead — it returns LinkedIn data directly via subagents. Do NOT try to extract LinkedIn URLs.
Sites behind loginExtract returns login page instead of contentNo workaround — use search snippets instead
Heavy SPAsExtract returns empty or minimal HTMLAdd --render flag to execute JavaScript before extraction
Crawl resultsReturns raw HTML (60-115KB per page), no markdown optionUse map + extract --parse --format markdown on individual pages for LLM-friendly output
Crawl statusMay misreport individual task statuses as "failed" when they actually succeededAlways try nimble tasks results --task-id before assuming failure

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

95.29%
按下载量换算7,043

安全审计

VirusTotal

可疑

ClawScan

可疑

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills