File size: 6,868 Bytes
7e55e53
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
# Grok2API Hugging Face Spaces 部署包

完整的 Hugging Face Spaces 部署配置文件,支持持久化存储和自动保活。

## 📦 包含内容

### 核心配置文件
-`Dockerfile` - Docker 构建配置(Python 3.11)
-`pyproject.toml` - 项目依赖定义
-`requirements.txt` - Python 依赖列表
-`config.defaults.toml` - 默认配置模板
-`.env.example` - 环境变量示例
-`.dockerignore` - Docker 构建排除文件
-`.gitignore` - Git 版本控制排除文件

### 启动脚本
-`scripts/entrypoint.sh` - Docker 入口脚本
-`scripts/init_storage.sh` - 存储初始化脚本
-`app_hf.py` - Hugging Face 备用启动脚本

### 文档
-`README.md` - Spaces 项目说明(显示在 Space 页面)
-`DEPLOY_GUIDE.md` - 详细部署指南
-`QUICKSTART.md` - 快速开始指南
-`PROJECT_INFO.md` - 本文件

### 保活项目(keepalive/)
-`keepalive/.github/workflows/keep-alive.yml` - GitHub Actions 配置
-`keepalive/keepalive.py` - 保活 Python 脚本
-`keepalive/spaces.txt` - Space URL 配置
-`keepalive/README.md` - 保活项目说明

## 🚀 快速部署流程

### 第一步:获取源代码

```bash
# 1. 克隆原项目获取 app 目录
git clone https://github.com/chenyme/grok2api.git temp_grok2api

# 2. 复制 app 目录到当前文件夹
cp -r temp_grok2api/app ./

# 3. 清理临时文件
rm -rf temp_grok2api
```

### 第二步:创建 Hugging Face Space

1. 访问:https://huggingface.co/new-space
2. 配置:
   - **SDK**: Docker ⚠️ 重要!
   - **Hardware**: CPU basic(免费)
   - **Visibility**: Public 或 Private

### 第三步:上传代码

```bash
# 初始化 git(如果需要)
git init
git add .
git commit -m "Initial deployment"

# 添加 HF 远程仓库并推送
git remote add hf https://huggingface.co/spaces/YOUR_USERNAME/YOUR_SPACE
git push hf main
```

### 第四步:配置环境变量

在 Space Settings → Variables 中添加:

**必需:**
```bash
APP_KEY=your_password
API_KEY=sk-your-api-key
APP_URL=https://YOUR_USERNAME-YOUR_SPACE.hf.space
DATA_DIR=/data
ACCOUNT_STORAGE=local
```

### 第五步:启用 Persistent Storage

⚠️ **非常重要!** 在 Space Settings 中启用

### 第六步:配置保活

1.`keepalive/` 目录内容复制到新的 GitHub 仓库
2. 配置 GitHub Variables: `HF_SPACES=https://YOUR_SPACE.hf.space`
3. 启用 GitHub Actions

## 📁 目录结构

```
grok2api/
├── app/                          # ⚠️ 需要从原项目获取
│   ├── main.py
│   ├── control/
│   ├── dataplane/
│   ├── platform/
│   ├── products/
│   └── statics/
├── scripts/
│   ├── entrypoint.sh
│   └── init_storage.sh
├── keepalive/                    # 保活项目配置
│   ├── .github/
│   │   └── workflows/
│   │       └── keep-alive.yml
│   ├── keepalive.py
│   ├── spaces.txt
│   └── README.md
├── Dockerfile                    # Docker 构建文件
├── pyproject.toml                # 项目配置
├── requirements.txt              # 依赖列表
├── config.defaults.toml          # 默认配置
├── .env.example                  # 环境变量示例
├── .dockerignore                 # Docker 排除文件
├── .gitignore                    # Git 排除文件
├── app_hf.py                     # HF 启动脚本
├── README.md                     # Space 页面说明
├── DEPLOY_GUIDE.md               # 部署指南
├── QUICKSTART.md                 # 快速开始
└── PROJECT_INFO.md               # 本文件
```

## ⚙️ 关键配置说明

### Dockerfile
- 基础镜像:`python:3.11-slim-bookworm`
- 使用 `uv` 加速依赖安装
- 支持 Persistent Storage (`/data`)
- 健康检查:`/health` 端点

### 环境变量优先级
1. Spaces Variables(最高优先级)
2. `.env` 文件
3. `config.defaults.toml`(默认值)

### 数据持久化路径
- 账号数据库:`/data/accounts.db`
- 运行配置:`/data/config.toml`
- 图片缓存:`/data/images/`
- 视频缓存:`/data/videos/`
- 日志文件:`/data/logs/`

## 🔍 功能特性

### API 兼容性
- ✅ OpenAI Chat Completions
- ✅ OpenAI Images (generations/edits)
- ✅ OpenAI Videos
- ✅ Anthropic Messages
- ✅ 流式和非流式输出

### 管理功能
- ✅ Web 管理后台
- ✅ 账号池管理
- ✅ 配置热更新
- ✅ 缓存管理
- ✅ 实时监控

### 保活机制
- ✅ GitHub Actions 定时任务
- ✅ 可配置访问频率
- ✅ 支持多个 Space
- ✅ 失败重试

## ⚠️ 重要提示

### 关于源代码
当前配置包**不包含** `app/` 目录(源代码),需要从原项目获取:
```bash
git clone https://github.com/chenyme/grok2api.git
cp -r grok2api/app ./
```

### 关于 Python 版本
- 原项目要求:Python ≥ 3.13
- 本配置调整为:Python 3.11(HF Spaces 兼容)
- 已测试兼容性,如遇问题请反馈

### 关于 Persistent Storage
- **必须启用**,否则每次重启都会丢失数据
- 免费额度有容量限制
- 定期清理缓存(图片/视频)

### 关于保活频率
- **推荐**:每 12 小时(`0 */12 * * *`- **最低**:每 6 小时
- **避免**:过于频繁(<30分钟)

## 📚 文档索引

1. **快速开始** → [QUICKSTART.md](./QUICKSTART.md)
2. **详细部署** → [DEPLOY_GUIDE.md](./DEPLOY_GUIDE.md)
3. **Space 说明** → [README.md](./README.md)
4. **保活配置** → [keepalive/README.md](./keepalive/README.md)
5. **环境变量** → [.env.example](./.env.example)
6. **默认配置** → [config.defaults.toml](./config.defaults.toml)

## 🔗 相关链接

- **原项目**: https://github.com/chenyme/grok2api
- **保活项目**: https://github.com/wankuzidi/hf-keepalive
- **HF Spaces 文档**: https://huggingface.co/docs/hub/spaces
- **Persistent Storage**: https://huggingface.co/docs/hub/spaces-storage

## 🐛 常见问题

### Q: Space 无法启动?
A: 检查 Logs 标签,确认环境变量配置正确,确保已启用 Persistent Storage

### Q: 如何获取 X Token?
A: 登录 X (Twitter),F12 打开开发者工具,查看请求头中的 Cookie

### Q: 图片/视频链接 403?
A: 必须正确设置 `APP_URL` 环境变量

### Q: 数据经常丢失?
A: 启用 Persistent Storage + 配置保活项目

### Q: 保活项目不工作?
A: 检查 GitHub Actions 是否启用,查看运行日志

## 📝 版本信息

- **配置包版本**: 1.0.0
- **grok2api 版本**: 2.0.4
- **Python 版本**: 3.11
- **创建日期**: 2026-06-07

## 📄 许可证

本配置包基于 MIT License,与原项目保持一致。

---

**免责声明**: 本项目仅供学习交流使用,请遵守相关服务的使用条款。