chatgpt-python
通过 tls_client 模拟浏览器会话,让 Python 项目无需 API Key 即可调用 C
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
通过 tls_client 模拟浏览器会话,让 Python 项目无需 API Key 即可调用 C
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一个场景:深夜 11 点,你正在赶一个 Python 自动化脚本,需要调用 GPT-3 来处理一段文本翻译。OpenAI 官方 SDK 需要你配置 API Key、管理 Rate Limit、还得写一堆异步调用代码——这显然不是"5分钟搞定"能解决的事。
chatgpt-python 解决的就是这个痛点。这个开源库的核心定位是:让你用几行 Python 代码,直接在项目中调用 ChatGPT 网页版的对话能力。作者是来自西班牙的 Rodrigo Martínez Castaño(GitHub @labteral),他最初在 2022 年 11 月底 ChatGPT 发布后不久就开始维护这个项目,至今已积累超过 500 颗星。

图1:chatgpt-python 终端交互演示
这个库不走 OpenAI 官方 API 路线,而是模拟浏览器行为,通过 tls_client 库建立 TLS 连接,复现真实的 ChatGPT Web 会话。其核心技术栈是:
tls_client:模拟浏览器 TLS 指纹,绕过 OpenAI 的反爬机制。tls_client 是一个知名的无头浏览器绕反爬库,能复现 Chrome/Firefox 的 TLS 握手特征。rich:终端富文本渲染,支持 Markdown 代码高亮、彩色输出、实时滚动效果。CLI 模式下可以看到流式输出(逐字符渲染)。HTTPSession / HTTPTLSSession 类封装了所有网络请求,支持 Access Token 缓存、会话持久化。核心类 Conversation 提供了两种认证方式:
from chatgpt import Conversation
conversation = Conversation(
email="your@email.com",
password="your_password"
)
# 同步模式
response = conversation.send_message("Hello, ChatGPT!")
print(response)
# 流式模式(实时输出)
for chunk in conversation.stream("Explain quantum computing in one sentence"):
print(chunk, end='', flush=True)
除了 SDK 核心,这个项目还提供了一整套工具链:
| 模块 | 文件 | 功能 |
|---|---|---|
chatgpt/chatgpt.py | 核心 Conversation 类 | 同步/流式消息收发 |
chatgpt/cli/__main__.py | CLI 交互界面 | 终端直接对话,带流式渲染 |
chatgpt/authentication.py | 认证逻辑 | 邮箱密码登录、Token 管理 |
chatgpt/sessions.py | HTTP 会话封装 | TLS Session + Cookie 管理 |
interceptor.js | JS 拦截器 | Playwright 风格的请求拦截 |
playground/ | 交互式调试环境 | 开发者测试用 |
CLI 模式下,用户可以在终端输入消息,支持 exit、reset(重置会话)、clear(清屏)三个内置命令。rich 库的 Live 组件实现了实时 Markdown 渲染,打印效果相当优雅——代码块有语法高亮、响应内容分色显示。
优点:
pip install chatgpt 或运行 install.sh 脚本,5分钟搞定tls_client + rich,没有 PyTorch/TensorFlow 这类重型框架缺点:
FROM FROM python:3,第一条 RUN 指令就是错的,容器化部署会直接失败。这说明作者对容器化并不上心。tls_client 是个"灰色地带"的库,专门用于模拟浏览器指纹。OpenAI 随时可能升级反爬机制导致库失效。从源码结构来看,这是一个轻量级但模块清晰的 Python 项目:
from typing import List),但不够完整ChatgptError 和错误码枚举,错误信息友好整体代码质量评分:68/100。作为个人维护的开源工具,代码可读性不错,但缺乏单元测试(项目中无 tests/ 目录)。
ChatGPT 发布初期(2022年底),OpenAI 官方 API 尚未完善,很多人需要直接调用网页版能力。chatgpt-python 是最早一批解决方案之一,填补了"非官方 Python SDK"的需求空白。
但随着 OpenAI 在 2023 年开放官方 API、Azure OpenAI Service 普及,以及后来 Bing Chat API 的推出,这类"模拟浏览器"方案逐渐边缘化。该项目的最后更新(从 stars 增长趋势判断)也已放缓。
核心价值:如果你需要快速在脚本/小工具中调用 GPT-3(免费版),且不想折腾 API Key,这个库仍然是 Python 生态里最简方案之一。
| 维度 | 评分 |
|---|---|
| 易用性 | ⭐⭐⭐⭐⭐ |
| 功能完整性 | ⭐⭐⭐ |
| 代码质量 | ⭐⭐⭐ |
| 维护活跃度 | ⭐⭐ |
| 容器化支持 | ⭐ |
一句话评价:chatgpt-python 是 ChatGPT 早期生态的经典作品,适合快速脚本集成,但不适合生产级应用。随着 OpenAI 官方 API 能力增强,此类方案的战略价值已显著下降。