zen2api-re 部署与使用指南:将 AI 工具逆向为跨平台 API 代理

最近在 GitHub 上发现了一个很有意思的项目 zen2api-re,它把原本只能在 Windows 上运行的 AI 工具逆向成了跨平台的 Python 应用,支持 Linux、Ubuntu 甚至 Android Termux。对于想自建 AI API 代理的同学来说,非常实用。

项目概览

zen2api-re 包含两个核心 API 代理服务和一个 Web 管理面板:

服务 说明 默认端口
zen2api OpenAI / Anthropic / Kilo 多模型代理 9016
grok2api Grok API 代理 8021
Web UI 中文管理控制面板 8081

技术栈方面,后端使用 FastAPI + Uvicorn,HTTP 客户端用 httpx(zen2api)和 aiohttp(grok2api),前端则是纯 HTML/CSS/JS 单文件,零外部依赖。Python 版本要求 3.10+,兼容 3.12。

逆向原理

项目通过以下步骤从原始 Windows EXE 重建:

  1. 使用 pyinstxtractor 提取 PyInstaller 打包的 Python 字节码
  2. 使用 strings 分析提取模块结构和函数签名
  3. 手动重建 Python 源码(功能等效,非字节级一致)
  4. 移除卡密验证和 AnyRouter 功能
  5. 适配 Linux / Termux 环境

部署步骤

1. 克隆仓库

git clone https://github.com/ymymssss/zen2api-re.git
cd zen2api-re

2. 安装依赖

# zen2api 依赖
pip install -r zen2api/requirements.txt

# grok2api 依赖
pip install -r grok2api/requirements.txt

Termux 用户注意:如果编译报错,先装基础工具:

pkg install python build-essential openssl
pip install --upgrade pip
pip install -r requirements.txt

3. 配置环境变量

# 复制配置模板
cp zen2api/.env.template zen2api/.env
cp grok2api/.env.template grok2api/.env

# 编辑配置
nano zen2api/.env
nano grok2api/.env

zen2api 的主要环境变量:

变量名 默认值 说明
ZEN2API_HOST 127.0.0.1 监听地址
ZEN2API_PORT 9016 监听端口
ZEN2API_KEY (空) API Key(留空则不验证)
ZEN2API_LOG_LEVEL INFO 日志级别
ZEN2API_MODEL_DISCOVERY_ENABLED true 自动发现模型

grok2api 的环境变量:

变量名 默认值 说明
ZEN2API_GROK2API_HOST 127.0.0.1 监听地址
ZEN2API_GROK2API_PORT 8021 监听端口

4. 启动服务

一键启动:

# 启动 zen2api
cd zen2api && ./start.sh &

# 启动 grok2api
cd grok2api && ./start.sh &

# 启动 Web 管理面板(尚不完善)
cd webui && python3 -m http.server 8081 &

或者手动指定端口启动:

# zen2api
cd zen2api && python3 -m uvicorn app.main:app --host 0.0.0.0 --port 9016

# grok2api
cd grok2api && python3 -m uvicorn app.main:app --host 0.0.0.0 --port 8021

如果需要后台运行:

nohup python3 -m uvicorn app.main:app --host 0.0.0.0 --port 9016 > zen2api.log 2>&1 &

停止服务:

pkill -f "uvicorn app.main:app"
pkill -f "http.server"

使用方法

服务启动后,可以通过以下地址访问:

服务 地址
Web 管理面板 http://127.0.0.1:8081
zen2api API http://127.0.0.1:9016
grok2api API http://127.0.0.1:8021

zen2api 接口调用

# 健康检查
curl http://127.0.0.1:9016/health

# 查看可用模型
curl http://127.0.0.1:9016/v1/models

# 发送聊天请求
curl http://127.0.0.1:9016/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"minimax-m2.5-free","messages":[{"role":"user","content":"你好"}]}'

# 查看统计
curl http://127.0.0.1:9016/stats

grok2api 接口调用

# 健康检查
curl http://127.0.0.1:8021/health

# 查看模型
curl http://127.0.0.1:8021/v1/models

由于接口兼容 OpenAI API 格式,可以直接将 http://127.0.0.1:9016/v1 作为 base_url 配置到任何支持自定义 API 端点的客户端中,比如 ChatBox、OpenCat、LobeChat 等。

Web 管理面板

打开 http://127.0.0.1:8081 即可使用中文管理面板,功能包括:

  • 服务控制:查看 zen2api / grok2api 运行状态
  • 统计仪表盘:总请求数、今日请求、Token 用量、缓存命中率
  • 数据图表:请求趋势、Token 趋势、状态码分布、Token 结构
  • 配置管理:在线修改 Host / Port / API Key

需要注意的是,Web UI 目前标注为”不完善”状态,核心统计和图表功能可能还在迭代中。

常见问题

端口被占用? 修改 .env 中的端口号,或启动时手动指定:

python3 -m uvicorn app.main:app --host 0.0.0.0 --port 9999

Termux 安装依赖失败?

pkg install python build-essential openssl
pip install --upgrade pip
pip install -r requirements.txt

小结

zen2api-re 是一个实用的逆向工程项目,将 Windows 专用的 AI 工具转化为跨平台的 API 代理服务。部署简单,依赖少,特别适合在 VPS 或 Termux 上自建 AI 代理。Web 管理面板虽然还在完善中,但基本的服务控制和配置管理已经可用。如果你有自建 AI API 的需求,值得试试。


项目地址:https://github.com/ymymssss/zen2api-re