realasfngl/Grok-Api
GitHub: realasfngl/Grok-Api
一个免费的 Grok API 包装器,解决无账号或密钥下调用 Grok 的需求。
Stars: 213 | Forks: 57
# Grok-Api
一个免费的 Grok API 包装器,允许你在无需 API 访问或账户认证的情况下使用 Grok。
## 概述
该项目提供了一个基于 Python 的 Grok AI API 包装器,使你无需官方 API 访问或账户凭证即可与 Grok 的对话式 AI 进行交互。它同时包含一个直接的 Python 接口和一个 FastAPI 服务器,便于集成到你的应用程序中。
## 功能
- 🔓 **无需认证** - 无需账户即可访问 Grok
- 🆓 **完全免费** - 无需 API 密钥或付费订阅
- 🚀 **FastAPI 服务器** - 开箱即用的 REST API 端点
- 🌐 **代理支持** - 完整支持 HTTP 代理
- 📡 **流式响应** - 支持接收完整响应或逐 Token 流
- ⚡ **高性能** - 多工作进程支持并发请求
## 安装
```
git clone https://github.com/realasfngl/Grok-Api.git
cd Grok-Api
pip install -r requirements.txt
```
### 要求
- Python 3.10+
- curl_cffi
- fastapi
- uvicorn
- coincurve
- beautifulsoup4
- pydantic
- colorama
## 用法
### 模型:
| 模型 | 模式 | 描述 |
|-------|------|-------------|
| `grok-3-auto` | auto | 自动模式 |
| `grok-3-fast` | fast | 快速处理模式 |
| `grok-4` | expert | 专家模式 |
| `grok-4-mini-thinking-tahoe` | grok-4-mini-thinking | 小型思考模式 |
### 手动使用(Python)
**新建对话:**
```
from core import Grok
response = Grok("grok-3-fast").start_convo("Hello, how are you today?")
print(response)
proxy = "http://username:password@ip:port"
response = Grok("grok-3-fast", proxy).start_convo("Tell me a joke")
print(response)
```
**继续对话:**
```
from core import Grok
response = Grok().start_convo("Hello, how are you today?")
print(response)
response2 = Grok().start_convo("That's nice! Glad to hear!", extra_data=response["extra_data"])
print(response2)
```
**示例输出:**
```
{
"response": "Yo, I'm just chilling in the digital realm...",
"stream_response": ["Yo", ",", " I'm", " just", " chilling", "..."],
"images": None,
"extra_data": {"..."}
}
```
### API 服务器
#### 启动服务器
**简单启动:**
```
python api_server.py
```
**带自定义配置的生产环境启动:**
```
uvicorn api_server:app --host 0.0.0.0 --port 6969 --workers 50
```
#### 发起 API 请求
**新建对话:**
```
import requests
response = requests.post(
"http://localhost:6969/ask",
json={
"proxy": "http://user:pass@ip:port",
"message": "Hello, Grok!",
"model": "grok-3-fast",
"extra_data": None
}
)
print(response.json())
```
**继续对话:**
```
import requests
response1 = requests.post(
"http://localhost:6969/ask",
json={
"proxy": "http://user:pass@ip:port",
"message": "Hello!",
"model": "grok-3-fast",
"extra_data": None
}
)
data1 = response1.json()
print(data1)
response2 = requests.post(
"http://localhost:6969/ask",
json={
"proxy": "http://user:pass@ip:port",
"message": "Tell me more",
"model": "grok-3-fast",
"extra_data": data1["extra_data"]
}
)
print(response2.json())
```
### API 响应格式
```
{
"status": "success",
"response": "Complete response message from Grok",
"stream_response": ["Token", "by", "token", "response", "array"],
"images": null,
"extra_data": {"..."}
}
```
## 配置
### 代理格式
包装器接受以下格式的代理:
- `http://ip:port`
- `http://username:password@ip:port`
- `ip:port`(自动添加 `http://` 前缀)
### API 服务器设置
修改 `api_server.py` 以更改:
- **主机**:默认 `0.0.0.0`(所有接口)
- **端口**:默认 `6969`
- **工作进程数**:默认 `50`(根据服务器容量调整)
## 故障排除
**常见问题:**
1. **IP 标记** - `{"error":{"code":7,"message":"Request rejected by anti-bot rules.","details":[]}}` - 这表示你的 IP 或代理已被标记。请尝试使用不同的代理或 IP 地址。
## 支持
如果你觉得这个项目有帮助,请考虑给仓库加星!
**注意:** 如果 Grok 更新了其网页界面,此项目可能会中断。如果包装器停止工作,请报告问题。
**联系:** 本项目仅用于教育目的。如果 Grok 对本项目有异议,请通过电子邮件联系我:nuhuh3116@gmail.com。
标签:AI交互, beautifulsoup4, coincurve, colorama, curl_cffi, FastAPI服务器, Grok API, HTTP代理, pydantic, Python 3.10, Python接口, REST API, Token流, uvicorn, 代理支持, 会话保持, 免费API包装器, 告警, 多工作进程, 大模型访问, 实时流, 开源, 无认证访问, 无需API密钥, 流式响应, 逆向工具