# inception-2api
**Repository Path**: Chinese-tingfeng/inception-2api
## Basic Information
- **Project Name**: inception-2api
- **Description**: 无头浏览器技术、无需 Cookie、自动绕过 Cloudflare (CF) 人机验证、匿名与反检测、原生流式 API 转换、Docker 一键部署
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-11-10
- **Last Updated**: 2025-11-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 🔮 inception-2api (v2.0.0)
**将 `chat.inceptionlabs.ai` 网页服务转换为兼容 OpenAI 格式 API 的高性能代理**
[](https://opensource.org/licenses/Apache-2.0)
[](https://github.com/lzA6/inception-2api)
[](https://hub.docker.com/)
[](https://www.python.org/)
---
> "我们并非在创造全新的大陆,而是在已有的群岛之间架起桥梁。每一行代码,都是通往更广阔世界的一步。"
欢迎来到 `inception-2api` 的世界!这个项目的核心使命很简单,却意义非凡:**解放 Inception Labs 强大的 `mercury` 模型,让它能被任何兼容 OpenAI API 的工具、应用和脚本轻松调用。**
我们相信,技术的价值在于连接与分享。如果你也曾因一个优秀的 AI 服务没有提供 API 而感到惋惜,那么这个项目就是为你而生。它不仅是一个工具,更是一种宣言:**只要有社区和创造力,就没有无法连接的孤岛。**
## ✨ 核心特性
- **🤖 OpenAI 兼容性**: 完美模拟 `/v1/chat/completions` 和 `/v1/models` 接口,无缝对接到所有支持 OpenAI 的生态系统
- **🛡️ Cloudflare 穿透**: 内置 `cloudscraper` 模块,优雅绕过 Cloudflare 的机器人验证,确保服务稳定
- **⚡ 高性能架构**: 基于 `FastAPI` + `Uvicorn` 构建,天生支持高并发异步处理
- **🔐 企业级安全**: 支持 `API_MASTER_KEY` 访问控制,保护你的 API 不被滥用
- **📦 一键化部署**: 提供极简的 `docker-compose.yml` 配置,一条命令即可启动服务
- **🌊 流式响应**: 完全支持流式输出,带来与原生网页版一致的实时打字机体验
## 🎯 项目价值
### ✅ 优势亮点
| 维度 | 价值体现 |
| :--- | :--- |
| **功能性** | 将封闭的网页应用转变为开放的、可编程的 API 服务,极大扩展应用场景 |
| **便利性** | 使用熟悉的 OpenAI SDK 直接调用,无需适配私有接口 |
| **成本效益** | 免费使用 Inception Labs 的强大模型,仅需一个账号 |
| **学习价值** | 绝佳的逆向工程、API 封装和网络编程实战案例 |
### ⚠️ 注意事项
| 维度 | 潜在挑战 |
| :--- | :--- |
| **稳定性** | 依赖 Inception 网站接口,对方更新时可能需要适配 |
| **易用性** | 需要手动获取 Cookie 凭证,对非技术用户有一定门槛 |
| **服务等级** | 非官方 SLA 服务,稳定性取决于网络环境和上游服务 |
| **健壮性** | 错误处理仍在完善中,生产环境使用需谨慎 |
## 🏗️ 架构概览
### 项目结构
```mermaid
graph TB
A[inception-2api/] --> B[.env]
A --> C[.env.example]
A --> D[Dockerfile]
A --> E[docker-compose.yml]
A --> F[main.py]
A --> G[nginx.conf]
A --> H[app/]
H --> I[core/]
I --> J[config.py]
H --> K[providers/]
K --> L[base_provider.py]
K --> M[inception_provider.py]
H --> N[utils/]
N --> O[sse_utils.py]
style M fill:#e1f5fe
style J fill:#f3e5f5
style O fill:#e8f5e8
```
### 核心组件说明
- **`inception_provider.py`** - API 核心实现,处理请求转换和流式响应
- **`config.py`** - 配置管理,使用 Pydantic 进行数据验证
- **`sse_utils.py`** - SSE(服务器发送事件)格式化工具
- **`docker-compose.yml`** - 容器编排配置,简化部署流程
## 🔧 技术原理
### 工作流程
```mermaid
sequenceDiagram
participant C as Client
participant P as inception-2api
participant I as Inception Website
participant CF as Cloudflare
C->>P: 发送 OpenAI 格式请求
P->>P: 解析和验证请求
P->>I: 创建新会话 (获取 chat_id)
CF->>P: Cloudflare 挑战
P->>CF: cloudscraper 自动处理
P->>I: 发送转换后的请求
I->>P: 流式返回响应
P->>P: 实时格式转换
P->>C: 返回 OpenAI 兼容格式
```
### 技术栈深度解析
| 技术组件 | 角色定位 | 关键性 | 学习曲线 |
| :--- | :--- | :--- | :--- |
| **FastAPI** | 现代化异步 Web 框架 | ⭐⭐⭐⭐⭐ | ⭐⭐☆☆☆ |
| **Cloudscraper** | Cloudflare 挑战绕过 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐☆☆ |
| **Docker** | 应用容器化与部署 | ⭐⭐⭐⭐⭐ | ⭐⭐☆☆☆ |
| **Pydantic** | 数据验证与配置管理 | ⭐⭐⭐⭐☆ | ⭐☆☆☆☆ |
| **Nginx** | 反向代理与负载均衡 | ⭐⭐⭐☆☆ | ⭐⭐⭐☆☆ |
## 🚀 快速开始
### 步骤 1:获取 Cookie 凭证
1. 访问 [chat.inceptionlabs.ai](https://chat.inceptionlabs.ai/) 并登录
2. 按 `F12` 打开开发者工具
3. 切换到 **Network** 标签页
4. 发送任意消息,找到 `completions` 请求
5. 复制 **Request Headers** 中的完整 `cookie` 值
### 步骤 2:配置环境变量
复制并修改 `.env.example` 为 `.env`:
```env
# inception-2api 生产环境配置
# 安全配置
API_MASTER_KEY=sk-your-secret-key-12345
# 端口配置
NGINX_PORT=8087
# Inception Labs 凭证
INCEPTION_COOKIE="cf_clearance=...; _ga=...; AWSALB=...; (你的完整 Cookie 字符串)"
```
### 步骤 3:一键部署
```bash
# 克隆项目并启动服务
git clone https://github.com/lzA6/inception-2api.git
cd inception-2api
docker-compose up -d
```
服务将在 `http://localhost:8087` 启动!
### 验证部署
```bash
# 检查服务状态
curl http://localhost:8087/v1/models
```
## 💻 使用示例
### Python 客户端
```python
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8087",
api_key="sk-your-secret-key-12345"
)
response = client.chat.completions.create(
model="mercury",
messages=[
{"role": "user", "content": "你好,请介绍一下你自己"}
],
stream=True
)
for chunk in response:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
```
### cURL 示例
```bash
curl http://localhost:8087/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-your-secret-key-12345" \
-d '{
"model": "mercury",
"messages": [
{"role": "user", "content": "Hello, how are you?"}
],
"stream": true
}'
```
## 🔍 核心实现解析
### `inception_provider.py` - 心脏组件
```python
class InceptionProvider:
def __init__(self):
# 初始化 cloudscraper 会话
self.scraper = cloudscraper.create_scraper()
async def _get_new_chat_id(self) -> str:
"""获取新的会话 ID - 对话的'入场券'"""
response = self.scraper.post(f"{self.base_url}/chats/new")
return response.json()["id"]
async def chat_completion(self, request: ChatCompletionRequest):
"""核心翻译函数:OpenAI → Inception → OpenAI"""
# 1. 获取会话 ID
chat_id = await self._get_new_chat_id()
# 2. 准备请求数据和头部
payload = self._prepare_payload(request, chat_id)
headers = self._prepare_headers()
# 3. 流式响应处理
async def stream_generator():
response = self.scraper.post(
f"{self.base_url}/completions",
json=payload,
headers=headers,
stream=True
)
async for line in response.iter_lines():
if line:
yield self._format_sse_data(line)
return StreamingResponse(stream_generator(), media_type="text/plain")
```
### 关键技术点
1. **Cloudflare 绕过机制**
- 使用 `cloudscraper` 模拟真实浏览器行为
- 自动处理 JavaScript 挑战和 Cookie 验证
- 维持会话状态以提升性能
2. **流式响应处理**
- 使用 Server-Sent Events (SSE) 实现实时传输
- 异步生成器确保高并发性能
- 实时格式转换减少延迟
3. **协议适配层**
- OpenAI 格式到 Inception 格式的智能映射
- 错误处理和重试机制
- 请求验证和数据清理
## 🛠️ 故障排除
### 常见问题
**Q: 服务启动失败**
```bash
# 检查 Docker 服务状态
docker-compose logs app
docker-compose logs nginx
```
**Q: Cookie 失效**
- 重新获取最新 Cookie 并更新 `.env` 文件
- 确保 Cookie 格式正确,包含所有必要的字段
**Q: Cloudflare 挑战失败**
```python
# 在 inception_provider.py 中调整超时设置
self.scraper = cloudscraper.create_scraper(
browser={'custom': 'ScraperBot/1.0'},
delay=10
)
```
**Q: 流式响应中断**
- 检查网络连接稳定性
- 验证客户端是否正确处理 SSE 格式
- 查看服务端日志获取详细错误信息
## 🚀 进阶配置
### 性能调优
```env
# .env 高级配置
UVICORN_WORKERS=4
UVICORN_MAX_REQUESTS=1000
REQUEST_TIMEOUT=30
STREAM_BUFFER_SIZE=1024
```
### 多账号负载均衡
```python
# 扩展支持多账号轮询
class MultiAccountProvider:
def __init__(self, cookies_list):
self.cookies = cookies_list
self.current_index = 0
def get_next_cookie(self):
cookie = self.cookies[self.current_index]
self.current_index = (self.current_index + 1) % len(self.cookies)
return cookie
```
## 📈 项目路线图
### 🎯 近期目标 (v2.1)
- [ ] Cookie 自动刷新机制
- [ ] 增强错误处理和重试逻辑
- [ ] 性能监控和指标收集
- [ ] 多账号负载均衡支持
### 🌟 中期规划 (v3.0)
- [ ] 插件化架构,支持更多 AI 服务
- [ ] Web UI 管理面板
- [ ] 请求缓存和限流机制
- [ ] 完整的测试覆盖
### 🚀 长期愿景
- [ ] 分布式部署支持
- [ ] 智能路由和故障转移
- [ ] 第三方集成生态
- [ ] 企业级特性支持
## 🤝 贡献指南
我们欢迎各种形式的贡献!无论是代码改进、文档完善,还是创意想法,都是宝贵的。
### 如何参与
1. **报告问题**: 在 Issues 中反馈 bug 或建议
2. **提交代码**: Fork 项目并创建 Pull Request
3. **改进文档**: 帮助完善文档和示例
4. **分享用例**: 分享你的使用场景和经验
### 开发环境设置
```bash
# 克隆项目
git clone https://github.com/lzA6/inception-2api.git
cd inception-2api
# 安装依赖
pip install -r requirements.txt
# 设置开发环境
cp .env.example .env
# 编辑 .env 文件配置你的 Cookie
# 启动开发服务器
uvicorn main:app --reload --host 0.0.0.0 --port 8000
```
### 代码规范
- 遵循 PEP 8 Python 代码规范
- 使用类型注解提高代码可读性
- 为新功能添加适当的测试用例
- 更新相关文档反映变更
## 📄 开源协议
本项目采用 **Apache License 2.0** 开源协议。
这意味着你可以:
- ✅ 自由使用、修改和分发代码
- ✅ 用于个人或商业项目
- ✅ 专利授权
- 📝 需要保留版权声明和许可声明
- 📝 对修改部分需要明确说明
详见 [LICENSE](LICENSE) 文件。
---
**Made with ❤️ and a belief in the power of connection.**
[项目主页](https://github.com/lzA6/inception-2api) · [问题反馈](https://github.com/lzA6/inception-2api/issues) · [使用讨论](https://github.com/lzA6/inception-2api/discussions)
## 🙏 致谢
感谢所有为这个项目做出贡献的开发者,特别是:
- **Inception Labs** - 提供强大的 mercury 模型
- **FastAPI 社区** - 优秀的异步 Web 框架
- **Cloudscraper 维护者** - Cloudflare 绕过的关键技术
- **所有用户和贡献者** - 你们的反馈和使用让项目不断进步
---
*如果这个项目对你有帮助,请给我们一个 ⭐ 支持我们的工作!*