Tools
Perplexity 搜尋
OpenClaw 支援將 Perplexity Search API 作為 web_search 提供者。它會傳回包含 title、url 與 snippet 欄位的結構化結果。
為了相容性,OpenClaw 也支援舊版 Perplexity Sonar/OpenRouter 設定。如果您使用 OPENROUTER_API_KEY、在 plugins.entries.perplexity.config.webSearch.apiKey 中使用 sk-or-... 金鑰,或設定 plugins.entries.perplexity.config.webSearch.baseUrl / model,提供者便會切換至聊天補全路徑,並傳回附有引用來源的 AI 綜合回答,而非結構化的 Search API 結果。
安裝外掛
安裝官方外掛,然後重新啟動閘道:
openclaw plugins install @openclaw/perplexity-pluginopenclaw gateway restart取得 Perplexity API 金鑰
- 在 perplexity.ai/settings/api 建立 Perplexity 帳戶。
- 在控制台中產生 API 金鑰。
- 將金鑰儲存在設定中,或在閘道環境中設定
PERPLEXITY_API_KEY。
OpenRouter 相容性
如果您已透過 OpenRouter 使用 Perplexity Sonar,請保留 provider: "perplexity",並在閘道環境中設定 OPENROUTER_API_KEY,或在 plugins.entries.perplexity.config.webSearch.apiKey 中儲存 sk-or-... 金鑰。
選用的相容性控制項:
plugins.entries.perplexity.config.webSearch.baseUrlplugins.entries.perplexity.config.webSearch.model
設定範例
原生 Perplexity Search API
{ plugins: { entries: { perplexity: { config: { webSearch: { apiKey: "pplx-...", }, }, }, }, }, tools: { web: { search: { provider: "perplexity", }, }, },}OpenRouter / Sonar 相容性
{ plugins: { entries: { perplexity: { config: { webSearch: { apiKey: "<openrouter-api-key>", baseUrl: "https://openrouter.ai/api/v1", model: "perplexity/sonar-pro", }, }, }, }, }, tools: { web: { search: { provider: "perplexity", }, }, },}金鑰設定位置
**透過設定:**執行 openclaw configure --section web。此命令會將金鑰儲存在 ~/.openclaw/openclaw.json 的 plugins.entries.perplexity.config.webSearch.apiKey 下。該欄位也接受 SecretRef 物件。
**透過環境:**在閘道程序環境中設定 PERPLEXITY_API_KEY 或 OPENROUTER_API_KEY。若是閘道安裝,請將其放入 ~/.openclaw/.env(或您的服務環境)中。請參閱環境變數。
如果已設定 provider: "perplexity",但 Perplexity 金鑰 SecretRef 無法解析且沒有環境變數備援,啟動或重新載入會立即失敗。
工具參數
這些參數適用於原生 Perplexity Search API 路徑。
querystringrequired搜尋查詢。
countnumberdefault: 5要傳回的結果數量(1 至 10)。
countrystring2 個字母的 ISO 國家代碼(例如 US、DE)。
languagestringISO 639-1 語言代碼(例如 en、de、fr)。
freshness'day' | 'week' | 'month' | 'year'時間篩選條件——day 代表 24 小時。
date_afterstring僅傳回在此日期之後發布的結果(YYYY-MM-DD)。
date_beforestring僅傳回在此日期之前發布的結果(YYYY-MM-DD)。
domain_filterstring[]網域允許清單/拒絕清單陣列(最多 20 個)。
max_tokensnumberdefault: 25000總內容預算(上限為 1000000)。
max_tokens_per_pagenumberdefault: 2048每頁權杖上限。
針對舊版 Sonar/OpenRouter 相容路徑:
- 接受
query、count與freshness。 count在此僅供相容用途;回應仍是一則附有引用來源的綜合回答,而非包含 N 筆結果的清單。- 僅限 Search API 的篩選條件(
country、language、date_after、date_before、domain_filter、max_tokens、max_tokens_per_page)會傳回明確錯誤。
範例:
// 依國家和語言搜尋await web_search({ query: "renewable energy", country: "DE", language: "de",}); // 最近的結果(過去一週)await web_search({ query: "AI news", freshness: "week",}); // 日期範圍搜尋await web_search({ query: "AI developments", date_after: "2024-01-01", date_before: "2024-06-30",}); // 網域篩選(允許清單)await web_search({ query: "climate research", domain_filter: ["nature.com", "science.org", ".edu"],}); // 網域篩選(拒絕清單——加上 - 前綴)await web_search({ query: "product reviews", domain_filter: ["-reddit.com", "-pinterest.com"],}); // 擷取更多內容await web_search({ query: "detailed AI research", max_tokens: 50000, max_tokens_per_page: 4096,});網域篩選規則
- 每個篩選條件最多可包含 20 個網域。
- 同一個請求中不能混用允許清單與拒絕清單項目。
- 拒絕清單項目請使用
-前綴(例如["-reddit.com"])。
注意事項
- Perplexity Search API 會傳回結構化的網頁搜尋結果(
title、url、snippet)。 - OpenRouter 或明確設定的
plugins.entries.perplexity.config.webSearch.baseUrl/model,會基於相容性將 Perplexity 切換回 Sonar 聊天補全。 - Sonar/OpenRouter 相容模式會傳回一則附有引用來源的綜合回答,而非結構化結果列。
- 預設會快取結果 15 分鐘(可透過
cacheTtlMinutes設定)。