OpenAI 兼容的 API 接口文档
ZtoApi 是一个为 Z.ai GLM-4.5 模型提供 OpenAI 兼容 API 接口的代理服务器。
基础 URL
https://zto2api.deno.dev/v1
所有 API 请求都需要在请求头中包含 Bearer Token:
Authorization: Bearer $你设置的 DEFAULT_KEY
/v1/models
获取可用模型列表
curl https://zto2api.deno.dev/v1/models \ -H "Authorization: Bearer $你设置的 DEFAULT_KEY"
/v1/chat/completions
创建聊天完成(支持流式和非流式)
model
string, 必需 - 模型名称 (如 "GLM-4.5")
messages
array, 必需 - 消息列表
stream
boolean, 可选 - 是否流式响应(默认: true)
enable_thinking
boolean, 可选 - 是否启用思考功能
curl -X POST https://zto2api.deno.dev/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $你设置的 DEFAULT_KEY" \
-d '{
"model": "GLM-4.5",
"messages": [
{"role": "user", "content": "你好"}
],
"stream": false
}'
import openai
client = openai.OpenAI(
api_key="$你设置的 DEFAULT_KEY",
base_url="https://zto2api.deno.dev/v1"
)
response = client.chat.completions.create(
model="GLM-4.5",
messages=[{"role": "user", "content": "你好"}]
)
print(response.choices[0].message.content)
ZtoApi 支持四种 Token 管理策略,优先级从高到低:
通过 | 分隔配置多个 token,每次请求随机选择
export ZAI_TOKEN="token1|token2|token3"
适用于单一账号,稳定性高
export ZAI_TOKEN="your-fixed-token"
从 Deno KV 数据库随机选择 token,支持多账号负载均衡
export KV_URL="https://api.deno.com/databases/xxx/connect"
每次请求自动获取临时 token
# 不设置任何环境变量即可
通过 zai_register.ts 批量注册 Z.ai 账号并存储到 Deno KV,然后让 main.ts 从同一个 KV 读取 token 使用。
首先部署批量注册工具到 Deno Deploy:
# 克隆仓库 git clone https://github.com/dext7r/ZtoApi.git cd ZtoApi/deno/zai # 部署到 Deno Deploy deno task deploy-register # 或者本地运行 deno run --allow-net --allow-env --allow-read zai_register.ts
📌 访问 http://localhost:8001 批量注册账号
在 Deno Deploy Dashboard 中获取 KV 连接 URL:
https://api.deno.com/databases/3e00b51f-xxx/connect
在 main.ts 的环境变量中配置 KV_URL:
# .env.local 文件 KV_URL=https://api.deno.com/databases/3e00b51f-xxx/connect # 或者在 Deno Deploy 环境变量中添加 # 变量名: KV_URL # 变量值: https://api.deno.com/databases/3e00b51f-xxx/connect
启动服务,查看日志确认 KV Token Pool 已启用:
deno task start # 查看日志输出 🔑 Token strategy: KV token pool (https://api.deno.com/...) KV token pool initialized: https://api.deno.com/... Selected token from KV pool: xxx@domain.com (10 accounts available)
zai_register.ts 批量注册账号并存储到 Deno KV 的 ["zai_accounts", timestamp, email] 键
main.ts 从同一个 KV 读取所有账号列表