极简 AI Gateway — 一个文件,一条命令,把任何 OpenAI 兼容 API 变成你自己的网关。
市面上的 AI 网关(OneAPI、NewAPI、LobeChat 等)动辄几百 MB 镜像、MySQL/PostgreSQL/Redis 全家桶、Docker Compose 一拉一大坨。
A计划的答案是:一个 Python 文件 + 一个 HTML 文件 = 完整网关。
| 指标 | A计划 | OneAPI / NewAPI |
|---|---|---|
| 核心代码 | 799 行 Python + 1629 行 HTML | 数万行 Go,前端 React 全家桶 |
| 项目体积 | 169 KB(不含数据) | Docker 镜像 150-300 MB |
| 运行内存 | ~70 MB | 200-500 MB(含 MySQL) |
| 外部依赖 | 0(无数据库、无 Redis、无 Docker) | MySQL / PostgreSQL + Redis |
| 部署方式 | bash setup.sh,2 秒启动 |
Docker Compose + 数据库初始化 |
| 最低配置 | 任意 Linux / Mac,Python 3.10+ | 1C2G 起步,需要 Docker |
A计划不只是转发请求,它伪装成正常的 OpenAI SDK 客户端:
- UA 池轮换:随机模拟多种主流浏览器 User-Agent,避免被上游识别为自动化请求
- 响应头清洗:剥离上游返回的
x-oneapi-request-id、x-new-api-version、server等特征头,下游客户端看不到后端架构 - 零泄露:不转发
X-Forwarded-For、X-Real-IP,上游无法获取你的真实客户端 IP
上游看你就是一个普通用户在用官方 SDK 调 API,看不出中间有网关。
- ✅ OpenAI 兼容 —
/v1/chat/completions、/v1/models,直接对接任何 OpenAI 兼容客户端 - ✅ 流式转发 — 支持 SSE 流式响应,实时输出
- ✅ 多渠道管理 — 添加多个上游,不同 Key、不同地址,统一管理
- ✅ 负载均衡 — 自动轮询 / 加权轮询,同模型多渠道自动分配
- ✅ 模型测速 — 一键测试每个模型到上游的延迟
- ✅ 数据加密 — 所有配置、Key、日志用 Fernet 加密存储,磁盘上看不到明文
- ✅ 管理面板 — 内置 Web 后台,看板统计、渠道管理、Key 管理、请求日志
- ✅ 零配置认证 — 开放模式(不校验 Key)或 Key 认证模式,自由切换
git clone https://github.com/plhys/a-jihua.git
cd a-jihua
bash setup.sh安装脚本会自动:
- 检查 Python 3.10+
- 安装 4 个依赖(fastapi、uvicorn、httpx、cryptography)
- 生成随机管理密码写入
.env - 告诉你怎么启动
启动:
source .env && export A_ADMIN_PASSWORD A_PORT && python3 server.py打开 http://localhost:18788,输入密码,添加你的上游渠道,完事。
通过环境变量配置,也可以写在 .env 文件里:
| 变量 | 说明 | 默认值 |
|---|---|---|
A_ADMIN_PASSWORD |
管理后台密码 | changeme |
A_PORT |
监听端口 | 18788 |
a-jihua/
├── server.py # 后端(799行,全部逻辑)
├── index.html # 前端(管理面板)
├── setup.sh # 一键安装
├── .env.example # 环境变量示例
├── .gitignore
└── data/ # 运行时数据(自动创建,已加密)
├── config.enc # 渠道配置
├── keys.enc # API Keys
├── stats.enc # 统计数据
└── ...
MIT
李不是狼 & 妖妖酒(AI Assistant #119)