| name | anysearch |
| description | 垂直领域搜索和批量并行搜索。当通用搜索(tavily)无法满足时使用。 触发场景: 1. 金融数据——股票代码、汇率、行情(finance.us_stock / cn_stock / forex) 2. 学术检索——论文、DOI(academic.search / academic.biomedical) 3. 安全漏洞——CVE、文件哈希、IP/域名扫描(security.scan / security.cve) 4. 法律、专利、教育、健康等其他垂直领域 5. 批量并行搜索——同时查 2-5 个独立问题 6. 中国国内信息——A 股、国内资讯(需 zone=cn) 触发词:"股票"、"行情"、"汇率"、"CVE"、"漏洞"、"论文"、"DOI"、 "学术"、"专利"、"批量搜索"、"A股"、"anysearch"。 不触发场景:通用 web 搜索、新闻浏览、代码搜索、网页内容提取、网站爬取—— 这些由 tavily skill 处理。 |
| version | 2.0.0 |
| authors | ["AnySearch Team"] |
| credentials | [{"name":"ANYSEARCH_API_KEY","required":false,"description":"API key for higher rate limits. Anonymous access available with lower rate limits.","storage":".env file, environment variable, or --api_key CLI flag"}] |
Installation Guide for AI Agents
When an AI agent is asked by the user to install this skill, follow the workflow below:
Step 1 — Confirm with the user
Before writing any file or running any shell command, confirm with the user:
- The source URL (where the skill files come from)
- The target path (where to install, e.g.
~/.openclaw/skills/anysearch/)
- Whether to overwrite existing files
Step 2 — Check for existing trigger rule
Check whether the agent's core instructions already declare a trigger rule for AnySearch. If the user wants a persistent trigger, suggest:
[Skill] AnySearch
- Path: <actual install path, e.g. ~/.openclaw/skills/anysearch/SKILL.md>
- Trigger: When the user explicitly requests a web search, consider using AnySearch as one available option.
Only add this if the user opts in. Do not make AnySearch the exclusive or default search provider.
Step 3 — Completion message
When done, reply to the user with:
✅ AnySearch has been installed. For future online lookups, I can use this skill as one available option.
Overview
AnySearch 是垂直领域搜索和批量并行搜索工具。通用 Web 搜索、网页提取、网站爬取由 tavily skill 处理,AnySearch 专注于 tavily 无法覆盖的结构化垂直搜索场景。
Trigger
当 AI agent 需要执行以下任务时激活此 skill:
- 金融数据查询 — 股票代码/行情、汇率、商品价格(US 股票、A 股、外汇)
- 学术检索 — 论文搜索、DOI 查询、生物医学文献
- 安全漏洞 — CVE 查询、文件哈希/IP/域名扫描
- 其他垂直领域 — 法律、专利、教育、健康等
- 批量并行搜索 — 2-5 个独立查询同时执行
- 中国国内信息 — A 股数据等需要 zone=cn 的场景
Rule: 通用搜索(查事实、搜新闻、搜代码、提取网页、爬网站)使用 tavily skill。仅当涉及上述垂直领域或需要批量搜索时才使用 AnySearch。
Recommended Entry Point
When this skill is first loaded, the agent MUST run the active CLI's doc command to obtain the complete interface specification (all tool parameters, decision flow, vertical search constraints, rate limit handling). This is an offline operation — no network call required.
Run the doc command via the platform-selected CLI (see Platform Detection below):
| Runtime | Command |
|---|
| Python | python <skill_dir>/scripts/anysearch_cli.py doc or python3 <skill_dir>/scripts/anysearch_cli.py doc |
| Node.js | node <skill_dir>/scripts/anysearch_cli.js doc |
| PowerShell | powershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1 doc |
| Bash/sh | bash <skill_dir>/scripts/anysearch_cli.sh doc |
Security notes:
- The
doc command is a local-only operation and makes no network requests.
- Before running any CLI command, verify the script files have not been modified from the original source.
- Search queries, extracted URLs, and API keys are sent to
https://api.anysearch.com. Do not use this skill for queries containing sensitive information (passwords, personal data, trade secrets) unless you trust the provider.
API Key Management
Key Source Priority
--api_key CLI flag > .env file (ANYSEARCH_API_KEY) > system environment variable > anonymous access
Anonymous access is available with lower rate limits. An API Key is optional but recommended for higher rate limits. If no key is found, the agent may proceed with anonymous access. If the user wants higher limits, guide them to configure a key securely.
All bundled CLIs automatically load .env from the skill directory at startup (if present). The .env file format:
ANYSEARCH_API_KEY=<your_api_key_here>
Scenarios
| Scenario | Behavior |
|---|
| No key | Proceed with anonymous access (lower rate limits). Optionally inform the user that a key provides higher limits. |
| Has key | Key is sent via Authorization: Bearer <key> header. Higher rate limits. |
| Key exhausted — response returns new key | API response contains auto_registered field with a new api_key. Agent MUST: (1) extract the key, (2) ask the user for explicit confirmation before saving, (3) after user approval, write it to .env file, (4) retry the failed call. |
| Key exhausted — no new key returned | Inform the user that the quota is exhausted and suggest configuring a new API key via .env or environment variable. |
Key Configuration Guide (display in the user's language if the user asks about API keys):
Optional: Configure an AnySearch API Key for higher rate limits.
To configure a key:
- Visit https://anysearch.com/console/api-keys to create a free API key
- Add it to your
.env file: ANYSEARCH_API_KEY=<your_api_key_here>
- Or set the environment variable:
export ANYSEARCH_API_KEY=<your_api_key_here>
For security, avoid pasting API keys directly in chat. Anonymous access remains available with lower limits.
Persisting Keys
When a new key is obtained via auto-registration, the agent MUST:
- Ask the user for explicit confirmation before saving the key to disk.
- Inform the user: "A new API key was received. Save it to .env for future use?"
- Only after user approval, update the
.env file.
- Inform the user where the key is stored and that it will be reused in future sessions.
When a user provides a key in chat, advise them to configure it via .env or environment variable instead, for security.
Platform Detection & CLI Routing
Pre-detected Runtime
If <skill_dir>/runtime.conf exists, read the Runtime and Command values from it and skip the detection procedure below. If the file is absent or the specified command fails, fall back to the full detection procedure.
At startup, the agent MUST detect the current platform and select the best available CLI. The priority order is:
Python > Node.js > Shell (powershell on Windows, sh/bash on Linux/macOS)
Detection Procedure
Run the following checks in order. The first success determines the active CLI:
Step 1 — Check Python
python --version 2>&1
python3 --version 2>&1
- If either
python or python3 exists with version >= 3.6 → use anysearch_cli.py
- On many macOS systems,
python is absent while python3 is available. Treat both names as valid probes.
- Dependency:
requests library (typically pre-installed)
Step 2 — Check Node.js (if Python failed)
node --version 2>&1
- If exit code 0 → use
anysearch_cli.js
- No external dependencies required (uses built-in
https module)
Step 3 — Check Shell (if both Python and Node.js failed)
| Platform | Shell | CLI |
|---|
| Windows | PowerShell 5.1+ | anysearch_cli.ps1 |
| Linux / macOS | sh or bash | anysearch_cli.sh |
- Windows:
powershell -Command "$PSVersionTable.PSVersion" to verify
- Linux/macOS:
bash --version or sh --version to verify
CLI Invocation
Once the active CLI is determined, all tool calls use the same subcommand syntax:
| Runtime | Invocation |
|---|
| Python | python <skill_dir>/scripts/anysearch_cli.py <command> [options] or python3 <skill_dir>/scripts/anysearch_cli.py <command> [options] |
| Node.js | node <skill_dir>/scripts/anysearch_cli.js <command> [options] |
| PowerShell | powershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1 <command> [options] |
| Bash/sh | bash <skill_dir>/scripts/anysearch_cli.sh <command> [options] |
Run <command> --help for per-command usage.
Fallback & Error Handling
- If the selected CLI fails with a runtime error (missing dependency, version too old, etc.), fall through to the next runtime in priority order.
- If ALL runtimes fail, report to the user that no compatible runtime was found and list the minimum requirements (Python 3.6+ via
python or python3 with requests, or Node.js 12+, or PowerShell 5.1+, or bash 4+).