update sth at 2025-10-16 15:01:30
Browse files- xREADME.md +347 -0
xREADME.md
ADDED
|
@@ -0,0 +1,347 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# OpenAI 代理服务
|
| 2 |
+
|
| 3 |
+

|
| 4 |
+

|
| 5 |
+

|
| 6 |
+
|
| 7 |
+
基于 FastAPI 的高性能 OpenAI API 兼容代理服务,采用多提供商架构设计,支持 Z.AI(GLM-4.5/4.6 系列)、K2Think、LongCat 等多种 AI 模型。
|
| 8 |
+
|
| 9 |
+
## ✨ 核心特性
|
| 10 |
+
|
| 11 |
+
- 🔌 **OpenAI API 兼容** - 无缝对接现有 OpenAI 客户端
|
| 12 |
+
- 🏗️ **多提供商架构** - 统一接口支持 Z.AI、K2Think、LongCat
|
| 13 |
+
- 🧬 **数据库管理** - SQLite + Web 后台统一管理 Token
|
| 14 |
+
- 🚀 **流式响应** - 高性能 SSE 实时流式输出
|
| 15 |
+
- 🧠 **思考模式** - 支持 Thinking 模型的推理过程展示
|
| 16 |
+
- 🐳 **容器化部署** - Docker/Docker Compose 一键部署
|
| 17 |
+
- 🔄 **Token 池** - 智能轮询、容错恢复、健康检查
|
| 18 |
+
- 📊 **管理后台** - 实时监控、配置管理
|
| 19 |
+
- 🔐 **安全认证** - 密码保护的管理后台访问
|
| 20 |
+
|
| 21 |
+
❤️ 感谢各位的反馈推动项目改进!
|
| 22 |
+
|
| 23 |
+
## 🚀 快速开始
|
| 24 |
+
|
| 25 |
+
### 环境要求
|
| 26 |
+
|
| 27 |
+
- Python 3.9-3.12
|
| 28 |
+
- pip 或 uv (推荐)
|
| 29 |
+
|
| 30 |
+
### 本地运行
|
| 31 |
+
|
| 32 |
+
```bash
|
| 33 |
+
# 1. 克隆项目
|
| 34 |
+
git clone https://github.com/ZyphrZero/z.ai2api_python.git
|
| 35 |
+
cd z.ai2api_python
|
| 36 |
+
|
| 37 |
+
# 2. 安装依赖(使用 uv 推荐)
|
| 38 |
+
curl -LsSf https://astral.sh/uv/install.sh | sh
|
| 39 |
+
uv sync
|
| 40 |
+
|
| 41 |
+
# 或使用 pip
|
| 42 |
+
pip install -r requirements.txt
|
| 43 |
+
|
| 44 |
+
# 3. 配置环境变量
|
| 45 |
+
cp .env.example .env
|
| 46 |
+
# 编辑 .env 文件,设置 AUTH_TOKEN 等配置
|
| 47 |
+
|
| 48 |
+
# 4. 启动服务
|
| 49 |
+
uv run python main.py # 或 python main.py
|
| 50 |
+
```
|
| 51 |
+
|
| 52 |
+
**首次运行会自动初始化数据库**,访问以下地址:
|
| 53 |
+
- API 文档:http://localhost:8080/docs
|
| 54 |
+
- 管理后台:http://localhost:8080/admin(**需要登录**)
|
| 55 |
+
- Token 管理:http://localhost:8080/admin/tokens
|
| 56 |
+
|
| 57 |
+
> ⚠️ **重要**:
|
| 58 |
+
> - 请妥善保管 `AUTH_TOKEN`,不要泄露给他人
|
| 59 |
+
> - 管理后台默认密码为 `admin123`,**首次使用后请立即修改**
|
| 60 |
+
|
| 61 |
+
### Docker 部署
|
| 62 |
+
|
| 63 |
+
从 Docker Hub 拉取镜像:
|
| 64 |
+
|
| 65 |
+
```bash
|
| 66 |
+
# 拉取最新镜像
|
| 67 |
+
docker pull zyphrzero/z-ai2api-python:latest
|
| 68 |
+
|
| 69 |
+
# 快速启动(创建数据目录)
|
| 70 |
+
mkdir -p data logs
|
| 71 |
+
|
| 72 |
+
# 运行容器
|
| 73 |
+
docker run -d \
|
| 74 |
+
--name z-ai-api-server \
|
| 75 |
+
-p 8080:8080 \
|
| 76 |
+
-e ADMIN_PASSWORD=admin123 \
|
| 77 |
+
-e AUTH_TOKEN=sk-your-api-key \
|
| 78 |
+
-e ANONYMOUS_MODE=true \
|
| 79 |
+
-e DB_PATH=/app/data/tokens.db \
|
| 80 |
+
-v $(pwd)/data:/app/data \
|
| 81 |
+
-v $(pwd)/logs:/app/logs \
|
| 82 |
+
--restart unless-stopped \
|
| 83 |
+
zyphrzero/z-ai2api-python:latest
|
| 84 |
+
```
|
| 85 |
+
|
| 86 |
+
启动服务:
|
| 87 |
+
|
| 88 |
+
```bash
|
| 89 |
+
docker compose up -d
|
| 90 |
+
```
|
| 91 |
+
|
| 92 |
+
#### 方式二:本地构建
|
| 93 |
+
|
| 94 |
+
```bash
|
| 95 |
+
# 进入部署目录
|
| 96 |
+
cd deploy
|
| 97 |
+
|
| 98 |
+
# 启动服务(会自动构建镜像)
|
| 99 |
+
docker compose up -d
|
| 100 |
+
|
| 101 |
+
# 查看日志
|
| 102 |
+
docker compose logs -f api-server
|
| 103 |
+
```
|
| 104 |
+
|
| 105 |
+
#### 数据持久化
|
| 106 |
+
|
| 107 |
+
容器使用卷映射自动持久化数据:
|
| 108 |
+
|
| 109 |
+
```
|
| 110 |
+
data/ # 数据库文件存储目录
|
| 111 |
+
├── tokens.db # SQLite 数据库(自动创建)
|
| 112 |
+
logs/ # 日志文件存储目录
|
| 113 |
+
```
|
| 114 |
+
|
| 115 |
+
数据在容器重启或重建后仍然保留,无需担心丢失。
|
| 116 |
+
|
| 117 |
+
> 📖 **详细文档**:[Docker 部署指南](deploy/README_DOCKER.md)
|
| 118 |
+
|
| 119 |
+
## 📖 支持的模型
|
| 120 |
+
|
| 121 |
+
### Z.AI 提供商(GLM 系列)
|
| 122 |
+
|
| 123 |
+
| 模型 | 上游 ID | 特性 |
|
| 124 |
+
|------|---------|------|
|
| 125 |
+
| `GLM-4.5` | 0727-360B-API | 标准模型,通用对话 |
|
| 126 |
+
| `GLM-4.5-Thinking` | 0727-360B-API | 思考模型,显示推理过程 |
|
| 127 |
+
| `GLM-4.5-Search` | 0727-360B-API | 搜索模型,实时联网 |
|
| 128 |
+
| `GLM-4.5-Air` | 0727-106B-API | 轻量模型,快速响应 |
|
| 129 |
+
| `GLM-4.5V` | glm-4.5v | 多模态模型,支持图像理解 |
|
| 130 |
+
| `GLM-4.6` | GLM-4-6-API-V1 | 新版标准模型,200K 上下文 |
|
| 131 |
+
| `GLM-4.6-Thinking` | GLM-4-6-API-V1 | 新版思考模型,增强推理 |
|
| 132 |
+
| `GLM-4.6-Search` | GLM-4-6-API-V1 | 新版搜索模型,改进联网能力 |
|
| 133 |
+
| `GLM-4.6-advanced-search` | GLM-4-6-API-V1 | 高级搜索模型,深度研究 |
|
| 134 |
+
|
| 135 |
+
### K2Think 提供商
|
| 136 |
+
|
| 137 |
+
| 模型 | 特性 |
|
| 138 |
+
|------|------|
|
| 139 |
+
| `MBZUAI-IFM/K2-Think` | 高质量推理模型 |
|
| 140 |
+
|
| 141 |
+
### LongCat 提供商
|
| 142 |
+
|
| 143 |
+
| 模型 | 特性 |
|
| 144 |
+
|------|------|
|
| 145 |
+
| `LongCat-Flash` | 快速响应 |
|
| 146 |
+
| `LongCat` | 标准模型 |
|
| 147 |
+
| `LongCat-Search` | 搜索增强 |
|
| 148 |
+
|
| 149 |
+
## ⚙️ 配置说明
|
| 150 |
+
|
| 151 |
+
### 核心环境变量
|
| 152 |
+
|
| 153 |
+
| 变量名 | 默认值 | 说明 |
|
| 154 |
+
|--------|--------|------|
|
| 155 |
+
| `AUTH_TOKEN` | `sk-your-api-key` | 客户端访问密钥(必填) |
|
| 156 |
+
| `ADMIN_PASSWORD` | `admin123` | 管理后台登录密码(**强烈建议修改**) |
|
| 157 |
+
| `LISTEN_PORT` | `8080` | 服务监听端口 |
|
| 158 |
+
| `DEBUG_LOGGING` | `false` | 调试日志(支持热重载) |
|
| 159 |
+
| `ANONYMOUS_MODE` | `true` | Z.AI 匿名模式 |
|
| 160 |
+
| `TOOL_SUPPORT` | `true` | Function Call 开关 |
|
| 161 |
+
| `SKIP_AUTH_TOKEN` | `false` | 跳过认证(仅开发) |
|
| 162 |
+
| `DB_PATH` | `tokens.db` | 数据库文件路径(Docker: `/app/data/tokens.db`) |
|
| 163 |
+
|
| 164 |
+
### Token 配置
|
| 165 |
+
|
| 166 |
+
| 变量名 | 说明 |
|
| 167 |
+
|--------|------|
|
| 168 |
+
| `LONGCAT_TOKEN` | LongCat 认证 Token(可选) |
|
| 169 |
+
| `TOKEN_FAILURE_THRESHOLD` | Token 失败阈值(默认 3) |
|
| 170 |
+
| `TOKEN_RECOVERY_TIMEOUT` | Token 恢复超时(默认 1800 秒) |
|
| 171 |
+
|
| 172 |
+
> 💡 详细配置请参考 [.env.example](.env.example) 或 [deploy/.env.example](deploy/.env.example)
|
| 173 |
+
|
| 174 |
+
## 🔐 管理后台登录
|
| 175 |
+
|
| 176 |
+
### 首次登录
|
| 177 |
+
|
| 178 |
+
1. 启动服务后访问:http://localhost:8080/admin
|
| 179 |
+
2. 自动跳转到登录页面
|
| 180 |
+
3. 输入管理密码(默认:`admin123`)
|
| 181 |
+
4. 登录成功后进入仪表盘
|
| 182 |
+
|
| 183 |
+
### 修改密码
|
| 184 |
+
|
| 185 |
+
在 `.env` 文件中修改 `ADMIN_PASSWORD`:
|
| 186 |
+
|
| 187 |
+
```bash
|
| 188 |
+
# 使用强密码(推荐 12 位以上)
|
| 189 |
+
ADMIN_PASSWORD=Your_Secure_Password_2025!
|
| 190 |
+
```
|
| 191 |
+
|
| 192 |
+
重启服务后生效。
|
| 193 |
+
|
| 194 |
+
### 安全特性
|
| 195 |
+
|
| 196 |
+
- ✅ **Session 管理**:基于 Cookie 的安全 Session
|
| 197 |
+
- ✅ **自动过期**:登录后 24 小时自动失效
|
| 198 |
+
- ✅ **HttpOnly Cookie**:防止 XSS 攻击
|
| 199 |
+
- ✅ **SameSite 保护**:防止 CSRF 攻击
|
| 200 |
+
- ✅ **随机 Token**:使用加密安全的随机数生成
|
| 201 |
+
|
| 202 |
+
> 💡 详细文档:[管理后台登录功能使用说明](管理后台登录功能使用说明.md)
|
| 203 |
+
|
| 204 |
+
## 🔄 Token 管理
|
| 205 |
+
|
| 206 |
+
### 数据库方式(推荐)
|
| 207 |
+
|
| 208 |
+
项目使用 SQLite 数据库统一管理 Token,首次运行会自动初始化:
|
| 209 |
+
|
| 210 |
+
```bash
|
| 211 |
+
# 首次运行自动创建 tokens.db
|
| 212 |
+
python main.py
|
| 213 |
+
|
| 214 |
+
# 访问 Web 管理后台
|
| 215 |
+
http://localhost:8080/admin
|
| 216 |
+
```
|
| 217 |
+
|
| 218 |
+
### 管理后台功能
|
| 219 |
+
|
| 220 |
+
- ✅ **密码保护** - 安全的登录认证
|
| 221 |
+
- ✅ Token 增删改查
|
| 222 |
+
- ✅ 批量导入/导出
|
| 223 |
+
- ✅ 启用/禁用 Token
|
| 224 |
+
- ✅ Token 有效性检测
|
| 225 |
+
- ✅ 多提供商支持(Z.AI/K2Think/LongCat)
|
| 226 |
+
|
| 227 |
+
### Token 池机制
|
| 228 |
+
|
| 229 |
+
- **负载均衡**:轮询使用多个 Token 分散请求
|
| 230 |
+
- **自动容错**:Token 失败时自动切换
|
| 231 |
+
- **自动恢复**:失败 Token 超时后重试
|
| 232 |
+
- **智能去重**:自动检测重复 Token
|
| 233 |
+
- **回退机制**:认证失败自动降级匿名模式
|
| 234 |
+
|
| 235 |
+
## ❓ 常见问题
|
| 236 |
+
|
| 237 |
+
### Q: 如何获取 AUTH_TOKEN?
|
| 238 |
+
A: `AUTH_TOKEN` 是自定义的 API 密钥,用于客户端访问本服务,需在 `.env` 文件或 `docker-compose.yml` 中配置,确保客户端与服务端一致。
|
| 239 |
+
|
| 240 |
+
### Q: 匿名模式是什么?
|
| 241 |
+
A: 匿名模式使用临时 Token 访问 Z.AI,避免对话历史共享,保护隐私。设置 `ANONYMOUS_MODE=true` 启用。
|
| 242 |
+
|
| 243 |
+
### Q: 如何管理 Token?
|
| 244 |
+
A: 访问 Web 管理后台 http://localhost:8080/admin/tokens(需要先登录)即可增删改查 Token,支持批量导入导出。
|
| 245 |
+
|
| 246 |
+
### Q: 忘记管理后台密码怎么办?
|
| 247 |
+
A: 在 `.env` 文件或 `docker-compose.yml` 中修改 `ADMIN_PASSWORD` 为新密码,然后重启服务即可。
|
| 248 |
+
|
| 249 |
+
### Q: Docker 部署时数据库初始化失败?
|
| 250 |
+
A: 错误提示 `unable to open database file` 通常是权限问题。解决方案:
|
| 251 |
+
```bash
|
| 252 |
+
cd deploy
|
| 253 |
+
mkdir -p ./data ./logs
|
| 254 |
+
chmod 755 ./data ./logs
|
| 255 |
+
docker compose down && docker compose up -d --build
|
| 256 |
+
```
|
| 257 |
+
详见 [Docker 部署指南](deploy/README_DOCKER.md#故障排查)
|
| 258 |
+
|
| 259 |
+
### Q: 如何禁用管理后台登录?
|
| 260 |
+
A: 当前版本暂不支持禁用登录功能。如有需要,请手动移除路由中的 `dependencies=[Depends(require_auth)]`。
|
| 261 |
+
|
| 262 |
+
|
| 263 |
+
## 🔑 获取 Token
|
| 264 |
+
|
| 265 |
+
### Z.AI Token
|
| 266 |
+
|
| 267 |
+
1. 访问 [Z.AI 官网](https://chat.z.ai) 并登录
|
| 268 |
+
2. 按 F12 打开开发者工具
|
| 269 |
+
3. 进入 Application → Local Storage → Cookies
|
| 270 |
+
4. 复制 `token` 值
|
| 271 |
+
|
| 272 |
+
> ⚠️ 多模态功能需要非匿名 Token
|
| 273 |
+
|
| 274 |
+
### LongCat Token
|
| 275 |
+
|
| 276 |
+
1. 访问 [LongCat 官网](https://longcat.chat/) 并登录美团账号
|
| 277 |
+
2. 按 F12 打开开发者工具
|
| 278 |
+
3. 进入 "Application" -> "Local Storage" -> "Cookie"列表中找到名为`passport_token_key`的值
|
| 279 |
+
4. 复制 `passport_token_key` 值
|
| 280 |
+
|
| 281 |
+
## 🛠️ 技术栈
|
| 282 |
+
|
| 283 |
+
| 组件 | 技术 | 版本 | 说明 |
|
| 284 |
+
|------|------|------|------|
|
| 285 |
+
| Web 框架 | [FastAPI](https://fastapi.tiangolo.com/) | 0.116.1 | 高性能异步框架 |
|
| 286 |
+
| ASGI 服务器 | [Granian](https://github.com/emmett-framework/granian) | 2.5.2 | Rust 高性能服务器 |
|
| 287 |
+
| HTTP 客户端 | [HTTPX](https://www.python-httpx.org/) | 0.28.1 | 异步 HTTP 客户端 |
|
| 288 |
+
| 数据验证 | [Pydantic](https://pydantic.dev/) | 2.11.7 | 类型安全验证 |
|
| 289 |
+
| 数据库 | SQLite (aiosqlite) | 0.20.0 | Token 存储 |
|
| 290 |
+
| 模板引擎 | Jinja2 | 3.1.4 | Web 后台模板 |
|
| 291 |
+
| 日志系统 | [Loguru](https://loguru.readthedocs.io/) | 0.7.3 | 结构化日志 |
|
| 292 |
+
|
| 293 |
+
## 🏗️ 系统架构
|
| 294 |
+
|
| 295 |
+
```
|
| 296 |
+
┌─────────────┐ ┌────────────────────────────────┐ ┌──────────────┐
|
| 297 |
+
│ OpenAI │ │ FastAPI Server │ │ Z.AI API │
|
| 298 |
+
│ Client │─────▶│ │─────▶│ (GLM-4.x) │
|
| 299 |
+
└─────────────┘ │ ┌──────────────────────────┐ │ └──────────────┘
|
| 300 |
+
│ │ Provider Router │ │
|
| 301 |
+
│ │ ┌────────┬────────────┐ │ �� ┌──────────────┐
|
| 302 |
+
│ │ │ Z.AI │ K2Think │ │ │ │ K2Think API │
|
| 303 |
+
│ │ │Provider│ Provider │ │ │─────▶│ │
|
| 304 |
+
│ │ └────────┴────────────┘ │ │ └──────────────┘
|
| 305 |
+
│ │ ┌────────────┐ │ │
|
| 306 |
+
│ │ │ LongCat │ │ │ ┌──────────────┐
|
| 307 |
+
│ │ │ Provider │ │ │ │ LongCat API │
|
| 308 |
+
│ │ └────────────┘ │ │─────▶│ │
|
| 309 |
+
│ └──────────────────────────┘ │ └──────────────┘
|
| 310 |
+
│ │
|
| 311 |
+
│ ┌──────────────────────────┐ │
|
| 312 |
+
│ │ Web Admin Dashboard │ │
|
| 313 |
+
│ │ (Token/Stats/Monitor) │ │
|
| 314 |
+
│ └──────────────────────────┘ │
|
| 315 |
+
└────────────────────────────────┘
|
| 316 |
+
↕
|
| 317 |
+
┌─────────┐
|
| 318 |
+
│SQLite DB│
|
| 319 |
+
│(tokens) │
|
| 320 |
+
└─────────┘
|
| 321 |
+
```
|
| 322 |
+
|
| 323 |
+
## 🤝 贡献指南
|
| 324 |
+
|
| 325 |
+
欢迎提交 Issue 和 Pull Request!请确保代码符合 PEP 8 规范。
|
| 326 |
+
|
| 327 |
+
## ⭐ Star History
|
| 328 |
+
|
| 329 |
+
[](https://star-history.com/#ZyphrZero/z.ai2api_python&Date)
|
| 330 |
+
|
| 331 |
+
## 📄 许可证
|
| 332 |
+
|
| 333 |
+
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件。
|
| 334 |
+
|
| 335 |
+
## ⚠️ 免责声明
|
| 336 |
+
|
| 337 |
+
- 本项目与 Z.AI、K2Think、LongCat 等 AI 提供商官方无关
|
| 338 |
+
- 使用前请确保遵守各提供商的服务条款
|
| 339 |
+
- 请勿用于商业用途或违反使用条款的场景
|
| 340 |
+
- 项目仅供学习和研究使用
|
| 341 |
+
- 用户需自行承担使用风险
|
| 342 |
+
|
| 343 |
+
---
|
| 344 |
+
|
| 345 |
+
<div align="center">
|
| 346 |
+
Made with ❤️ by the community
|
| 347 |
+
</div>
|