원클릭으로
anysearch
Real-time search engine supporting web search, vertical domain search, parallel batch search, and URL content extraction.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Real-time search engine supporting web search, vertical domain search, parallel batch search, and URL content extraction.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use this skill when you need to call MoviePilot REST API endpoints directly with the bundled Python client. Covers MoviePilot HTTP endpoints across media search, downloads, subscriptions, library management, site management, system administration, plugins, workflows, and more. Prefer `moviepilot-cli` for normal local MCP tool workflows; use this skill when the user explicitly asks for HTTP API access, when an endpoint is not exposed as an MCP tool, or when running in an environment where direct REST calls are the appropriate bridge.
Use this skill when a user provides a torrent name or file name and wants to fix recognition issues, or asks to add/manage custom identifiers (自定义识别词). This skill generates identifier rules based on the WordsMatcher preprocessing logic, checks for duplicates against existing rules, and saves them via MCP tools. Because custom identifiers are global, generated rules must default to conservative, sample-specific regex patterns instead of broad matches unless the user explicitly wants global cleanup. Applicable scenarios include: 1) A torrent or file name is incorrectly recognized (wrong title, season, episode, etc.); 2) The user wants to block unwanted keywords from torrent names; 3) The user needs episode offset rules for series with non-standard numbering; 4) The user wants to force recognition of a specific media by TMDB/Douban ID; 5) The user wants TV recognition to use a specific TMDB episode group.
Use this skill when the user asks to create, modify, debug, validate, or scaffold a MoviePilot local plugin. Covers MoviePilot V2 plugin development, _PluginBase implementations, package.v2.json/package.json market metadata, plugins.v2/plugins source layout, PLUGIN_LOCAL_REPO_PATHS local plugin sources, plugin APIs, Vuetify JSON forms/pages/dashboards, Vue module federation remote components, get_render_mode, get_sidebar_nav, plugin sidebar pages, commands, services, workflow actions, agent tools, and local install/reload flows. Also use for Chinese requests mentioning 编写插件、本地插件源, 插件开发, V2插件, 插件市场, 本地安装插件, 插件热加载, 前端联邦, 侧栏入口, Vue插件页面.
Use this skill ONLY when the user EXPLICITLY requests filing an upstream issue for MoviePilot core, frontend, or an installed plugin, for example "反馈 issue", "提 issue", "报 bug", "给 MP 提 issue", "让上游修一下", "提交错误报告", "提问题", "提需求", "功能请求", or English "file an issue / report a bug / open an upstream issue / feature request". A bare problem report is not enough: diagnose locally first. This skill uses its own scripts under `scripts/`; it does not add or call dedicated Agent tools for collect / prepare / submit.
Use this skill when you need to inspect, query, maintain, or carefully modify the MoviePilot database. This skill uses the bundled scripts/mp-db.py helper, which reads MoviePilot local settings itself and never requires database passwords or full PostgreSQL DSNs in the agent prompt. Applicable scenarios include data statistics, counts, aggregations, inspecting or fixing records, cleanup requests, and questions like "how many downloads", "show site stats", "delete old records", or "why is this subscription stuck".
Use this skill when the user asks to operate MoviePilot through the local `moviepilot tool` MCP CLI for normal product workflows: media search, torrent search, downloads, subscriptions, downloader tasks, library checks, sites, schedulers, workflows, and messages. Prefer dedicated skills for slash command dispatch, manual file organization or failed transfer retry, direct REST API calls, direct database SQL, browser operations, and restart/upgrade.
| name | anysearch |
| description | Real-time search engine supporting web search, vertical domain search, parallel batch search, and URL content extraction. |
| version | 2 |
| 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"}] |
AnySearch is a unified real-time search service supporting general web search, vertical domain search, 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. Use the configured runtime directly for routine search, batch_search, extract, and get_sub_domains calls; run the doc command only when the CLI interface is unknown or recovery information is needed (see Recommended Entry Point).
This skill SHOULD be activated when the AI agent needs to perform any of the following:
Vertical domain rule: The DEFAULT search path is Path 2 (vertical). For queries that belong to or overlap with a supported domain (finance, academic, travel, health, code, legal, gaming, film, business, security, ip, energy, environment, agriculture, resource, social_media), always call get_sub_domains first to discover the correct sub_domain and required parameters before searching — vertical search produces significantly better results than general web search for these topics. Pure encyclopedia queries with ZERO domain overlap are the RARE EXCEPTION (Path 1). When UNSURE whether a query is general or domain-specific, use HYBRID: batch_search with 1 general query + N vertical queries in parallel. Coverage beats guessing.
Required params rule: When get_sub_domains returns params marked (required), you MUST include ALL of them in --sub_domain_params. If a required param has no applicable value, pass it with an empty string: --sub_domain_params '{"required_key":""}'. Omitting a required param will cause a backend validation error.
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.
Prefer direct CLI invocation. If <skill_dir>/runtime.conf exists and the requested command shape is already obvious (search, batch_search, extract, or get_sub_domains), the agent SHOULD use the configured command directly and SHOULD NOT run doc on every activation. Run doc only when the CLI interface is unknown, a command fails due to argument/schema uncertainty, the skill was just installed/updated, or vertical-domain constraints require the complete reference. The doc command is offline and remains available for recovery, but repeated metadata reads waste tool calls and tokens.
Use these exact command shapes for routine calls. Replace <cmd> with the command from runtime.conf (for example, python3 <skill_dir>/scripts/anysearch_cli.py). Do not invent extra output-format flags.
# Search. Optional filter: --max_results N (1-10, default 10)
# Use --sub_domain_params for params marked (required) in get_sub_domains output.
# Pass empty string for inapplicable required params.
<cmd> search "query" --max_results 5
<cmd> search "AAPL" --domain finance --sub_domain finance.us_stock --sub_domain_params '{"ticker":"AAPL"}'
# Discover sub-domains. Required before any vertical search.
<cmd> get_sub_domains --domain finance
<cmd> get_sub_domains --domains finance,health
# Batch search. Use JSON query objects when per-query max_results is needed.
<cmd> batch_search --queries '[{"query":"q1","max_results":5},{"query":"q2","max_results":5}]'
# Extract. Output is already Markdown. Supported args are only the URL positional argument or --url/-u.
<cmd> extract "https://example.com/page"
<cmd> extract --url "https://example.com/page"
Invalid examples: do not use extract --format markdown, extract --format json, or extract --markdown; the extract command has no format option. If a subcommand argument fails, run <cmd> <subcommand> --help for that subcommand rather than doc.
Run the doc command via the platform-selected CLI only when needed (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 & Privacy notes:
doc command is a local-only operation and makes no network requests.https://api.anysearch.com. Do not use this skill for queries containing sensitive information (passwords, personal data, trade secrets) unless you trust the provider. https://api.anysearch.com has claimed zero retention execution, zero-knowledge credentials, no tracking, no telemetry, and no logging — your queries stay yours.--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>
| 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
.envfile: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.
When a new key is obtained via auto-registration, the agent MUST:
.env file.When a user provides a key in chat, advise them to configure it via .env or environment variable instead, for security.
If <skill_dir>/runtime.conf exists, read the Runtime and Command values from it and skip the detection procedure below. Treat this as the normal fast path for routine searches. 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)
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
python or python3 exists with version >= 3.6 → use anysearch_cli.pypython is absent while python3 is available. Treat both names as valid probes.requests library (typically pre-installed)Step 2 — Check Node.js (if Python failed)
node --version 2>&1
anysearch_cli.jshttps 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 |
powershell -Command "$PSVersionTable.PSVersion" to verifybash --version or sh --version to verifyOnce 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] |
python or python3 with requests, or Node.js 12+, or PowerShell 5.1+, or bash 4+).