Perplexity API 替代工具

一个简单、干净的Perplexity API替代方案,适用于TaskMaster AI和Claude Code MCP服务器。

  • by 1vecera
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 1vecera/perplexity-api-simple

使用说明

困惑API简单

一个简单,干净的滴入替代官方困惑API。非常适合与TaskMaster AI和Claude Code MCP服务器一起使用。

安装

curl -fsSL https://raw.githubusercontent.com/anombyte93/perplexity-api-simple/main/install.sh | bash

这将把仓库克隆到 ~/perplexity-api-simple/,创建Python venv,安装依赖项,并设置 .env。运行相同的命令进行更新。

更新现有安装:

bash ~/perplexity-api-simple/install.sh --update

自定义安装位置:

PERPLEXITY_INSTALL_DIR=/opt/perplexity bash <(curl -fsSL https://raw.githubusercontent.com/anombyte93/perplexity-api-simple/main/install.sh)

特性

  • ✅ 100%专注于困惑 -无多提供商复杂性
  • ✅ 简单HTTP API -与TaskMaster和Claude Code轻松集成
  • ✅ Cookie身份验证 -使用您的困惑帐户进行免费搜索
  • ✅ Chrome 扩展 -一键式cookie提取和MCP设置
  • ✅ Web仪表板 -管理API密钥并监控使用情况
  • ✅ 热重新加载Cookie -在不重新启动的情况下更新Cookie
  • ✅ 令牌跟踪 -监控您的使用情况

架构概述

该系统具有 三个主要组成部分 共同努力:

┌─────────────────────────────────────┐
│   Chrome Extension                  │
│   - Extracts Perplexity cookies     │
│   - Auto-configures MCP             │
│   - One-click setup                 │
└──────────────┬──────────────────────┘
               │ Sends cookies via HTTP
               ▼
┌─────────────────────────────────────┐
│   Perplexity API Server (Flask)     │
│   - OpenAI-compatible HTTP API      │
│   - Cookie management               │
│   - API key generation              │
│   - Web dashboard                   │
│   Port: localhost:8765              │
└──────────────┬──────────────────────┘
               │ HTTP requests
               ▼
┌─────────────────────────────────────┐
│   MCP Server (for Claude Code)      │
│   - Translates MCP protocol         │
│   - Connects Claude to API server   │
│   Location: perplexity-api-simple    │
└─────────────────────────────────────┘

它是如何工作的:

  1. Chrome 扩展 自动提取您的困惑Cookie
  2. API服务器 使用Cookie发出经过身份验证的困惑请求
  3. MCP服务器 将Claude Code连接到API服务器
  4. 克劳德代码 现在可以使用您的困惑帐户进行搜索!

快速开始

1.安装

cd perplexity-api-simple

# Install dependencies
pip install -r requirements.txt

# Create .env file
cat > .env <<EOF
PERPLEXITY_COOKIE=your-cookie-here-optional
EOF

2.启动服务器

# Simple start
./scripts/start_server.sh

# Or manually
export $(cat .env | xargs) && python src/perplexity_api_server.py

服务器将在以下时间启动: http://localhost:8765

3.生成API密钥

  1. 打开 http://localhost:8765 在浏览器中
  2. 单击“生成新的API密钥”
  3. 复制API密钥(以开头 pplx_)

用法

适用于TaskMaster AI

添加到TaskMaster配置中:

# In your .env or shell profile
export PERPLEXITY_API_KEY="pplx_your-generated-key-here"
export PERPLEXITY_API_BASE_URL="http://localhost:8765"

然后正常使用TaskMaster --research 标志:

tm parse-prd --research
tm expand-all --research

克劳德代码(MCP服务器)

  1. 生成API密钥 来自网站仪表板 http://localhost:8765

  2. 更新您的MCP设置 在 ~/.claude/mcp_config.json:

{
  "mcpServers": {
    "perplexity-free": {
      "command": "node",
      "args": [
        "/path/to/perplexity-api-simple/mcp-server/build/index.js"
      ],
      "env": {
        "PERPLEXITY_API_KEY": "pplx_your-generated-key-here",
        "PERPLEXITY_API_BASE_URL": "http://localhost:8765"
      }
    }
  }
}
  1. 重新启动Claude代码

  2. 测试连接:

    • 问Claude:“使用困惑来搜索最新的Python最佳实践”
    • Claude应该自动使用MCP工具

可用模型

  • sonar -默认困惑模型(快速)
  • sonar-pro -Pro型号(更准确)
  • sonar-reasoning -推理模型(深度思维)
  • sonar-deep-research -深度研究模式

API终点

  • GET / -Web仪表板
  • POST /chat/completions -聊天完成端点(返回纯文本)
  • GET /models -列出可用型号
  • GET /health -健康检查
  • POST /api/save-cookie -保存困惑cookie(由扩展程序使用)
  • GET /download/extension -以ZIP格式下载Chrome扩展程序

Chrome扩展程序(推荐)

这 最简单的方法 设置Cookie和MCP配置!

安装

选项1:从仪表板下载(最简单)

  1. 打开 http://localhost:8765 在Chrome浏览器中
  2. 滚动到“Chrome扩展程序”部分
  3. 点击“📦 下载Chrome扩展程序”
  4. 解压缩下载的ZIP文件
  5. 打开Chrome浏览器→ chrome://extensions/
  6. 启用“开发人员模式”(右上角切换)
  7. 点击“加载解包”
  8. 选择提取的 extension/ 文件夹

选项2:使用项目扩展

  1. 打开Chrome浏览器→ chrome://extensions/
  2. 启用“开发人员模式”
  3. 点击“加载解包”
  4. 选择 extension/ 克隆存储库中的文件夹

用法

  1. 登录困惑 在https://www.perplexity.ai
  2. 单击扩展图标 在Chrome浏览器中
  3. 输入您的API密钥 (来自localhost:8765的仪表板)
  4. 点击“🔮 同步困惑Cookie”
  5. 完成! 自动扩展:
    • 从浏览器中提取所有困惑Cookie
    • 将它们安全地发送到您的本地服务器
    • 服务器热重新加载新的Cookie(无需重新启动!)

扩展功能是什么

Chrome扩展程序有权从以下位置访问Cookie perplexity.ai 并使用Chrome Cookies API:

// From extension/scripts/popup.js
const cookies = await chrome.cookies.getAll({
  domain: 'perplexity.ai'
});

const cookieString = cookies
  .map(cookie => `${cookie.name}=${cookie.value}`)
  .join('; ');

// Send to local server
await fetch('http://localhost:8765/api/save-cookie', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${apiKey}`
  },
  body: JSON.stringify({ cookie: cookieString })
});

安全:

  • 仅限扩展访问 localhost:8765 (您的本地服务器)
  • Cookie永远不会离开您的机器
  • 需要您的API密钥进行身份验证
  • 所有通信都是本地的(不发送到互联网)

特性

  • ✅ 一键式cookie同步
  • ✅ 自动检测您登录的时间
  • ✅ 热重载支持(无需重新启动服务器)
  • ✅ 还支持ChatGPT Cookie
  • ✅ MCP配置生成器(即将推出)

手动Cookie设置(无扩展)

要使用您的困惑帐户进行身份验证搜索,请执行以下操作:

获取您的Cookie

  1. 登录困惑 在 https://www.perplexity.ai
  2. 打开DevTools (F12)
  3. 转到应用程序/存储→ Cookie
  4. 复制整个cookie字符串

选项1:通过Web仪表板

  1. 打开 http://localhost:8765
  2. 点击“Cookie设置”
  3. 粘贴您的饼干
  4. 点击“保存”(热重新加载,无需重新启动!)

选项2:通过.env文件

# Edit .env file
PERPLEXITY_COOKIE=your-full-cookie-string-here

然后重新启动服务器。

故障排除

服务器无法启动

# Check if port 8765 is already in use
lsof -i :8765

# Kill existing process
kill -9 $(lsof -t -i :8765)

# Try again
./scripts/start_server.sh

API密钥不工作

  1. 打开 http://localhost:8765
  2. 检查您的钥匙是否在仪表板中处于活动状态
  3. 如果需要,重新生成新密钥

Cookie不起作用

  1. 确保您已登录到Perplexy.ai
  2. 复制整个cookie字符串(而不仅仅是一个字段)
  3. 尝试刷新您的困惑会话
  4. 使用web仪表板更新cookie(热重新加载)

WSL特定问题

如果在WSL中运行并且无法从Windows访问:

# Make sure you're using 0.0.0.0 (not 127.0.0.1)
# Server already binds to 0.0.0.0 by default

# Access from Windows using WSL IP
ip addr show eth0 | grep inet
# Use: http://<wsl-ip>:8765

发展

项目结构

perplexity-api-simple/
├── src/
│   ├── perplexity_api_server.py  # Main Flask API server
│   └── perplexity_fixed.py       # Perplexity client wrapper
├── web/
│   └── index.html                # Web dashboard (API key management)
├── extension/                    # Chrome extension
│   ├── manifest.json             # Extension config (v1.3.0)
│   ├── popup.html                # Extension popup UI
│   ├── instructions.html         # Setup instructions
│   ├── scripts/
│   │   ├── popup.js              # Cookie extraction logic
│   │   └── background.js         # Background service worker
│   └── icons/                    # Extension icons
├── scripts/
│   └── start_server.sh           # Server startup script
├── requirements.txt              # Python dependencies
├── .env                          # Environment variables (gitignored)
├── .api_keys.json                # API keys storage (gitignored)
└── README.md

在发展中奔跑

# With auto-reload
FLASK_DEBUG=1 python src/perplexity_api_server.py

# With custom port
PORT=9000 python src/perplexity_api_server.py

Docker支持

运行此服务器的最简单方法是使用Docker:

# Quick Start
cp .env.example .env        # Configure your Perplexity cookie
docker-compose up -d        # Start the server

访问仪表板 http://localhost:8765

完整的Docker文档

有关Docker的详细说明,包括:

  • AWS EC2部署
  • AWS ECS/Fargate部署
  • 开发模式设置
  • 监控和故障排除
  • 生产最佳实践

看 医生.md 完整的指南。

安全

  • API密钥本地存储在 .api_keys.json
  • Cookie存储在 .env (从未使用过git)
  • 服务器在本地运行,不会将您的密钥暴露给互联网
  • 在生产部署中使用HTTPS

贡献

欢迎投稿!看 贡献.md 作为指导方针。

许可证

麻省理工学院

学分

专为与TaskMaster AI和Claude Code轻松集成而构建。