即時搜尋引擎,支援網頁搜尋、垂直領域搜尋、平行批次搜尋及網址內容擷取。
概述
AnySearch 是一個統一的即時搜尋服務,支援一般網頁搜尋、垂直領域搜尋、平行批次搜尋及完整頁面內容擷取。它提供單一的 JSON-RPC 2.0 端點,無需安裝 MCP 伺服器。所有功能皆可透過隨附的跨平台 CLI 工具使用。對於例行性的 search、batch_search、extract 和 get_sub_domains 呼叫,請直接使用已設定的執行環境;僅在 CLI 介面未知或需要復原資訊時,才執行 doc 指令(請參閱建議進入點)。
觸發條件
當 AI 代理需要執行以下任一操作時,應啟用此技能:
- 資訊檢索 — 查詢事實、新聞、文件或任何即時資料。
- 事實查核 — 驗證聲明、交叉比對陳述。
- 網頁瀏覽 / 網址內容擷取 — 讀取搜尋摘要以外的頁面內容。
- 垂直領域查詢 — 使用識別碼(股票代號、CVE、DOI、IATA、專利等)進行結構化搜尋。
- 多重意圖查詢 — 多個可平行執行的獨立搜尋。
垂直領域規則: 預設搜尋路徑為路徑 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 存在,且請求的指令形式已明確(search、batch_search、extract 或 get_sub_domains),代理應直接使用已設定的指令,不應在每次啟用時都執行 doc。僅在 CLI 介面未知、指令因參數/結構不確定而失敗、技能剛安裝/更新,或垂直領域限制需要完整參考時,才執行 doc。doc 指令為離線操作,仍可用於復原,但重複讀取元資料會浪費工具呼叫和 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 markdown、extract --format json 或 extract --markdown;extract 指令沒有格式選項。如果子指令參數失敗,請執行 <cmd> <subcommand> --help 查詢該子指令的說明,而非執行 doc。
僅在必要時,透過平台選擇的 CLI 執行 doc 指令(請參閱下方平台偵測):
| 執行環境 | 指令 |
|---|---|
| Python | python <skill_dir>/scripts/anysearch_cli.py doc 或 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 | 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 金鑰以獲得較高速率限制。
設定金鑰的方法:
- 前往 https://anysearch.com/console/api-keys 建立免費 API 金鑰
- 將其加入您的
.env檔案:ANYSEARCH_API_KEY=<your_api_key_here>- 或設定環境變數:
export ANYSEARCH_API_KEY=<your_api_key_here>為安全起見,請避免直接在聊天中貼上 API 金鑰。匿名存取仍可使用,但限制較低。
儲存金鑰
當透過自動註冊取得新金鑰時,代理必須:
- 在使用者明確確認前,詢問是否將金鑰儲存至磁碟。
- 告知使用者:「已收到新的 API 金鑰。是否儲存至 .env 以供未來使用?」
- 僅在使用者核准後,更新
.env檔案。 - 告知使用者金鑰的儲存位置,以及未來工作階段將重複使用。
當使用者在聊天中提供金鑰時,建議其透過 .env 或環境變數設定,以確保安全。
平台偵測與 CLI 路由
預先偵測的執行環境
如果 <skill_dir>/runtime.conf 存在,請讀取其中的 Runtime 和 Command 值,並跳過下方的偵測程序。將其視為例行搜尋的正常快速路徑。如果檔案不存在或指定的指令失敗,則回退至完整的偵測程序。
在啟動時,代理必須偵測目前平台並選擇最佳可用的 CLI。優先順序為:
Python > Node.js > Shell(Windows 上為 powershell,Linux/macOS 上為 bash)
偵測程序
依序執行以下檢查。第一個成功者決定使用的 CLI:
步驟 1 — 檢查 Python
python --version 2>&1
python3 --version 2>&1
- 如果
python或python3任一存在且版本 >= 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+(需有 jq 和 curl) |
anysearch_cli.sh |
- Windows:
powershell -Command "$PSVersionTable.PSVersion"以驗證 - Linux/macOS:
bash --version,以及jq --version/curl --version(Bash CLI 兩者都需要)
注意:
anysearch_cli.sh是 Bash 腳本(使用[[ … ]]、陣列和BASH_SOURCE);它不相容於 POSIXsh。請使用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+ 透過
python或python3並安裝requests,或 Node.js 12+,或 PowerShell 5.1+,或 bash 3.2+ 並安裝jq和curl)。






