基于 FastAPI + Granian 的 GLM 代理服务 适合本地开发、自托管代理、Token 池管理和兼容客户端接入
- 兼容
OpenAI、Claude Code、Anthropic风格请求 - 支持流式响应、工具调用、Thinking 模型
- 内置 Token 池,支持轮询、失败熔断、恢复和健康检查
- 提供后台页面:仪表盘、Token 管理、配置管理、实时日志
- 使用 SQLite 存储 Token 和请求日志,部署简单
- 支持本地运行和 Docker / Docker Compose 部署
- Python
3.9到3.12 - 推荐使用
uv
git clone https://github.com/ZyphrZero/z.ai2api_python.git
cd z.ai2api_python
uv sync
cp .env.example .env
uv run python main.py首次启动会自动初始化数据库。
默认地址:
- API 根路径:
http://127.0.0.1:8080 - OpenAI 文档:
http://127.0.0.1:8080/docs - 管理后台:
http://127.0.0.1:8080/admin
docker compose -f deploy/docker-compose.yml up -d --build更多部署说明见 deploy/README_DOCKER.md。
至少建议确认这些环境变量:
| 变量 | 说明 |
|---|---|
AUTH_TOKEN |
客户端访问本服务使用的 Bearer Token |
ADMIN_PASSWORD |
管理后台登录密码,默认值必须修改 |
LISTEN_PORT |
服务监听端口,默认 8080 |
ANONYMOUS_MODE |
是否启用匿名模式 |
GUEST_POOL_SIZE |
匿名池容量 |
DB_PATH |
SQLite 数据库路径 |
TOKEN_FAILURE_THRESHOLD |
Token 连续失败阈值 |
TOKEN_RECOVERY_TIMEOUT |
Token 恢复等待时间 |
完整配置请看 .env.example。
管理后台统一入口:
/admin:仪表盘/admin/tokens:Token 管理/admin/config:配置管理/admin/logs:实时日志
# 启动服务
uv run python main.py
# 运行测试
uv run pytest
# 运行一个现有 smoke test
uv run python tests/test_simple_signature.py
# Lint
uv run ruff check app tests main.py常见接口入口:
- OpenAI 兼容:
/v1/chat/completions - Anthropic 兼容:
/v1/messages - Claude Code 兼容:
/anthropic/v1/messages
模型映射和默认模型可在 .env 或后台配置页中调整。
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
- 本项目仅供学习和研究使用,切勿用于其他用途
- 本项目与 Z.AI 官方无关
- 使用前请确保遵守 Z.AI 的服务条款
- 请勿用于商业用途或违反使用条款的场景
- 用户需自行承担使用风险
Made with ❤️ by the community