Token导航 LogoToken导航TokenDH.com
Pplx Proxy logo
开发工具stdio官方级别未说明来源级核验

Pplx Proxy

MCP Server

一个反向代理服务,允许用户通过现有Perplexity.ai订阅cookie访问所有模型,提供OpenAI兼容的API和调试聊天界面。

工具数

5

提示词数

0

GitHub Stars

5

资源数

0
调试工具PythonClaude模型管理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

jamie950315

提供方

jamie950315

最后核验

2026/5/17 20:23

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv venv

详细介绍

pplx代理

反向代理 困惑.ai --使用您现有的 Pro/Max订阅cookie 通过标准API访问所有模型。

显示三个接口:

  • 与OpenAI兼容的REST API (/v1/chat/completions)--流媒体、工具调用、思考
  • MCP服务器 (流式HTTP+SSE)——5个内置工具
  • 调试聊天界面 (/chat)--使用实时OpenAI格式验证测试所有内容

运作原理

Perplexity的web前端通过内部SSE端点与后端通信(/rest/sse/perplexity_ask).此代理通过以下方式使用您的会话cookie进行身份验证 curl-cffi (Chrome TLS指纹识别),将请求/响应转换为OpenAI和MCP格式,并自动保持会话活动。

无需API官方密钥,只需订阅即可。

所有查询都使用 search_focus: "internet" --困惑的内置网络搜索始终处于活动状态,因此模型直接在答案中返回实时数据(股票价格、天气、新闻)。

特性

  • 完全符合OpenAI格式system_fingerprint, logprobs,适当 usage 算术,所有字段均符合规范
  • 工具调用 --通过三层假阳性防御的提示注入进行OpenAI风格的函数调用
  • 思考/推理thinking: truereasoning_effort param,推理流式传输 reasoning_content
  • 帐户层支持 --free/pro/max——只公开您的层可以访问的模型
  • 自动发现 --后台任务每24小时检查一次模型运行状况,版本更改时自动升级
  • 响应清洗 --strips困惑引文 [1][2], ` 标签, 声明, ` 标签
  • 速率限制跟踪 --跟踪Pro Search配额,耗尽时自动回退到空闲模式,每5次递减时通知一次
  • 会话连续性 --轨道困惑 backend_uuid 因此,后续操作将完全跳过历史记录/指令,只发送新的查询
  • 会话保持活动状态 --定期ping可防止cookie过期
  • 提醒推送ntfy.sh cookie过期或型号升级警报
  • 调试聊天界面/chat 带有工具切换、思维切换、流媒体切换和 OpenAI格式验证器
  • 动态模型管理 -在运行时通过管理员API添加/删除模型
  • 完整输入验证 --为每个格式错误的请求发送正确的错误消息

快速开始

git clone https://github.com/jamie950315/pplx-proxy.git
cd pplx-proxy
python3 -m venv venv
venv/bin/pip install -r requirements.txt

cp .env.example .env
# Edit .env — set PPLX_COOKIE and ACCOUNT_TYPE

venv/bin/uvicorn server:app --host 0.0.0.0 --port 8892

然后打开 http://localhost:8892/chat 使用调试UI进行测试。

获取您的Cookie

  1. 登录 困惑.ai
  2. F12 → 应用Cookiewww.perplexity.ai
  3. 复制 __Secure-next-auth.session-token
  4. PPLX_COOKIE=.env

模型

模型ID后端思维变体
auto困惑最佳免费+--
sonar声纳pro+--
gptGPT-5.4专业版+gpt54_thinking
sonnet克劳德·十四行诗4.6专业版+claude46sonnetthinking
geminiGemini 3.1 ProPro+始终开启
nemotronNemotron 3超级版专业版+始终开启
opus克劳德作品4.6最大claude46opusthinking

思维变体通过以下方式激活 thinking: truereasoning_effort 参数--不需要单独的模型名称。

API终点

方法路径身份验证描述
GET/health健康检查
GET/chat没有使用OpenAI格式验证器调试聊天UI
GET/v1/models列出可用型号
POST/v1/chat/completions聊天(流媒体+非流媒体+工具+思考)
POST/v1/responsesOpenAI响应API兼容性(由LobeHub网络搜索使用)
POST//mcp键入URLMCP可流式HTTP
GET//sse键入URLMCP SSE
GET/admin/models完整模型地图
POST/admin/update-models添加/替换模型
POST/admin/refresh-cookie注入新的会话令牌
POST/admin/discover-models运行模型发现

用法

OpenAI API

# Basic chat
curl -X POST http://localhost:8892/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "sonnet", "messages": [{"role": "user", "content": "Hello"}], "stream": true}'

# With thinking
curl -X POST http://localhost:8892/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "gpt", "messages": [{"role": "user", "content": "Analyze X"}], "thinking": true}'

# With tool calling
curl -X POST http://localhost:8892/v1/chat/completions \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "sonnet",
    "messages": [{"role": "user", "content": "Weather in Tokyo"}],
    "tools": [{"type": "function", "function": {"name": "get_weather", "description": "Get weather", "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]}}}]
  }'

调试聊天界面

打开 http://localhost:8892/chat (或 https://your-domain/chat)在浏览器中:

  • 切换 工具开/关 测试工具调用
  • 切换 思考 测试推理模式
  • 切换 流媒体与非流媒体
  • 原始选项卡:显示完整的请求/响应JSON
  • 格式✓ tab:使用PASS/FAIL徽章根据OpenAI规范验证每个响应字段

主控程序

API密钥是MCP身份验证的URL路径的一部分:

# Claude Code
claude mcp add pplx-proxy --transport http http://localhost:8892/YOUR_API_KEY/mcp

# SSE transport
# Connect to http://localhost:8892/YOUR_API_KEY/sse

没有 PPLX_PROXY_API_KEY 设置后,MCP将回退到未经身份验证 /mcp/mcp/sse/sse.

MCP工具:

工具说明
perplexity_search通过型号/来源选择进行专业搜索
perplexity_ask快速自动模式问答
perplexity_reason模型选择推理
perplexity_research深入研究
perplexity_models列出您所在层的可用型号

OpenAI格式合规性

所有回复都严格匹配 OpenAI聊天完成API规范:

  • id (chatcmpl-\*), object, created, model, system_fingerprint (空)
  • choices[].index, choices[].logprobs (null), choices[].finish_reason
  • usage.total_tokens = prompt_tokens + completion_tokens
  • 流媒体:一致 id, system_fingerprint 在每一块,适当 [DONE] 终止
  • 工具调用: id (call\_\*), type (功能), function.name, function.arguments (有效的JSON字符串)

使用 /chat 进行目视验证 --格式✓ 选项卡对每个响应运行20多次检查。

自动发现

PROBE_INTERVAL_HOURS (默认24小时),pplx代理检查模型是否仍然有效。如果一个死亡。, gpt54gpt55 → ... 高达+1.0)和自动升级。思维变体是自动衍生出来的 _THINKING_MAP.

手动触发: POST /admin/discover-models

配置

变量默认值描述
PPLX_COOKIE--会话令牌(必需的)
PPLX_PROXY_API_KEY--承载身份验证(空=无身份验证)
ACCOUNT_TYPEprofree, pro,或 max
DEFAULT_MODELgpt未指定时为默认值
PPLX_PROXY_PORT8892监听端口
CUSTOM_PROMPTSfile每个LobeHub请求前都会添加本地提示块
KEEPALIVE_HOURS6会话ping间隔
PROBE_INTERVAL_HOURS24自动发现间隔
NTFY_TOPICpplx-proxyntfy.sh主题
NTFY_URLhttps://ntfy.shntfy服务器URL
NTFY_COOLDOWN_SECS3600警报之间的最小间隔
PUBLIC_URLhttp://localhost:8892ntfy消息中的URL
PPLX_API_VERSION2.18困惑内部API版本
PPLX_IMPERSONATEchromecurl_cffi TLS指纹
USER_AGENTChrome/130HTTP用户代理
COOKIE_MAX_AGE_HOURS168Cookie缓存的最大期限
LOG_LEVELINFO日志记录级别

部署(systemd)

sudo cp pplx-proxy.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now pplx-proxy

Cookie生命周期

Manual inject → keep-alive every 6h → session stays alive indefinitely
                                      ↓ (if Perplexity force-revokes)
                                      ntfy alert → manual re-inject

不使用SSH重新注入:

curl -X POST https://your-domain/admin/refresh-cookie \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"session_token": "NEW_TOKEN"}'

关键实施说明

为什么模型说“我无法访问实时数据”: 此代理必须处理导致困惑模型忽略自己的搜索结果的三个问题:

  1. search_focus: "internet" 必须在每个请求中设置。没有它,困惑默认为 "writing" 模型不包含搜索结果的模式。这是唯一最重要的参数。
  1. 必须删除或替换系统提示 在发送到困惑之前。困惑会搜索所有查询文本——如果系统提示说“你是一名人工智能助手”,困惑会找到聊天机器人教程页面,模型会感到困惑。通用客户端只保留白名单批准的行;LobeHub请求完全丢弃上游提示内容。
  1. LobeHub请求总是预置本地 CUSTOM_PROMPTS. 代理仍然检测到 role: developer 以及类似系统提示的用户消息,因此它可以对请求源进行分类,但这些上游提示块永远不会被转发。每次LobeHub转弯都会发送 instructions=[CUSTOM_PROMPTS] 加上保存 history 和电流 query.
  1. 速率限制跟踪 使用FlareSolverr(localhost:8191)轮询Perplexity的 /rest/rate-limit/all 带有会话cookie的端点。需要FlareSolverr在本地运行。当 remaining_pro 达到0时,所有非汽车型号都将回退到 auto (免费套餐)。

有关完整的技术故障,请参阅CLAUDE.md,有关诊断步骤,请参阅MANUAL.md故障排除部分。

免责声明

个人使用的非官方反向代理。依赖于Perplexity的内部web API,该API可能会在不另行通知的情况下更改。负责任地使用。

许可证

麻省理工学院

目录标签

目录标签

调试工具PythonClaude模型管理反向代理本地部署OpenAI兼容API实时数据查询

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP