Skip to content

kkk221221/DeepSeek-Web2API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DeepSeek-Web2API (GhostSeek)

Python 3.8+ Playwright FastAPI License

DeepSeek-Web2API 是一个基于 PlaywrightFastAPI 的非官方工具,它通过模拟用户在浏览器中的操作,将 DeepSeek 网页版 (chat.deepseek.com) 封装为标准的 HTTP API 接口。

核心特性:

  • 无需申请官方 API Key,直接使用网页版账号(支持免费额度)。
  • 可见即所得:只要网页能看到的对话内容,API 均可导出。
  • 支持 新建对话继续历史对话
  • 支持 持久化登录,无需每次重启服务都扫码。
  • 提供无头模式(Headless),适合部署在服务器后台运行。

⚠️ 免责声明 (Disclaimer)

使用本项目前请务必阅读:

  1. 本项目仅供 Python 技术研究与学习(Web 自动化测试方向) 使用。
  2. 严禁用于任何商业用途、大规模并发请求或恶意攻击 DeepSeek 服务器。
  3. 本项目与 DeepSeek (深度求索) 官方无任何关联。
  4. 使用本工具可能违反 DeepSeek 的服务条款,导致您的 IP 被限制账号被封禁
  5. 作者不对因使用本工具而产生的任何损失负责。

📦 安装指南

1. 克隆或下载代码

将代码保存为 deepseek.py (或其他你喜欢的名字)。

2. 安装依赖

确保你的环境中安装了 Python 3.8+,然后安装所需的 Python 库:

pip install playwright fastapi uvicorn pydantic

3. 安装浏览器内核

Playwright 需要下载对应的 Chromium 内核:

playwright install chromium

🚀 快速开始

第一步:初始化登录 (一次性)

首次使用需要手动登录以保存会话信息 (Cookie/Token)。运行以下命令,会弹出一个浏览器窗口:

python deepseek.py --login

操作说明:

  1. 在弹出的浏览器中,输入手机号/验证码完成登录。
  2. 确认能够看到聊天主界面。
  3. 回到终端按 Enter (回车) 键结束。
  4. 登录凭据会自动保存到 ./user_data 目录。

第二步:启动 API 服务

登录成功后,启动无头 API 服务器:

python deepseek.py --serve --host 127.0.0.1 --port 8080

服务启动后,默认监听 http://127.0.0.1:8080


📖 API 文档

1. 发送消息 (新建或对话)

POST /send

核心接口。用于发送 Prompt 并获取 AI 回复。

Request Body (JSON):

字段 类型 必填 说明
prompt string 你要发送的问题内容
new_chat boolean 是否开启新对话 (默认 false)
conversation_url string 历史对话的 URL (如 /chat/abc...),用于继续聊天
wait_timeout_sec int 等待 AI 回复的最大超时秒数 (默认 120)

示例 1:开启新对话

{
  "prompt": "帮我写一个 Python Hello World",
  "new_chat": true
}

示例 2:继续特定对话

{
  "prompt": "详细解释一下上面的代码",
  "conversation_url": "/chat/8a7b... (你的对话ID)"
}

Response: 返回包含完整对话记录的 JSON 对象。


2. 获取历史对话列表

GET /conversations

获取侧边栏的历史对话列表。

Parameters:

  • limit: (可选) 返回数量,默认 20。

Example: GET http://127.0.0.1:8080/conversations?limit=10


3. 导出对话详情

GET /conversation

获取指定对话页面的所有历史消息。

Parameters:

  • url: (必填) 对话的相对路径,例如 /chat/xxxxx

Example: GET http://127.0.0.1:8080/conversation?url=/chat/your-chat-id


⚙️ 配置项

你可以通过修改代码顶部的变量或设置环境变量来调整配置:

环境变量 默认值 说明
DEEPSEEK_BASE_URL https://chat.deepseek.com/ 目标网址
DEEPSEEK_USER_DATA ./user_data Chrome 用户数据存储路径 (Cookies)

代码内的可调参数:

  • HEADLESS_DEFAULT: 是否默认无头模式 (默认 True)
  • REQUEST_TIMEOUT: 页面加载超时时间 (ms)
  • MAX_MESSAGE_LEN: 抓取消息的最大长度

❓ 常见问题 (FAQ)

Q: 报错 Playwright 未启动RuntimeError A: 请确保你先运行了 --login 成功生成了 user_data 文件夹。

Q: 为什么响应速度比官方 API 慢? A: 因为这是通过模拟浏览器操作,需要等待网页加载、渲染以及模拟打字效果,速度受限于你的网络和 DeepSeek 网页前端的响应速度。

Q: 遇到验证码 (Cloudflare) 怎么办? A: 如果频繁出现验证码,说明请求频率过高。建议:

  1. 降低请求频率。
  2. 重新运行 --login 手动过一次验证码。
  3. 检查你的 IP 是否被风控。

📄 License

本项目基于 MIT License 开源。这意味着你可以自由地使用、修改和分发代码,但作者不承担任何责任。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages