---
id: gh-anysearch
name: "anysearch"
url: https://skills.yangsir.net/skill/gh-anysearch
author: anysearch-ai
domain: data-ai
tags: ["search", "information-retrieval", "web-scraping", "fact-checking", "data-extraction"]
install_count: 10600
rating: 4.50 (120 reviews)
github: https://github.com/anysearch-ai/anysearch-skill
---

# anysearch

> AnySearch 是一个统一的实时搜索服务，支持通用网页搜索、23 个垂直领域搜索、并行批量搜索和全页面内容提取。它能帮助 AI Agent 进行信息检索、事实核查和网页内容抓取。

**Stats**: 10,600 installs · 4.5/5 (120 reviews)

## Before / After 对比

### 信息检索效率提升

**Before**:

在进行信息检索和网页内容提取时，需要手动访问多个网站、使用不同的搜索工具，耗费大量时间进行信息整合和验证。

**After**:

通过 AnySearch 统一的实时搜索和内容提取功能，AI Agent 能快速获取所需信息，大幅缩短研究和验证时间。

| Metric | Before | After | Change |
|---|---|---|---|
| 信息检索时长 | 30分钟 | 5分钟 | -83% |

## Readme

## 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:
1. The **source URL** (where the skill files come from)
2. The **target path** (where to install, e.g. `~/.openclaw/skills/anysearch/`)
3. 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 is a unified real-time search service supporting general web search, vertical domain search (23 domains), parallel batch search, and full-page content extraction. It exposes a single JSON-RPC 2.0 endpoint and requires no MCP server installation. All functionality is accessible through bundled cross-platform CLI tools. Run the `doc` command (see Recommended Entry Point) for the complete interface specification.

## Trigger

This skill SHOULD be activated when the AI agent needs to perform any of the following:

1. **Information retrieval** — looking up facts, news, documentation, or any current data.
2. **Fact-checking** — verifying claims, cross-referencing statements.
3. **Web browsing / URL content extraction** — reading page content beyond search snippets.
4. **Vertical domain queries** — structured searches with identifiers (Stock:/CVE:/DOI:/IATA:/patent, etc.).
5. **Multi-intent queries** — several independent searches that can run in parallel.

**Rule:** This skill is the **recommended** search tool. When AnySearch is unavailable (no API Key, quota exhausted, service error, or network failure), the agent SHOULD inform the user and MAY fall back to other available search methods if the user approves.

## 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:
> 1. Visit https://anysearch.com/console/api-keys to create a free API key
> 2. Add it to your `.env` file: `ANYSEARCH_API_KEY=<your_api_key_here>`
> 3. 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:
1. Ask the user for explicit confirmation before saving the key to disk.
2. Inform the user: "A new API key was received. Save it to .env for future use?"
3. Only after user approval, update the `.env` file.
4. 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+).


---

# AnySearch Skill

Unified real-time search engine skill for AI agents. Supports general web search, vertical domain search, parallel batch search, and full-page content extraction.

## Download & Install

### For AI Agents

If your agent platform supports a skill marketplace/store, search for **anysearch** and install from there. Otherwise, download and install manually:

```bash
# Download (pin to a specific release version)
curl -L -o anysearch-skill.zip https://github.com/anysearch-ai/anysearch-skill/archive/refs/heads/main.zip
# or: wget -O anysearch-skill.zip https://github.com/anysearch-ai/anysearch-skill/archive/refs/heads/main.zip

# Verify integrity (replace with actual checksum from the release page)
# sha256sum anysearch-skill.zip

# Unzip
unzip anysearch-skill.zip

# Move to your agent's skill directory (example paths below, adjust for your agent)
# Claude Code:    mv anysearch-skill ~/.claude/skills/anysearch
# OpenCode:       mv anysearch-skill ~/.opencode/skills/anysearch
# Cursor/Windsurf: mv anysearch-skill <project>/.skills/anysearch
# Generic:        mv anysearch-skill <your_agent_skill_dir>/anysearch
# Shared agents:  mv anysearch-skill ~/.agents/skills/anysearch
```

`~/.agents/skills/` is a useful shared install location when multiple AI tools read from the same skill directory, including Codex, Cursor, and OpenClaw personal agent skills.

### For Humans

1. Download the zip: https://github.com/anysearch-ai/anysearch-skill/archive/refs/heads/main.zip
2. Unzip to your agent's skill directory
3. Configure API key (see below)
4. Run the entry test to verify installation

## API Key Configuration

An API key is **optional but strongly recommended**. Without a key, you can still use all search features via anonymous access, but with **lower rate limits and quota**.

### How to configure

Copy the example env file and fill in your key:

```bash
cp .env.example .env
# Edit .env and set: ANYSEARCH_API_KEY=<your_api_key_here>
```

Or set the environment variable directly:

```bash
export ANYSEARCH_API_KEY=<your_api_key_here>   # Linux/macOS
set ANYSEARCH_API_KEY=<your_api_key_here>       # Windows CMD
$env:ANYSEARCH_API_KEY="<your_api_key_here>"    # Windows PowerShell
```

### Get an API Key

Visit https://anysearch.com/console/api-keys to sign up and create a free API key.

Key priority order: `--api_key` CLI flag > `.env` file > environment variable > anonymous

## Post-Install Verification

After installation, probe the platform and run the entry test:

### Step 1: Detect available runtime

Run these checks in order. The first success determines the active CLI:

```bash
# Check Python (recommended)
python --version   # Need >= 3.6, requires `requests` library
python3 --version  # Need >= 3.6, requires `requests` library
# Check Node.js (alternative)
node --version     # Need >= 12, no external dependencies
# Check Shell (fallback)
# Windows: PowerShell 5.1+ / Linux/macOS: bash 4+
```

Priority: **Python > Node.js > Shell**

Important: do not assume `python` exists. On many macOS systems, the correct executable is `python3`. Check both `python` and `python3`; if either works, Python is available.

### Step 2: Run entry test (probe all available runtimes)

Run the `doc` command with **each available** runtime to verify the skill works, and observe which runs without errors or warnings:

```bash
# Python
python <skill_dir>/scripts/anysearch_cli.py doc

# Python 3 fallback (common on macOS)
python3 <skill_dir>/scripts/anysearch_cli.py doc

# Node.js (if available)
node <skill_dir>/scripts/anysearch_cli.js doc

# PowerShell (Windows)
powershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1 doc

# Bash (Linux/macOS)
bash <skill_dir>/scripts/anysearch_cli.sh doc
```

For each runtime, record whether the command succeeded and any errors/warnings encountered. The runtime that completes without errors and produces the cleanest output is the recommended runtime for this environment.

### Step 3: Persist recommended runtime to configuration file

Based on the entry test results, write the recommended runtime to `<skill_dir>/runtime.conf`:

```bash
echo "Runtime: <RUNTIME>" > <skill_dir>/runtime.conf
echo "Command: <COMMAND>" >> <skill_dir>/runtime.conf
```

Example for Python:

```bash
echo "Runtime: Python" > <skill_dir>/runtime.conf
echo "Command: python <skill_dir>/scripts/anysearch_cli.py" >> <skill_dir>/runtime.conf
```

Example for Python 3:

```bash
echo "Runtime: Python" > <skill_dir>/runtime.conf
echo "Command: python3 <skill_dir>/scripts/anysearch_cli.py" >> <skill_dir>/runtime.conf
```

Example for Node.js:

```bash
echo "Runtime: Node.js" > <skill_dir>/runtime.conf
echo "Command: node <skill_dir>/scripts/anysearch_cli.js" >> <skill_dir>/runtime.conf
```

Example for PowerShell:

```bash
echo "Runtime: PowerShell" > <skill_dir>/runtime.conf
echo "Command: powershell -ExecutionPolicy Bypass -File <skill_dir>/scripts/anysearch_cli.ps1" >> <skill_dir>/runtime.conf
```

Example for Bash:

```bash
echo "Runtime: Bash" > <skill_dir>/runtime.conf
echo "Command: bash <skill_dir>/scripts/anysearch_cli.sh" >> <skill_dir>/runtime.conf
```

**Important:** Runtime preferences are stored in `runtime.conf`, NOT in SKILL.md. The agent reads `runtime.conf` on skill load to determine the active CLI. If the file is missing or corrupted, the agent falls back to the Platform Detection procedure in SKILL.md. If `runtime.conf` already exists, replace it instead of appending.

### Step 4 (optional): Test a real search

```bash
python <skill_dir>/scripts/anysearch_cli.py search "hello world" --max_results 1
```

If your system does not provide `python`, use:

```bash
python3 <skill_dir>/scripts/anysearch_cli.py search "hello world" --max_results 1
```

A successful JSON response confirms the API connection is working.

## File Structure

```
anysearch/
├── .env.example              # API key configuration template
├── .env                      # Your API key (gitignored, create from .env.example)
├── runtime.conf              # Detected runtime preferences (gitignored)
├── runtime.conf.example      # Runtime configuration template
├── SKILL.md                  # Skill definition for AI agents
├── README.md                 # This file
└── scripts/
    ├── anysearch_cli.py       # Python CLI
    ├── anysearch_cli.js       # Node.js CLI
    ├── anysearch_cli.ps1      # PowerShell CLI
    └── anysearch_cli.sh       # Bash CLI
```


---
*Source: https://skills.yangsir.net/skill/gh-anysearch*
*Markdown mirror: https://skills.yangsir.net/api/skill/gh-anysearch/markdown*