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 的服务条款。
相关
- 项目
- 项目
- 项目
- 项目
- 项目