g2api-test / README.md
misonL's picture
Refactor config, add multi-SSO support and admin panel
4c80e05
|
Raw
History Blame Contribute Delete
5.36 kB
metadata
title: Grok API Remodel
emoji: 🚀
colorFrom: blue
colorTo: purple
sdk: docker
app_file: app.py
pinned: false

Grok API 逆向封装与改造项目

项目简介

本项目基于 https://github.com/xLmiler/grok2api_python 进行二次开发改造。旨在将现有的 Grok 网页版逆向封装为 API 的 Python Flask 程序进行全面改造。改造目标是构建一个结构专业、功能完善(包含 Web UI)、文档齐全且易于部署的应用。项目严格遵守内存数据模式,所有运行时数据仅存储在内存中,不进行本地持久化。

功能列表

  • Grok API 封装: 提供稳定可靠的 API 接口,用于访问 Grok 的核心功能。
  • Web UI 系统状态展示: 提供一个直观的 Web 界面,展示应用程序的当前运行状态和关键信息(此功能正在开发中)。
  • 模块化代码结构: 代码按照功能和职责进行拆分,提高了可维护性和可读性。
  • Hugging Face Spaces Docker 部署支持: 提供 Dockerfile 和相关配置,方便在 Hugging Face Spaces 等支持 Docker 的平台上进行快速部署。

安装部署

本项目支持使用 Docker 在 Hugging Face Spaces 上进行部署。

前提条件

  • 已安装 Docker。
  • 已安装 Python 3.8 或更高版本。
  • 拥有 Hugging Face 账号。

本地运行 (使用 Docker)

  1. 克隆项目仓库:
    git clone <你的仓库地址>
    cd <项目目录>
    
  2. 构建 Docker 镜像:
    docker build -t grok-api-remodel .
    
  3. 运行 Docker 容器:
    docker run -p 7860:7860 grok-api-remodel
    
    应用程序将在本地的 7860 端口运行。

部署到 Hugging Face Spaces (使用 Docker)

  1. 在 Hugging Face Spaces 上创建一个新的 Space。
  2. 选择 Docker 作为 Space SDK。
  3. 将本项目仓库关联到你的 Hugging Face Space。
  4. Hugging Face Spaces 将会自动检测项目根目录下的 Dockerfile 并进行构建和部署。确保你的 Dockerfile 配置正确,暴露了 Flask 应用运行的端口(默认为 7860)。

配置说明

本项目通过环境变量管理大部分配置项。您可以在项目根目录下创建 .env 文件来设置这些环境变量。

主要环境变量列表:

  • IS_TEMP_CONVERSATION: 是否使用临时对话模式(默认为 true)。
  • IS_CUSTOM_SSO: 是否使用自定义 SSO 令牌模式(默认为 false)。
  • API_BASE_URL: Grok API 的基础 URL(默认为 https://grok.com)。
  • API_KEY: 用于访问本程序 API 的密钥(默认为 sk-123456)。
  • PICGO_KEY: PicGo 图床的 API 密钥(可选)。
  • TUMY_KEY: Tumy 图床的 API 密钥(可选)。
  • PROXY: HTTP/HTTPS 代理地址(可选)。
  • MANAGER_SWITCH: 是否开启管理页面(可选,默认为关闭)。
  • ADMINPASSWORD: 管理页面的访问密码(可选,开启管理页面时需要设置)。
  • CF_CLEARANCE: Cloudflare 的 cf_clearance cookie 值(可选)。
  • PORT: 应用程序监听的端口(默认为 7860)。
  • FLASK_SECRET_KEY: Flask 应用程序的 Secret Key,用于会话管理(如果未设置,将自动生成)。
  • SSO: Grok SSO 令牌,多个令牌使用逗号分隔。

示例 .env 文件内容:

IS_TEMP_CONVERSATION=true
API_KEY=your_api_key_here
PORT=7860
SSO=sso_token_1,sso_token_2

请根据您的实际需求配置这些环境变量。

API 使用指南

项目的 API 接口提供了对 Grok 功能的访问。详细的 API 文档(包括可用端点、请求方法、参数和响应格式)将在后续提供。

通常,你可以通过向部署后的应用程序 URL 发送 HTTP 请求来使用 API。例如:

curl -X POST <部署后的应用URL>/api/<端点> \
-H "Content-Type: application/json" \
-d '{"key": "value"}'

请参考后续提供的详细 API 文档以获取准确的使用方法。

Web UI 使用说明

项目的 Web UI 提供了一个界面来监控应用程序的状态。部署成功后,直接访问应用程序的根 URL 即可访问 Web UI。

例如:<部署后的应用URL>/

Web UI 将展示包括但不限于:

  • 应用程序启动时间
  • 当前内存使用情况
  • API 请求统计(如果实现)
  • 其他系统健康指标

注意事项

  • 内存数据模式: 本项目设计为仅使用内存存储数据。这意味着应用程序重启后,所有运行时数据将丢失。请勿依赖本项目进行数据持久化。
  • 速率限制: 底层 Grok API 可能存在速率限制。本项目目前可能未实现复杂的速率限制处理。在使用 API 时,请注意 Grok 自身的速率限制,避免因请求频率过高导致服务不可用。
  • 安全性: 在生产环境部署时,请务必采取适当的安全措施,例如使用 HTTPS、API 密钥管理等。

项目阶段

本项目正在逐步开发中,遵循以下阶段计划:

  • 阶段 1: 规划与设计 (已完成)
  • 阶段 2: 核心功能实现 (已完成)
  • 阶段 3: 文档与部署 (当前阶段)
    • 3.1 编写 README.md 文档 (当前任务)
    • 3.2 准备 Docker 部署配置
    • 3.3 编写详细部署文档
  • 阶段 4: Web UI 完善与优化
  • 阶段 5: 测试与发布

感谢你的关注和支持!