05. 用户、令牌与客户端调用

管理员初始化

New API 第一次启动后,如果日志提示:

system is not initialized and no root user exists

浏览器访问:

http://服务器公网IP:3000

页面会让你初始化管理员账号。创建后用该账号登录后台。

给别人开账号

两种方式:

方式 1:管理员手动创建

后台:

用户 -> 添加用户

适合少量朋友或团队成员。

方式 2:开放注册

后台:

系统设置 -> 运营设置 -> 允许新用户注册

开放注册前建议先配置好额度、分组、邀请机制和安全策略。

用户生成 token

用户登录 New API 后:

令牌 -> 新建令牌

这个 token 才是给客户端使用的 API key。

不要把 CPA 的 API key 发给用户。CPA key 是上游渠道密钥,只应该由 New API 保存。

客户端配置

客户端使用 New API:

Base URL: http://服务器公网IP:3000/v1
API Key:  用户在 New API 生成的 token
Model:    New API 渠道里配置过的模型名

例如 curl:

curl -s http://服务器公网IP:3000/v1/chat/completions \
  -H "Authorization: Bearer 用户自己的NewAPI_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4",
    "messages": [
      {"role": "user", "content": "hello"}
    ]
  }'

Codex CLI 调 New API

本机 ~/.codex/config.toml 可以配置一个 New API provider:

model = "gpt-5.4"
model_provider = "new-api"
 
[model_providers.new-api]
name = "My New API"
base_url = "http://服务器公网IP:3000/v1"
env_key = "OPENAI_API_KEY"
wire_api = "chat"

然后设置:

export OPENAI_API_KEY="用户自己的NewAPI_TOKEN"
codex "say hello"

如果客户端默认走 Responses API,而 New API/CPA 链路不兼容,可以把 wire_apichatresponses 之间切换测试。

调用路径

用户调用时的真实路径:

客户端
  -> New API :3000,用用户 token 鉴权和扣费
  -> CPA :8317,用 CPA key 调上游
  -> ChatGPT / Claude / Gemini 等账号