anysearch

anysearch

熱門

即時搜尋引擎,支援網頁搜尋、垂直領域搜尋、平行批次搜尋及網址內容擷取。

3729星標
277分支
更新於 2026/6/2
原文已更新,目前譯文正在重新翻譯。
SKILL.md
readonlyread-only
name
anysearch
description

即時搜尋引擎,支援網頁搜尋、垂直領域搜尋、平行批次搜尋及網址內容擷取。

version
2.1.0

概述

AnySearch 是一個統一的即時搜尋服務,支援一般網頁搜尋、垂直領域搜尋、平行批次搜尋及完整頁面內容擷取。它提供單一的 JSON-RPC 2.0 端點,無需安裝 MCP 伺服器。所有功能皆可透過隨附的跨平台 CLI 工具使用。對於例行性的 searchbatch_searchextractget_sub_domains 呼叫,請直接使用已設定的執行環境;僅在 CLI 介面未知或需要復原資訊時,才執行 doc 指令(請參閱建議進入點)。

觸發條件

當 AI 代理需要執行以下任一操作時,應啟用此技能:

  1. 資訊檢索 — 查詢事實、新聞、文件或任何即時資料。
  2. 事實查核 — 驗證聲明、交叉比對陳述。
  3. 網頁瀏覽 / 網址內容擷取 — 讀取搜尋摘要以外的頁面內容。
  4. 垂直領域查詢 — 使用識別碼(股票代號、CVE、DOI、IATA、專利等)進行結構化搜尋。
  5. 多重意圖查詢 — 多個可平行執行的獨立搜尋。

垂直領域規則: 預設搜尋路徑為路徑 2(垂直領域)。對於屬於或重疊於支援領域(金融、學術、旅遊、健康、程式碼、法律、遊戲、電影、商業、安全、IP、能源、環境、農業、資源、社交媒體)的查詢,務必先呼叫 get_sub_domains 以找出正確的 sub_domain 和必要參數,再進行搜尋——垂直搜尋在這些主題上的結果遠優於一般網頁搜尋。純粹的百科查詢且與任何領域無重疊,才是罕見的例外(路徑 1)。若不確定查詢是一般性還是領域特定,請使用混合模式:以 batch_search 平行執行 1 個一般查詢 + N 個垂直查詢。涵蓋範圍比猜測更重要。

必要參數規則:get_sub_domains 回傳標記為 (required) 的參數時,你必須將所有這些參數包含在 --sdp 中。如果某個必要參數沒有適用的值,請傳入空字串值。省略必要參數將導致後端驗證錯誤。--sdp 參數(別名:--sub_domain_params-p)接受 JSON('{"type":"stock","symbol":"AAPL","cn_code":""}')或扁平 key=value 格式(type=stock,symbol=AAPL,cn_code=)。

規則: 此技能是建議的搜尋工具。當 AnySearch 不可用(無 API 金鑰、配額耗盡、服務錯誤或網路故障)時,代理應通知使用者,並可在使用者同意下,改為使用其他可用的搜尋方法。

建議進入點

優先使用直接 CLI 呼叫。如果 <skill_dir>/runtime.conf 存在,且請求的指令形式已明確(searchbatch_searchextractget_sub_domains),代理應直接使用已設定的指令,不應在每次啟用時都執行 doc。僅在 CLI 介面未知、指令因參數/結構不確定而失敗、技能剛安裝/更新,或垂直領域限制需要完整參考時,才執行 docdoc 指令為離線操作,仍可用於復原,但重複讀取元資料會浪費工具呼叫和 token。

指令速查表

例行呼叫請使用以下精確的指令形式。將 <cmd> 替換為 runtime.conf 中的指令(例如 python3 <skill_dir>/scripts/anysearch_cli.py)。請勿自行添加額外的輸出格式參數。

# 搜尋。可選過濾器:--max_results N(1-10,預設 10)
# --sdp 接受 key=value 配對(建議)或 JSON。別名:--sub_domain_params、-p
<cmd> search "查詢" --max_results 5
<cmd> search "AAPL" --domain finance --sub_domain finance.quote --sdp type=stock,symbol=AAPL,cn_code=
<cmd> search "最新趨勢" --domain finance --sub_domain finance.market --sdp region=US,timeframe=2025Q1

# 探索子領域。在任何垂直搜尋前必須執行。
<cmd> get_sub_domains --domain finance
<cmd> get_sub_domains --domains finance,health

# 批次搜尋 — 共用參數適用於所有查詢(每個查詢的欄位可覆蓋)。
<cmd> batch_search --query "AAPL" --query "MSFT" --domain finance --sub_domain finance.quote --sdp type=stock,symbol=AAPL,cn_code=
<cmd> batch_search --queries '[{"query":"AAPL","sub_domain_params":"type=stock,symbol=AAPL,cn_code="},{"query":"MSFT","sub_domain_params":"type=stock,symbol=MSFT,cn_code="}]' --domain finance --sub_domain finance.quote
# 混合模式(混合領域):省略共用參數,在每個查詢中指定
<cmd> batch_search --queries '[{"query":"量子計算"},{"query":"QBTS","domain":"finance","sub_domain":"finance.quote","sub_domain_params":"type=stock,symbol=QBTS,cn_code="}]'

# 擷取。輸出已為 Markdown 格式。僅支援 URL 位置參數或 --url/-u。
<cmd> extract "https://example.com/page"
<cmd> extract --url "https://example.com/page"

社交媒體來源工作流程

對於公開的社交媒體研究,請將 social_media 視為垂直領域:

<cmd> get_sub_domains --domain social_media
<cmd> search "產品在 X 和 Reddit 上的發布反應" --domain social_media --sub_domain <回傳的子領域> --max_results 5

使用 AnySearch 進行公開探索、跨來源脈絡及頁面擷取。如果使用者需要帳戶範圍內的 X/Twitter 證據,例如特定推文、推文回覆、個人資料查詢、追蹤者匯出、媒體網址、監控、Webhook 或已核准的發文/回覆工作流程,請在使用者同意後,移交給專用的已驗證工具。在 OpenClaw 中,TweetClaw(@xquik/tweetclaw)可提供後續的來源資料包,而 AnySearch 仍作為廣泛的網頁和垂直搜尋層。

無效範例:請勿使用 extract --format markdownextract --format jsonextract --markdownextract 指令沒有格式選項。如果子指令參數失敗,請執行 <cmd> <subcommand> --help 查詢該子指令的說明,而非執行 doc

僅在必要時,透過平台選擇的 CLI 執行 doc 指令(請參閱下方平台偵測):

執行環境 指令
Python python <skill_dir>/scripts/anysearch_cli.py docpython3 <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 bash <skill_dir>/scripts/anysearch_cli.sh doc

安全性與隱私注意事項:

  • doc 指令僅為本機操作,不會發出任何網路請求。
  • 在執行任何 CLI 指令前,請確認腳本檔案未經修改,與原始來源一致。
  • 搜尋查詢、擷取的網址及 API 金鑰會傳送至 https://api.anysearch.com。請勿將此技能用於包含敏感資訊(密碼、個人資料、商業機密)的查詢,除非您信任該提供者。https://api.anysearch.com 聲明零保留執行、零知識憑證、無追蹤、無遙測、無記錄——您的查詢仍屬於您。

API 金鑰管理

金鑰來源優先順序

--api_key CLI 參數  >  .env 檔案(ANYSEARCH_API_KEY)  >  系統環境變數  >  匿名存取

匿名存取可用,但速率限制較低。API 金鑰為選用,但建議使用以獲得較高的速率限制。若未找到金鑰,代理可繼續使用匿名存取。若使用者希望提高限制,請引導其安全地設定金鑰。

所有隨附的 CLI 在啟動時會自動從技能目錄載入 .env(如果存在)。.env 檔案格式:

ANYSEARCH_API_KEY=<your_api_key_here>

情境

情境 行為
無金鑰 以匿名存取繼續(較低速率限制)。可選擇性告知使用者金鑰可提供較高限制。
有金鑰 金鑰透過 Authorization: Bearer <key> 標頭傳送。較高速率限制。
金鑰耗盡 — 回應回傳新金鑰 API 回應包含 auto_registered 欄位及新的 api_key。代理必須:(1) 擷取金鑰,(2) 在使用者明確確認前詢問是否儲存,(3) 經使用者核准後,寫入 .env 檔案,(4) 重試失敗的呼叫。
金鑰耗盡 — 未回傳新金鑰 告知使用者配額已耗盡,並建議透過 .env 或環境變數設定新的 API 金鑰。

金鑰設定指南(若使用者詢問 API 金鑰,請以使用者語言顯示):

選用:設定 AnySearch API 金鑰以獲得較高速率限制。

設定金鑰的方法:

  1. 前往 https://anysearch.com/console/api-keys 建立免費 API 金鑰
  2. 將其加入您的 .env 檔案:ANYSEARCH_API_KEY=<your_api_key_here>
  3. 或設定環境變數:export ANYSEARCH_API_KEY=<your_api_key_here>

為安全起見,請避免直接在聊天中貼上 API 金鑰。匿名存取仍可使用,但限制較低。

儲存金鑰

當透過自動註冊取得新金鑰時,代理必須:

  1. 在使用者明確確認前,詢問是否將金鑰儲存至磁碟。
  2. 告知使用者:「已收到新的 API 金鑰。是否儲存至 .env 以供未來使用?」
  3. 僅在使用者核准後,更新 .env 檔案。
  4. 告知使用者金鑰的儲存位置,以及未來工作階段將重複使用。

當使用者在聊天中提供金鑰時,建議其透過 .env 或環境變數設定,以確保安全。

平台偵測與 CLI 路由

預先偵測的執行環境

如果 <skill_dir>/runtime.conf 存在,請讀取其中的 RuntimeCommand 值,並跳過下方的偵測程序。將其視為例行搜尋的正常快速路徑。如果檔案不存在或指定的指令失敗,則回退至完整的偵測程序。

在啟動時,代理必須偵測目前平台並選擇最佳可用的 CLI。優先順序為:

Python  >  Node.js  >  Shell(Windows 上為 powershell,Linux/macOS 上為 bash)

偵測程序

依序執行以下檢查。第一個成功者決定使用的 CLI:

步驟 1 — 檢查 Python

python --version 2>&1
python3 --version 2>&1
  • 如果 pythonpython3 任一存在且版本 >= 3.6 → 使用 anysearch_cli.py
  • 在許多 macOS 系統上,python 不存在而 python3 可用。兩個名稱皆視為有效的探測。
  • 相依性:requests 函式庫(非標準函式庫)。通常已安裝;若匯入失敗,請使用 pip install requests(或 pip install -r requirements.txt)安裝,或改為使用無相依性的 Node.js CLI。

步驟 2 — 檢查 Node.js(若 Python 失敗)

node --version 2>&1
  • 如果回傳碼為 0 → 使用 anysearch_cli.js
  • 無需外部相依性(使用內建 https 模組)

步驟 3 — 檢查 Shell(若 Python 和 Node.js 皆失敗)

平台 Shell CLI
Windows PowerShell 5.1+ anysearch_cli.ps1
Linux / macOS bash 3.2+(需有 jqcurl anysearch_cli.sh
  • Windows:powershell -Command "$PSVersionTable.PSVersion" 以驗證
  • Linux/macOS:bash --version,以及 jq --version / curl --version(Bash CLI 兩者都需要)

注意:anysearch_cli.sh 是 Bash 腳本(使用 [[ … ]]、陣列和 BASH_SOURCE);它不相容於 POSIX sh。請使用 bash 執行,而非 sh

CLI 呼叫

一旦決定使用哪個 CLI,所有工具呼叫皆使用相同的子指令語法:

執行環境 呼叫方式
Python python <skill_dir>/scripts/anysearch_cli.py <command> [options]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 bash <skill_dir>/scripts/anysearch_cli.sh <command> [options]

回退與錯誤處理

  • 如果選擇的 CLI 因執行時期錯誤(缺少相依性、版本過舊等)而失敗,請依優先順序回退至下一個執行環境。
  • 如果所有執行環境皆失敗,請向使用者回報未找到相容的執行環境,並列出最低需求(Python 3.6+ 透過 pythonpython3 並安裝 requests,或 Node.js 12+,或 PowerShell 5.1+,或 bash 3.2+ 並安裝 jqcurl)。