mcpField
A
alibabacloud-iqs-search

alibabacloud-iqs-search

github.com/aliyunProductivity281255 installsUpdated 1d ago
Repository

About alibabacloud-iqs-search

alibabacloud-iqs-search is a Node.js skill for web search and page reading, intended for current-information research and URL-based lookups. It guides engine and content choices for different research needs.

Key features

  1. 01Web search with selectable engines
  2. 02Read pages from URLs
  3. 03Filter search by time range
  4. 04Choose summaries or full text
  5. 05Tune result count

Use cases

  1. 01Check recent news or facts
  2. 02Research a topic across sources
  3. 03Read a user-provided URL

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/aliyun/alibabacloud-aiops-skills --skill alibabacloud-iqs-search

After installing, type/alibabacloud-iqs-searchin Claude Code to confirm it loaded.

Bundled filesscripts/readpage.mjsscripts/search.mjs

Details

From the project README

alibabacloud-iqs-search

Prerequisites

  • Node.js >= 18.0.0 (scripts use native fetch API, no external npm dependencies)

When to Use

  • User asks for current/recent information
  • User provides a URL to read
  • Need to verify facts or get real-time data
  • Research tasks requiring multiple sources

Decision Tree

Step 1: Determine Operation Type
  • If user provides a URL → Use readpage
  • If user asks a question needing web info → Use search
Step 2: For Search Operations

Follow the best practices to determine parameter values. Use default values when uncertain:

  • engineType
  • timeRange
  • contents
Step 3: For Page Reading

Follow the best practices to determine parameter values. Use default values when uncertain:

  • format
  • extractArticle
  • stealthMode
CRITICAL: Execution Method

You MUST execute the scripts via bash command (e.g., node scripts/search.mjs ... or node scripts/readpage.mjs ...). Do NOT use your built-in web_search, WebFetch, or any other internal tools as substitutes. If the script fails, retry or report the error — do NOT fall back to built-in tools.

Parameters & Best Practices

Search Parameters
ParameterTypeRequiredDefaultDescription
--querystringYes-Search query (1-500 chars)
--engineTypestringNoLiteAdvancedSearch engine type
--timeRangestringNoNoLimitTime range filter
--contentsstringNo-Type of return content
--numResultsintNo10Number of search results (1-10)
Search Best Practices

1. Query Optimization (--query)

  • Keep queries concise (< 30 chars for best results)
  • Use specific keywords, avoid stop words
  • For news: include time context in query

2. Engine Selection (--engineType)

The four engines differ significantly in latency, recall depth, content length, and cost. Pick the cheapest engine that meets the task — do NOT default to Deep; it is ~10× slower and 50× more expensive than the standard engine.

EngineAvg RTResult countsnippetmainTextAdvanced filtersMultilingualCost ratio (vs Standard)Use case
Generic~950ms~10~150 chars≤3000 chars✗Medium1×General search, news/realtime, scene queries like weather (supports city/ip)
LiteAdvanced~500ms1-50~500 chars≤3000 chars✓GoodLite-tier 1×Default recommendation: low-latency semantic search; snippets are already rich enough
Deep~6s1-50≤500 chars≤50000 chars✓Good (CN/EN)Vertical 50×Complex multi-step reasoning, research reports, offline/Agent tasks needing deep browsing

Decision rules:

  • Default → LiteAdvanced: low latency + semantic search + snippet covers most Agent needs without needing extra mainText fetches.
  • Choose Generic when: the query is short and clearly informational (news, weather, simple facts), or when minimizing cost matters; also the only engine honoring city / ip for scene results (weather etc.).
  • Choose Deep ONLY when: the question is multi-hop / complex reasoning (FRAMES/BrowseComp-style), OR you need very long mainText (≤50000 characters, ~16× longer than other engines) for downstream LLM reasoning.
    • ⚠️ Avoid Deep for: real-time chat, simple lookups, high-QPS scenarios — latency (~6s) and cost (50×) are prohibitive.

3. Time Range Selection (--timeRange)

  • NoLimit: Default when uncertain - engine optimizes based on query relevance
  • OneDay: Today only
  • OneWeek: Last 7 days
  • OneMonth: Last 30 days
  • OneYear: Last 365 days

4. Content Return (--contents)

  • mainText: Return full main text content - Use when detailed information is needed, such as technical documentation, research reports, or in-depth articles
  • summary: Return concise summary only - Use when a quick overview is sufficient, or when the page content is too large and token reduction is needed

5. Result Count (--numResults)

  • Control number of results returned (default: 10, range: 1-10)

ReadPage Parameters
ParameterTypeRequiredDefaultDescription
--urlstringYes-Target page URL
--formatstringNomarkdownReturn format
--timeoutnumberNo60000Total timeout in milliseconds
--pageTimeoutnumberNo15000Page load timeout in milliseconds
--stealthnumberNo0Enable stealth mode (0 or 1)
--extractArticlebooleanNofalseExtract main article content only
ReadPage Best Practices

1. Format Selection (--format)

  • markdown: Best for articles, preserves structure (default)
  • text: Best for data extraction
  • html: When structure analysis needed

2. Article Extraction (--extractArticle)

  • Enable for: blogs, news articles
  • Disable for: product pages, directories

3. Handling Failures (--timeout, --stealth)

  • If timeout: Retry with increased --timeout value
  • If blocked: Enable --stealth 1
  • If still fails: Report to user

Command Line Usage

Search Examples
Basic Search
node scripts/search.mjs --query "量子计算原理" --engineType LiteAdvanced
Real-time Information Search
node scripts/search.mjs --query "最新金融政策" --engineType Generic --timeRange OneWeek
Search with Results Limit
node scripts/search.mjs --query "www.aliyun.com" --engineType LiteAdvanced --numResults 3
Search with Full Content
node scripts/search.mjs --query "AI 法案" --engineType LiteAdvanced --contents mainText
Search with Summary Only
node scripts/search.mjs --query "人工智能行业年度报告" --engineType LiteAdvanced --contents summary
Deep Research Search (complex multi-hop / long mainText)
# Returns up to 50000-char mainText per result; latency ~6s. Default timeout auto-bumps to 60s for Deep.
node scripts/search.mjs --query "对比 GPT-5 与 Claude Opus 4.7 的代码能力差异" --engineType Deep --numResults 5 --contents mainText
ReadPage Examples
Page Reading with Markdown Format
node scripts/readpage.mjs --url "https://example.com/article" --format markdown --extractArticle true
Page Reading with Plain Text Format
node scripts/readpage.mjs --url "https://example.com/article" --format text --timeout 60000
Page Reading with Stealth Mode
node scripts/readpage.mjs --url "https://example.com/article" --format markdown --stealth 1 --extractArticle true

Output Verification

After executing any search.mjs or readpage.mjs command:

  1. Check the exit code: If non-zero, the command failed — do not claim success.
  2. Verify output exists: If you saved results to a file, run ls -la <filepath> and head -20 <filepath> to confirm the file exists and contains valid data.
  3. Never fabricate results: If the command failed or returned an error, report the failure honestly. Do not generate content from your own knowledge and present it as search results.

Error Handling

ALIYUN_IQS_API_KEY Configuration Error

If the script returns an error about missing API key:

  1. STOP the current task immediately. Do NOT fall back to built-in tools (WebFetch, web_search, curl, etc.) as substitutes.

  2. Report the error to the user and ask the user to configure the API key:

  3. Retry the task with following instruction: Method 1: Environment Variable

export ALIYUN_IQS_API_KEY="your-api-key"

Method 2: Configuration File Create or edit ~/.alibabacloud/iqs/env:

ALIYUN_IQS_API_KEY=your-api-key

Comments

Markdown supported