Chuyển đến nội dung chính

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

Perplexity Search API

OpenClaw hỗ trợ Perplexity Search API làm nhà cung cấp web_search. API này trả về kết quả có cấu trúc với các trường title, urlsnippet. Để tương thích, OpenClaw cũng hỗ trợ các thiết lập Perplexity Sonar/OpenRouter cũ. Nếu bạn dùng OPENROUTER_API_KEY, một khóa sk-or-... trong plugins.entries.perplexity.config.webSearch.apiKey, hoặc đặt plugins.entries.perplexity.config.webSearch.baseUrl / model, nhà cung cấp sẽ chuyển sang đường dẫn chat-completions và trả về câu trả lời do AI tổng hợp kèm trích dẫn thay vì kết quả Search API có cấu trúc.

Lấy khóa Perplexity API

  1. Tạo tài khoản Perplexity tại perplexity.ai/settings/api
  2. Tạo khóa API trong bảng điều khiển
  3. Lưu khóa trong cấu hình hoặc đặt PERPLEXITY_API_KEY trong môi trường Gateway.

Khả năng tương thích OpenRouter

Nếu bạn đã dùng OpenRouter cho Perplexity Sonar, hãy giữ provider: "perplexity" và đặt OPENROUTER_API_KEY trong môi trường Gateway, hoặc lưu một khóa sk-or-... trong plugins.entries.perplexity.config.webSearch.apiKey. Các điều khiển tương thích tùy chọn:
  • plugins.entries.perplexity.config.webSearch.baseUrl
  • plugins.entries.perplexity.config.webSearch.model

Ví dụ cấu hình

Perplexity Search API gốc

{
  plugins: {
    entries: {
      perplexity: {
        config: {
          webSearch: {
            apiKey: "pplx-...",
          },
        },
      },
    },
  },
  tools: {
    web: {
      search: {
        provider: "perplexity",
      },
    },
  },
}

Khả năng tương thích 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",
      },
    },
  },
}

Nơi đặt khóa

Qua cấu hình: chạy openclaw configure --section web. Lệnh này lưu khóa trong ~/.openclaw/openclaw.json dưới plugins.entries.perplexity.config.webSearch.apiKey. Trường đó cũng chấp nhận các đối tượng SecretRef. Qua môi trường: đặt PERPLEXITY_API_KEY hoặc OPENROUTER_API_KEY trong môi trường tiến trình Gateway. Với một bản cài đặt gateway, hãy đặt trong ~/.openclaw/.env (hoặc môi trường dịch vụ của bạn). Xem Biến môi trường. Nếu provider: "perplexity" được cấu hình và SecretRef của khóa Perplexity không phân giải được mà không có env dự phòng, quá trình khởi động/tải lại sẽ thất bại nhanh.

Tham số công cụ

Các tham số này áp dụng cho đường dẫn Perplexity Search API gốc.
query
string
bắt buộc
Truy vấn tìm kiếm.
count
number
mặc định:"5"
Số kết quả cần trả về (1–10).
country
string
Mã quốc gia ISO gồm 2 chữ cái (ví dụ US, DE).
language
string
Mã ngôn ngữ ISO 639-1 (ví dụ en, de, fr).
freshness
'day' | 'week' | 'month' | 'year'
Bộ lọc thời gian — day là 24 giờ.
date_after
string
Chỉ các kết quả được xuất bản sau ngày này (YYYY-MM-DD).
date_before
string
Chỉ các kết quả được xuất bản trước ngày này (YYYY-MM-DD).
domain_filter
string[]
Mảng danh sách miền cho phép/chặn (tối đa 20).
max_tokens
number
mặc định:"25000"
Tổng ngân sách nội dung (tối đa 1000000).
max_tokens_per_page
number
mặc định:"2048"
Giới hạn token trên mỗi trang.
Đối với đường dẫn tương thích Sonar/OpenRouter cũ:
  • query, countfreshness được chấp nhận
  • count chỉ dành cho khả năng tương thích ở đó; phản hồi vẫn là một câu trả lời được tổng hợp kèm trích dẫn thay vì danh sách N kết quả
  • Các bộ lọc chỉ dành cho Search API như country, language, date_after, date_before, domain_filter, max_tokensmax_tokens_per_page trả về lỗi rõ ràng
Ví dụ:
// Country and language-specific search
await web_search({
  query: "renewable energy",
  country: "DE",
  language: "de",
});

// Recent results (past week)
await web_search({
  query: "AI news",
  freshness: "week",
});

// Date range search
await web_search({
  query: "AI developments",
  date_after: "2024-01-01",
  date_before: "2024-06-30",
});

// Domain filtering (allowlist)
await web_search({
  query: "climate research",
  domain_filter: ["nature.com", "science.org", ".edu"],
});

// Domain filtering (denylist - prefix with -)
await web_search({
  query: "product reviews",
  domain_filter: ["-reddit.com", "-pinterest.com"],
});

// More content extraction
await web_search({
  query: "detailed AI research",
  max_tokens: 50000,
  max_tokens_per_page: 4096,
});

Quy tắc bộ lọc miền

  • Tối đa 20 miền cho mỗi bộ lọc
  • Không thể trộn danh sách cho phép và danh sách chặn trong cùng một yêu cầu
  • Dùng tiền tố - cho các mục danh sách chặn (ví dụ ["-reddit.com"])

Ghi chú

  • Perplexity Search API trả về kết quả tìm kiếm web có cấu trúc (title, url, snippet)
  • OpenRouter hoặc plugins.entries.perplexity.config.webSearch.baseUrl / model rõ ràng sẽ chuyển Perplexity trở lại chat completions Sonar để tương thích
  • Khả năng tương thích Sonar/OpenRouter trả về một câu trả lời được tổng hợp kèm trích dẫn, không phải các hàng kết quả có cấu trúc
  • Kết quả được lưu trong bộ nhớ đệm trong 15 phút theo mặc định (có thể cấu hình qua cacheTtlMinutes)

Liên quan