helallao/perplexity-ai
Unofficial API Wrapper for Perplexity.ai + Account Generator with Web Interface
Perplexity‑AI(非官方 Python 封裝)
是什麼 – 一個無需官方 API 金鑰即可與公開的 Perplexity.ai 網頁 UI 通訊的 Python 庫。它允許你執行與網站相同的搜尋/推理查詢,支援同步或非同步呼叫,還包含一個小型驅動程式,可自動操控 Chrome 瀏覽器,透過 Emailnator 建立暫時 Gmail 帳號,從而重新取得免費層級的「5 個 Pro 查詢」限制。
核心功能
- 搜尋與推理 – 呼叫
client.search()並傳入查詢內容,選擇 mode(auto,pro,reasoning,deep research)。回應包含answer欄位(純文字)。 - 串流輸出 – 設定
stream=True可即時接收部分答案區塊。 - 檔案上傳 – 傳入
{filename: data}字典,讓 Perplexity 分析文件。 - 同步與非同步 API –
perplexity.Client(阻塞式)和perplexity_async.Client(可 await)。 - MCP 伺服器 – 一個 Model Context Protocol 伺服器(
perplexity-mcp),可將封裝作為工具暴露給 Claude Code 或任何 MCP 相容客戶端,支援可選的 HTTP 傳輸用於遠端共享。 - 帳戶生成 –
client.create_account(emailnator_cookies)使用 Emailnator 暫時郵件服務註冊新 Gmail,獲得另一組免費 Pro 查詢額度。 - 速率限制處理、重試機制、類型化介面、結構化日誌、自訂例外層級,確保整合的穩健性。
安裝(需要 Python 3.10+ 和 uv 套件管理器,但 pip 可作為替代)
# 核心庫
uv sync # 或:pip install -e .
# 可選 MCP 伺服器
uv sync --extra mcp # 或:pip install .[mcp]
# 可選網頁驅動(用於帳戶建立)
uv sync --extra driver
uv run patchright install chromium # 安裝無頭 Chromium 供驅動使用
快速使用範例(同步)
import perplexity
client = perplexity.Client() # 匿名,僅限免費層級
resp = client.search("What is artificial intelligence?")
print(resp["answer"]) # → 純文字答案
使用自己的 Perplexity 帳戶(提供從瀏覽器取得的 cookies):
cookies = {
"next-auth.session-token": "…",
"next-auth.csrf-token": "…",
}
client = perplexity.Client(cookies)
resp = client.search(
"Explain quantum computing",
mode="reasoning",
model="gpt-5.2-thinking",
sources=["web", "scholar"],
stream=True,
)
for chunk in resp:
if "answer" in chunk:
print(chunk["answer"], end="", flush=True)
非同步變體 – 將 perplexity 替換為 perplexity_async,並使用 await 呼叫。
MCP 伺服器 – 執行 perplexity-mcp(預設 stdio 傳輸)或 MCP_TRANSPORT=http perplexity-mcp 以啟用 HTTP 端點。Claude Code 可透過 claude mcp add perplexity -- perplexity-mcp 加入為工具。伺服器將查詢轉發給封裝,使用匿名模式或透過 PERPLEXITY_COOKIES 環境變數提供的 cookies。
限制(如文件所述)
- 不支援多訊息
messages數組 – 每次呼叫僅支援單一查詢字串。 - 不支援高階搜尋過濾器(時間範圍、網域、上下文大小、推理努力程度等)。
- 僅回傳純文字答案;不包含結構化引用、圖片或豐富結果物件。
- 帳戶建立需要新鮮的 Emailnator cookies,因為它們會快速過期。
更多資源 – examples/ 中的範例,README 中的完整 API 參考,docs/ 中的變更日誌和路線圖,以及 tests/ 中的測試套件。
法律聲明 – 這是一個 非官方 封裝。請負責任地使用,並遵守 Perplexity.ai 的服務條款。
相關
- 專案
- 專案
- 專案
- 專案
- 專案